繁体   English   中英

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

[英]Error message while plotting density functions in ggplot

我有一个包含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个数据值。

编辑:新代码!

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

# 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

在此处输入图片说明

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM