【发布时间】:2015-08-26 18:53:10
【问题描述】:
示例数据:
df <- data.frame(Mean1=c(12,15,17,14,16,18,16,14),Lower1=c(8,11,13,7,15,12,12,11),Upper1=c(16,18,21,21,17,24,20,17),Mean2=c(13,16,18,15,17,19,17,15),Lower2=c(9,12,14,8,16,13,13,12),Upper2=c(17,19,22,22,18,25,21,18))
rownames(df) <- c(1,2,3,4,5,6,7,8)
我可以用Mean1 Lower1 和Upper1 从df 生成森林图:
ggplot(df, aes(y = row.names(df), x = df$Mean1)) +
geom_point(size = 4) +
geom_errorbarh(aes(xmax = df$Upper1, xmin = df$Lower1))
所以我的问题是:如何将 df 中的 Mean2 Lower2 和 Upper2 包含到绘图中,以便每个观察点(行)的两个均值与各自的误差条成对表示?所以输出将是一个类似的森林图,但每个观察点的均值和误差限制都成对显示。我希望这是有道理的。
我什么都没试过,因为我根本不知道从哪里开始。
我可以在不破坏数据框结构的情况下执行此操作吗?
【问题讨论】:
-
最简单的解决方案是将数据框重塑为长格式,以便每个误差条都有一行,其中包含下限、上限、估计值和分组变量。为什么需要完整的结构?