我写了一些R代码,它产生置信区间的限制以及每个置信区间覆盖真实参数的信息。我想要想象一下,但不知道如何。
confInt <- function(runs){
result<-NULL
vleft<-NULL
vright<-NULL
for (i in 1:runs) {
data<-rnorm(1000)
n<-length(data)
a<-mean(data)
s<-sd(data)
error <- qnorm(0.975)*s/sqrt(n)
left <- a-error
right <- a+error
result[i] = left<0 & 0<right
vleft[i] = left
vright[i] = right
}
data.frame(result,vleft,vright)
}
confInt(100)
编辑:我找到了使用ggplot2
confInt <- function(runs){
x<-1:runs
mu<-NULL
sigma<-NULL
result<-NULL
vleft<-NULL
vright<-NULL
for (i in 1:runs) {
data<-rnorm(1000)
n<-length(data)
a<-mean(data)
mu[i]<-a
s<-sd(data)
sigma[i]<-s
error <- qnorm(0.975)*s/sqrt(n)
left <- a-error
right <- a+error
result[i] = left<0 & 0<right
vleft[i] = left
vright[i] = right
}
data.frame(x,mu,sigma,result,vleft,vright)
}
df<-confInt(100)
require(ggplot2)
myplot<-ggplot(df, aes(x = x, y = mu)) +
geom_point(size = 2) +
geom_errorbar(aes(ymax = vleft, ymin = vright,colour=result*3))
myplot + theme_bw()
summary(df)
答案 0 :(得分:1)
有很多方法可以解决这个问题。下面,我使用mapply
将每个置信区间的起点和终点提供给segments
。
ci <- confInt(100)
plot(y = c(0, 100), x = c(-.15,.15), type = 'n', ylab = "",
xlab = "", yaxt = 'n')
with(ci, mapply(segments, x0 = vleft, x1 = vright,
y0 = 1:100, y1 = 1:100, col = (!result) + 1))
abline(v = 0, col = 'purple')