我有2个数据集,分别称为A和B。 我想比较一个常见变量k的分布,该变量在两个数据集中都出现,但是长度不同(A包含2000个k值,而B包含1000个值,两者都有一些N / A)。因此,我想在同一图中绘制A $ k和B $ k的分布。
我尝试过:
g1 <- ggplot(A, aes(x=A$k)) + geom_density()
g2 <- ggplot(B, aes(x=B$k)) + geom_density()
g <- g1 + g2
但是随后出现错误:
Don't know how to add o to a plot.
我该如何克服这个问题?
答案 0 :(得分:0)
在不知道实际数据集是什么样的情况下,我无法确切地告诉您这样做。但是将数据集合并为一组然后通过指定ggplot()
或使用“颜色”来使用group
是比较的一种方法。
另一种方法是使用grid.arrange()
包中的gridExtra
。
gridExtra::grid.arrange(g1, g2)
这真的很容易,也很方便。如果您想进一步了解gridExtra软件包,请访问this official document。
答案 1 :(得分:0)
由于我们没有任何数据,因此很难提供适合您情况的特定解决方案。但是下面是我认为您想做的一般原则。
诀窍是将数据放在一起,并在另一列中标识组A和组B。然后在aes()
的{{1}}参数中使用此列。请记住,合并数据框可能不像我所做的那么简单,因为您可能会有一些额外的列等。
ggplot