r语言 - 如何创建所有数据的密度图,并与 ggplot 中数据子集的密度图叠加



我有一个数据集,它似乎有一个二项分布。

数据是与健康相关的生活质量调查,可以根据训练活动的类型进行子集化

我想知道我是否可以将数据的密度图作为一个整体与训练活动子集的密度图叠加

数据集称为hrql.scores,具有特定训练背景的数据子集apdj,第二个子集health.studio。我要绘制的测试数据是标题为PCS的列

我希望以下代码可以工作:

ggplot( hrql.scores, aes( x=PCS, y=..density.. )) +
    geom_histogram(fill="cornsilk",colour="grey35",binwidth=5) +
    geom_density() + 
    geom_density( apdj, aes( x=PCS ) ) + 
    geom_density( health.studio, aes( x=PCS ))

但是我得到错误Error: ggplot2 doesn't know how to deal with data of class uneval

如何实现总数据集的密度图与子集的密度图叠加?

?geom_density的帮助页面指出第一个参数是mapping,而不是data。所以正确的用法将是

ggplot(hrql.scores, aes(x=PCS, y=..density..)) +
    geom_histogram(fill="cornsilk", colour="grey35", binwidth=5) +
    geom_density() + 
    geom_density(data = apdj) + 
    geom_density(data = health.studio)

请注意,不需要额外的aes映射,因为它是从顶级ggplot调用继承的。

最新更新