如果作者不给原始数据的,可以估算一下。
当然,这不算作假。
试了一下,还是比较接近正态曲线的。
代码如下:
a<-read.csv("具体路径/表.txt",head=F,sep=',')
#文件路径要改!
a2<-a[,-1] #删除第1列的时间点
l<-c(0.01,0.03,0.05,0.10,0.50,0.90,0.95,0.97,0.99) #纵坐标
rows<-nrow(a2)
for(i in 1:rows){
plot(as.numeric(a2[i,]), l, ylab="百分位", type='b', xlab=paste('第',a[i,1],'周'))
#实际已经可看到接近标准的logisitc曲线
#考虑正态分布N(0,1)里,3%的百分位数对应的是-1.88。
#即qnorm(0.03)=-1.880794, qnorm(0.97)=1.880794
#考虑以p=0.05时,x+-1.96s包含95%的区间,对应的p=0.06时,x+-1.88s包含94%的区间,并以平均值约等于中位数的话,
#平均值+1.88*标准差=97%对应数值,
#平均值-1.88*标准差=3%对应数值,
#两者相减,差不多正好是标准差=(97%对应数值-3%对应数值)/2/1.88,故估算方差如下:
sd1= (a2[i,8]-a2[i,2])/2/1.88
#以此估算一个累积密度图,做标准图像参考了。
plot(ecdf(rnorm(1000,mean=a2[i,5], sd=sd1)),add=T, col='red')
#将50%的参考线标出
abline(v=a2[i,5],col='green')
abline(h=0.5, col='green')
Sys.sleep(1)
}