绘制数据帧的置信区间

时间:2015-05-17 17:33:18

标签: r random plot

我写了一些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)

confidence

编辑:我找到了使用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)

1 个答案:

答案 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')

enter image description here