# # Written by: # -- # John L. Weatherwax 2009-04-21 # # email: wax@alum.mit.edu # # Please send comments and especially bug reports to the # above email address. # #----- source('wilcoxon_rank_sum_interval.R') source('wilcoxon_rank_sum_test.R') source('friedmans_test.R') # Ex 15.28: EPage 622; Anwsers EPage 708 # DF = read.csv( "../../Data/CH15/ex15-28.txt", header=TRUE, quote="'" ) x_data = DF[ DF$'diet' == 'Potato', ]$cholesterol y_data = DF[ DF$'diet' == 'Rice', ]$cholesterol out = wilcoxon_rank_sum_test( x_data, y_data ) print( out$w ) # Ex 15.29: EPage 621; Anwsers EPage 708 # DF = read.csv( "../../Data/CH15/ex15-29.txt", header=TRUE, quote="'" ) out = kruskal_wallis_test( DF, 'Year', 'cancellations', alpha=0.05 ) # using Kruskal-Wallis print( out ) out = friedmans_test( DF, 'Salesperson', 'Year', 'cancellations', alpha=0.05 ) # using Friedmans' test print( out ) # Ex 15.30: EPage 621; Anwsers EPage 708 # DF = read.csv( "../../Data/CH15/ex15-30.txt", header=TRUE, quote="'" ) out = kruskal_wallis_test( DF, 'treatments', 'phosphorus', alpha=0.05 ) # using Kruskal-Wallis print( out ) # Ex 15.31: EPage 618; Anwsers EPage 708; Exercise 11 EPage 613 # DF = read.csv( "../../Data/CH15/ex15-30.txt", header=TRUE, quote="'" ) x_data = DF[ DF$treatments == 'II', ]$phosphorus y_data = DF[ DF$treatments == 'III', ]$phosphorus c = 22 out = wilcoxon_rank_sum_interval( x_data, y_data, c ) print( out ) # Ex 15.32: EPage 622; Anwsers EPage 708 # DF = read.csv( "../../Data/CH15/ex15-32.txt", header=TRUE, quote="'" ) x_data = DF[ DF$'gait.type' == 'Diagonal', ]$times y_data = DF[ DF$'gait.type' == 'Lateral', ]$times out = wilcoxon_rank_sum_test( x_data, y_data ) print( out$w ) # Part (b) 95% CI: ci_outer = outer( x_data, y_data, FUN="-" ) ci_sorted = sort( as.vector( ci_outer ) ) ci_sorted[8] ci_sorted[35] # Ex 15.33/34: EPage 622; Anwsers EPage 708 # DF = read.csv( "../../Data/CH15/ex15-33.txt", header=TRUE, quote="'" ) num_gt_25 = sum( DF > 25 ) tilde_mus = unique( DF$Observations ) thresholds = tilde_mus did_not_reject = c() for( t in thresholds ){ num_gt = sum( DF > t ) if( (num_gt > 5) & (num_gt < 15) ){ did_not_reject = c( did_not_reject, t ) } } print( did_not_reject )