R 用ggplot聚合数据

R 用ggplot聚合数据,r,plot,ggplot2,R,Plot,Ggplot2,让我们以mpg数据集为例,特别是class和cyl列。我可以看到每个类有多少个条目,并根据cyl值区分填充颜色: library(ggplot2) p <- ggplot(mpg) p <- p + geom_bar(mapping=aes(x=class, fill=factor(cyl)), position=position_dodge()) print(p) 这将提供我的所需输出: 然而,考虑到ggplot2的强大功能,我想知道是否可以通过ggplot函数实现这一点。我想

让我们以
mpg
数据集为例,特别是
class
cyl
列。我可以看到每个
类有多少个条目,并根据cyl值区分填充颜色:

library(ggplot2)
p <- ggplot(mpg)
p <- p + geom_bar(mapping=aes(x=class, fill=factor(cyl)), position=position_dodge())
print(p)
这将提供我的所需输出:


然而,考虑到ggplot2的强大功能,我想知道是否可以通过ggplot函数实现这一点。我想这涉及到使用特定的
stat
(可能使用
group=cyl
?),但我不能这样做。

我们可以将您的公式直接插入
stat\u summary()
,无需中间步骤即可生成所需的结果:

library(ggplot2)
ggplot(mpg) + 
  stat_summary(aes(x = class, y = cyl), 
               fun.y = function(x) length(x) / length(unique(x)), 
               geom = "bar")

看看
stat\u summary
@user3631369我现在正在玩它,但没有结果。我无法在cyl字段上进行聚合。是否有方法传递基于data.frame中其他变量的聚合函数?(因此,我可以在每个小组内计算一个总和——不知何故,我无法实现这一点……)你能举个例子吗?也许会问一个新问题
library(ggplot2)
ggplot(mpg) + 
  stat_summary(aes(x = class, y = cyl), 
               fun.y = function(x) length(x) / length(unique(x)), 
               geom = "bar")