R语言符号秩检验及其应用
2022-03-22 本文已影响0人
Cache_wood
@[toc]
符号秩检验
假设某城市16座预出售的楼盘均价(单位:百元/m2),该地平均楼盘价格是否与媒体公布的3700元/m^2的说法相符?
build.price<-c(36,32,31,25,28,36,40,32,41,26,35,35,32,87,33,35)
binom.test(sum(build.price>37),length(build.price),0.5)
连续性修正
pfun<-function(n,p0)
{
k<-0:n; mu.val<-n*p0
sd.val<-sqrt(n*p0*(1-p0))
index<-sign(k-mu.val)
p.true<-pbinom(k,n,p0)
p.norm<-pnorm(k,mu.val,sd=sd.val)
p.adjnorm<-pnorm(k-0.5*index,mu.val,sd=sd.val)
p.adjnorm0<-pnorm(k+0.5,mu.val,sd=sd.val)
p.adjnorm1<-pnorm(k+0.5*index,mu.val,sd=sd.val)
list(k=k,p.true=p.true,p.norm=p.norm,p.adjnorm0=p.adjnorm0,
p.adjnorm=p.adjnorm,p.adjnorm1=p.adjnorm1)
}
pre<-pfun(20,0.5)
plot(pre$k,pre$p.true,type='l',xlab='k',ylab=expression(P(X<=k)))
lines(pre$k,pre$p.norm,col=2)
legend('topleft',c('binomial','normal approximation'),col=1:2,lty=1)
配对样本比较(双边检验)
如右表是某种商品在12家超市促销活动前后的销售额对比表,用符号检验分析促销活动的效果如何?(𝜶=𝟎.𝟎𝟓)
pre<-c(42,57,38,49,63,36,48,58,47,51,83,27)
pest<-c(40,60,38,47,65,39,49,50,47,52,72,33)
spostive<-sum(pre>pest)
snegative<-sum(pre<pest)
nsample<-spostive+snegative
min = min(spostive,snegative)
binom.test(min,nsample,alternative = "two.sided")
Exact binomial test
data: min and nsample
number of successes = 4, number of trials =
10, p-value = 0.7539
alternative hypothesis: true probability of success is not equal to 0.5
95 percent confidence interval:
0.1215523 0.7376219
sample estimates:
probability of success
0.4
配对样本比较(单边检验)
下表显示了12例患有关节炎的患者使用两种镇痛药所能缓解的时间。 有没有证据表明一种药物比另一种药物提供更长的缓解时间?
drugA<-c(2,3.6,2.6,2.6,7.3,3.4,14.9,6.6,2.3,2,6.8,8.5)
drugB<-c(3.5,5.7,2.9,2.4,9.9,3.3,16.7,6,3.8,4,9.1,20.9)
spostive<-sum(drugB>drugA)
snegative<-sum(drugA>drugB)
nsample<-spostive+snegative
binom.test(spostive,nsample,alternative = "greater")
drugA<-c(2,3.6,2.6,2.6,7.3,3.4,14.9,6.6,2.3,2,6.8,8.5)
drugB<-c(3.5,5.7,2.9,2.4,9.9,3.3,16.7,6,3.8,4,9.1,20.9)
spostive<-sum(drugB>drugA)
snegative<-sum(drugA>drugB)
spostive
snegative
nsample<-spostive+snegative
binom.test(spostive,nsample,alternative = "greater")
Cox-Staut趋势检验
天津机场从1995年1月到2003年12月的108个月旅客吞吐量(人次)如下表. 从这些数据,我们能否说明这个差额总的趋势是增长,还是减少,还是都不明显呢?
data<-c(54379,45461,55408,59712,60776,57635,63335,71296,70250,
76866,75561,66427, 61330,58186,67799,76360,86207,75509,
83020,89614,75791,80835,72179, 61520,66726,60629,68549,
73310,80719,67759,70352,82825,70541,74631,68938,53318,
62653,58578,63292,69535,73379,62859,72873,87260,67559,
76647,70590,58935,58161,64057,63051,58807,63663,57367,
70854,79949,66992,80140,62260,55942, 58367,56673,61039,
74958,85859,67263,87183,97575,79988,88501,68600,58442,
68955,56835,67021,81547,85118,70145,95080,106186,86103,
88548,70090,65550,69223,85138,89799, 99513,98114,68172,
97366,116820,95665,109881,87068,75362,88268,85183,87909,
79976,27687,50178,100878,131788,116293,120770,104958,109603)
month<-1:length(data)
lm(month~data)
plot(month,data)
lines(month,data,col='blue')
anova(lm(month~data))