在R中显示多个置信区间

在R中显示多个置信区间,r,R,我有一个数据框,其中的行对应于参数置信区间的上限和下限。如果有n行,则有n个变量。有两列,一列的置信区间下限为“下限”,另一列的置信区间上限为“上限”。行名称与变量名称相对应。像这样的 lower upper y1 7.923 9.22 y2 7.105 8.74 y3 8.185 9.54 y4 8.157 9.51 我想创建一个图,将这些置信区间显示为条形图,最好在每一端都有法兰 如果有人能告诉我这样做的好方法,我将不

我有一个数据框,其中的行对应于参数置信区间的上限和下限。如果有n行,则有n个变量。有两列,一列的置信区间下限为“下限”,另一列的置信区间上限为“上限”。行名称与变量名称相对应。像这样的

      lower  upper  
y1      7.923  9.22
y2      7.105  8.74 
y3      8.185  9.54 
y4      8.157  9.51 
我想创建一个图,将这些置信区间显示为条形图,最好在每一端都有法兰

如果有人能告诉我这样做的好方法,我将不胜感激

谢谢
PS

bwclot
lattice
中制作方块和胡须图:

library(lattice)
bwplot(lower+upper~var, data=dat)
有关详细信息,请参见
?bwclot
?lattice


通常,通过让plot函数为您总结dat,您可以使用R的全部功能。例如:

dat <- data.frame(
  var <- sample(paste("y", 1:4, sep=""), 100, replace=TRUE),
  val <- rnorm(100)
  )

plot(val~factor(var), data=dat, col="cyan")

dat以下是惯用的
ggplot2
解决方案。对于这种绘图,还有其他几种
geom
。例如,尝试用
geom\u纵横杆
替换。有关更多详细信息,请访问

cidf=data.frame(
var=c('y1','y2','y3','y4'),
下=c(7.923,7.105,8.185,8.157),
上限=c(9.22,8.74,9.54,9.51)
)
需要(ggplot2)

p1我已经找到了一种使用内置的boxplot命令来实现这一点的方法。我不得不将数据框更改为矩阵:

ci <- as.matrix(cidf)
boxplot(ci[1,],ci[2,],ci[3,],ci[4,])

ci最后,我用ggplot找到了一个很好的解决方案。感谢上面的回复

p1 <- ggplot(cidf) +

geom_errorbar(aes(x = row.names(ciddf), ymin = lower, ymax = upper), width = 0.2) +

xlab("Variables") +

coord_flip() + opts(title = "Confidence intervals for Variables")

p1

p1谢谢!上面的第一个情节看起来像我想要的,但我无法让它工作。示例代码中的“var”是什么:bwplot(下+上~var,data=dat)?@P Sellaz
var
是一个用来表示数据来源的因子(来自y1、y2、y3、y4)。在你的情况下,这将是行名称。对不起,但我仍然有问题。bwplot(下+上~y1,data=cidf)求值(expr,envir,enclose)错误:找不到对象“y1”是数据框中的列名称。谢谢。不,列名是“下”和“上”。y1、y2、y3、y4等是与参数名称相对应的行名称。这两列的值是参数置信区间的上限和下限,我希望绘制这些参数。在将df转换为矩阵后,我可以使用boxplot()使其工作,但如果可能的话,我希望使用bwplot和/或ggplot。谢谢。这听起来很有希望,但根据我对另一个答案的评论,我不知道“var”在您的示例代码中代表什么。例如,我有一个名为cidf的数据帧,它有“lower”和“upper”列,每一行都是我想要显示的间隔。再次感谢。啊,现在知道了。谢谢因此,我需要向数据框中添加另一列—基本上是将行名称转换为因子,正如上面Roman Luštrik所说的。对不起,有点慢!我发现我可以只使用x=row.names(cidf)而不用创建新列。
p1 <- ggplot(cidf) +

geom_errorbar(aes(x = row.names(ciddf), ymin = lower, ymax = upper), width = 0.2) +

xlab("Variables") +

coord_flip() + opts(title = "Confidence intervals for Variables")

p1