在ggplot中绘制密度函数时出现错误信息

时间:2016-07-08 12:50:59

标签: r ggplot2 density-plot

我有一个包含750个观测值和250列的数据框,我想将两个密度图绘制在一起。在一种情况下,存在特定因素,而在另一种情况下,它不是(针对非商业活动的商业活动)。

我创建了数据的子集

CommercialActivityData <- subset(MbadSurvey, Q2== 1)
NonCommercialActivityData <- subset(MbadSurvey, Q2== 2)

然后我尝试将其绘制如下

p1 <- ggplot(CommercialActivityData, aes(x = water_use_PP)) + geom_density()
p1

然而,当我这样做时,我收到以下错误消息

Error: Aesthetics must be either length 1 or the same as the data (51): x

我有51个数据值,其中有商业广告,699个没有商业广告。

1 个答案:

答案 0 :(得分:-1)

编辑:新代码!!

我无法访问您的数据集,因此我模拟了您的数据:

# Creating the data frame
MbadSurvey <- data.frame("water_use_PP"=runif(1000,1,100),
                 "Q2"=as.factor(round(runif(1000,1,2),0)))

# Requiring the package
require(ggplot2)

# Creating 3 different density plots based on the Species
p1 <- ggplot(MbadSurvey, aes(x = water_use_PP,colour = Q2)) + geom_density()
p1

enter image description here

注意:变量Q2必须是一个因素!