# # 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. # # EPage 505-508 # #----- source('wilcoxon_signed_rank_test.R') # Ex 15.1: EPage 607; Anwsers EPage 708 # data = c( 105.6, 90.9, 91.2, 96.9, 96.5, 91.3, 100.1, 105.0, 99.6, 107.7, 103.3, 92.4 ) out = wilcoxon_signed_rank_test( data, 100 ) print( out ) c = 64 n = length(data) n*(n+1)/2 - c # Ex 15.2: # data = c( 25.8, 36.6, 26.3, 21.8, 27.2 ) out = wilcoxon_signed_rank_test( data, 25 ) print( out ) # Ex 15.3: # data = c( 7.02, 7.35, 7.34, 7.17, 7.28, 7.77, 7.09, 7.22, 7.45, 6.95, 7.40, 7.10, 7.32, 7.14 ) out = wilcoxon_signed_rank_test( data, 7.39 ) print( out ) c = 84 n = length( data ) n*(n+1)/2 - c # Ex 15.4: # data = c( 30.6, 30.1, 15.6, 26.7, 27.1, 25.4, 35.0, 30.8, 31.9, 53.2, 12.5, 23.2, 8.8, 24.9, 30.2 ) out = wilcoxon_signed_rank_test( data, 30 ) print( out ) c_1 = 83 n = length( data ) n*(n+1)/2 - c_1 # Ex 15.5: # data_gravimetric = c( 54.7, 58.5, 66.8, 46.1, 52.3, 74.3, 92.5, 40.2, 87.3, 74.8, 63.2, 68.5 ) data_spectro = c( 55.0, 55.7, 62.9, 45.5, 51.1, 75.4, 89.6, 38.4, 86.8, 72.5, 62.3, 66.0 ) data_diff = data_gravimetric - data_spectro out = wilcoxon_signed_rank_test( data_diff ) c_1 = 64 n = length( data_diff ) n*(n+1)/2 - c_1 # Ex 15.6: Ex 41 Section 9.3 EPage 352 # data_black = c( 25.85, 28.84, 32.05, 25.74, 20.89, 41.05, 25.01, 24.96, 27.47 ) data_white = c( 18.23, 20.84, 22.96, 19.68, 19.50, 24.98, 16.61, 16.07, 24.59 ) data_diff = data_black - data_white out = wilcoxon_signed_rank_test( data_diff ) c_1 = 39 n = length( data_diff ) n*(n+1)/2 - c_1 # Ex 15.7: Problem EPage 607; Exercise 37 Section 9.3 EPage 351: # using the large sample version of this test # data_indoor = c( .07, .08, .09, .12, .12, .12, .13, .14, .15, .15, .17, .17, .18, .18, .18, .18, .19, .20, .22, .22, .23, .23, .25, .26, .28, .28, .29, .34, .39, .40, .45, .54, .62 ) data_outdoor = c( .29, .68, .47, .54, .97, .35, .49, .84, .86, .28, .32, .32, 1.55, .66, .29, .21, 1.02, 1.59, .90, .52, .12, .54, .88, .49, 1.24, .48, .27, .37, 1.26, .70, .76, .99, .36 ) data_diff = data_outdoor - data_indoor out = wilcoxon_signed_rank_test( data_diff, 0.2 ) n = length(data_diff) z = ( out$s_plus - n*(n+1)/4 ) / sqrt( n*(n+1)*(2*n+1)/24 ) p_value = 2*(1-pnorm(abs(z))) # Ex 15.8: # data = c( 69.5, 71.9, 72.6, 73.1, 73.3, 73.5, 74.1, 74.2, 75.3, 75.5, 75.7, 75.8, 76.1, 76.2, 76.2, 76.9, 77.0, 77.9, 78.1, 79.6, 79.7, 80.1, 82.2, 83.7, 93.7 ) mu_0 = 75 n = length(data) out = wilcoxon_signed_rank_test( data, mu_0 ) z = ( out$s_plus - n*(n+1)/4 ) / sqrt( n*(n+1)*(2*n+1)/24 ) p_value = 1-pnorm(z)