我想在ggplot2中为同一个分布添加两组保龄球分数,我在每组中没有相同数量的观察,但我想将它们绘制在彼此之上。以下是我的代码。
m <- ggplot(bowling, aes(x = as.numeric(Kenny)))
n <- ggplot(bowling, aes(x= as.numeric(Group)))
m + n geom_density()
这是错误。
Error in p + o : non-numeric argument to binary operator
In addition: Warning message:
Incompatible methods ("+.gg", "Ops.data.frame") for "+"
我只想在彼此之上绘制它们,但我无法弄清楚问题是什么。
答案 0 :(得分:1)
问题在于您将一个geom_density
图层添加到具有不同美学映射的两个不同图(m和n)。
如果我理解你的问题,这是一个潜在的解决方案。
首先,创建一个小样本数据集
kenny <- rnorm(100, 20, 2)
group <- rnorm(100, 15, 2)
bowling <- data.frame(kenny, group)
其次,首先将kenny的geom_density图层绘制为美学,然后为不同的美学(即组)添加geom_density图层。
ggplot(bowling, aes(x = kenny)) +
geom_density() + geom_density(aes(x=group), colour="red")
以下是您获得的信息: