繁体   English   中英

从数据框绘制置信区间

[英]Plotting confidence intervals from a dataframe

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

有很多方法可以解决此问题。 在下面,我使用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')

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM