【发布时间】:2015-12-10 14:17:07
【问题描述】:
我有一个用另一个工具生成的计数表,我想用 ggplot2 从中得到一个箱线图。
例如,假设我有:
df1 = data.frame(nSiblings = c(0, 1, 2), count = c(10, 15, 12))
而不是
df2 = data.frame(nSiblings = c(rep(0, 10), rep(1, 15), rep(2, 12)))
我知道如何从第二个数据框生成箱线图:
qplot(y=df2$nSiblings, x=1, geom = "boxplot")
我知道如何从第一个数据帧生成直方图:
ggplot(df1, aes(x = nSiblings, y = count)) + geom_bar(stat = "identity")
但是如何从第一个数据框中获取箱线图?
【问题讨论】:
-
仅供参考,您不需要其他工具从 df2 生成 df1。例如,您可以这样做
library("dplyr"); df1 <- count(df2, nSiblings)。使用 base R 也很容易做到。 -
@antoine-sac:谢谢,但我知道。这个数据框是另一个工具的输出(实际上,计数可能超过一百万)。
-
还有一个“重新生成”大型数据帧的选项,但是当计数>1e6 时,计算/内存效率不高。