我用正态记分做了一下,但是感觉结果不大对
##正态记分检验
ns=function(x,m0){x1=x-m0
r=rank(abs(x1))
s=qnorm(0.5*(1+r/(length(x)+1)))sign(x1)
tt=sum(s)/sqrt(sum(s^2))
list(two.sided.pvalue=2min(pnorm(tt),pnorm(tt,low=F)),
T=tt,s)}
x=Boston$medv
ns(x,21.2)
做出来了,分享给后人
library(MASS)
data(Boston) #medv是房价中位数
plot(Boston$medv)
m0=median(Boston$medv, na.rm = FALSE) #求中位数
splus=sum(Boston$medv>m0)
sminus=sum(Boston$medv<m0)
k=min(splus,sminus);k
n=sum(splus,sminus);n
binom.test(k,n,0.5)#符号检验
wilcox.test(Boston$medv-m0)#wilcox符号秩检验
plot(density(Boston$medv))#分布图