【发布时间】:2018-02-09 07:18:03
【问题描述】:
我有一个数据框 df 如下。
df <- data.frame(test = c("Test1", "Test2", "Test1", "Test2"),
group = c("A", "A", "B", "B"),
varC5th = c(2, 3, 1, 5),
varC25th = c(20, 30, 10, 50),
varC50th = c(25, 35, 15, 55),
varC75th = c(35, 45, 25, 75),
varC95th = c(65, 75, 55, 105),
varD5th = c(0.2, 0.8, 0.6, 0.4),
varD25th = c(2, 8, 6, 4),
varD50th = c(3, 9, 7, 5),
varD75th = c(5, 11, 9, 7),
varD95th = c(9, 15, 13, 11)
)
使用df 和ggplot 我需要绘制varC 和varD 的箱线图,其中给定的五个分位数值(varX5th ... varX95th)由test 分面,用于两组A &B.
我尝试了什么
我达到了可以得到一组箱线图的地步,其值在aes 中传递,如下所示。
ggplot(df[1,],
aes(x=group, ymin = varC5th, lower = varC25th,
middle = varC50th, upper = varC75th, ymax = varC95th)) + geom_boxplot(stat = "identity")
这给出了如下图 - 我需要帮助来包括所有 groups 和test 的分面,以便可以在一个图表中看到两个测试的图。此外,我更喜欢在箱线图的两个端点处都有水平线。
【问题讨论】:
-
你能分享一下你到目前为止所尝试的吗?
-
@EricFail 我到了某个地步,我可以得到一组的箱线图,其值在
aes中传递,例如ggplot(df[1,], aes(x=group, ymin = varC5th, lower = varC25th, middle = varC50th, upper = varC75th, ymax = varC95th)) + geom_boxplot(stat = "identity")