ggplot2交互图错误

时间:2013-11-28 04:05:01

标签: r ggplot2

我正在尝试创建一个交互图,而R正在抛出错误geom_path: Each group consist of only one observation. Do you need to adjust the group aesthetic?,我不明白为什么。以下是我的数据框:

       topPagesCount DIRTY_INDUSTRY IND_DIRTY_HETEROGENEITY
1             10      1.4444444               1.1727001
2            831      1.4444444               1.1727001
3              1      0.8218391               0.4599108
4              0      0.8218391               0.4599108
5              0      0.8821549               0.4870270
6             30      0.8190476               0.6582197
7             26      0.8218391               0.4599108
8              0      1.4444444               1.1727001
9              7      0.8821549               0.4870270
10           398      0.8218391               0.4599108

以下是我的代码:

greatDF$DIRTY_INDUSTRY_fac <- as.factor (greatDF$DIRTY_INDUSTRY)
ggplot(data = greatDF, aes(x = IND_DIRTY_HETEROGENEITY, y=topPagesCount,
colour=DIRTY_INDUSTRY_fac, group=DIRTY_INDUSTRY_fac))+
stat_summary(fun.y=mean, geom="point")+
stat_summary(fun.y=mean, geom="line")

我没有看到任何错误原因,因为很明显,我的响应变量topPagesCount的值超过了1种类型的交互项DIRTY_INDUSTRY:IND_DIRTY_HETEROGNEITY ...我是对的吗?也许我误解了一些事情......

感谢,

1 个答案:

答案 0 :(得分:0)

正如@Troy指出的那样,这种情况发生的原因是因为 geom_line() geom_path()的分组本身毫无意义。根本没有与线连接的点!

这就是为什么删除最后一行时一切正常的原因。请注意,此“错误”不是实际错误,它会根据您的目的绘制图例,而不是应根据您的美学和统计数据绘制单个实际线条。

如何解决这个问题?嗯,这取决于你想要实现的目标,像往常一样。请注意您的代码与我的代码之间的区别:

ggplot(data = greatDF, aes(x = IND_DIRTY_HETEROGENEITY, y=topPagesCount,
                       colour=DIRTY_INDUSTRY_fac, group=DIRTY_INDUSTRY_fac)) +
geom_line(size=1.4) + 
geom_point(size=5, shape=10) + 
stat_summary(fun.y=mean, geom="point", size=5)

我的猜测是否正确?您可能会看到this问题,以获得有关该主题的更多见解。

enter image description here