如何在 R 中处理错误:stat_count() can only have an x or y aesthetic?


为了处理错误:stat_count() can only have an x or y aesthetic,我们需要在 geom_bar 函数内部传递 stat="identity" 参数。因为我们没有为条形图传递计数,并且条形图只能包含一个计数变量,所以需要 stat="identity" 以便 geom_bar 在 aes 中只考虑一个变量进行计数。请查看下面的示例以了解区别。

示例

考虑以下数据框:

 在线演示

factor<-sample(0:2,20,replace=TRUE)
col<-sample(6:8,20,replace=TRUE)
count<-rpois(20,8)
df<-data.frame(factor,col,count)
df

输出

   factor   col  count
1    2       7    7
2    0       8    8
3    0       6    9
4    0       7    8
5    1       7    10
6    0       6    12
7    2       6    10
8    1       6    8
9    0       6    9
10   0       7    8
11   0       8    3
12   2       8    11
13   1       7    14
14   0       7    10
15   1       8    13
16   0       8    5
17   2       8    10
18   2       7    8
19   1       6    9
20   2       8    9

加载 ggplot2 包并为因子列中的类别创建条形图:

library(ggplot2)
ggplot(df,aes(factor,count,fill=col))+geom_bar()

错误 - stat_count() can only have an x or y aesthetic。

运行 `rlang::last_error()` 以查看错误发生的位置。

使用 stat="identity" 创建条形图:

示例

ggplot(df,aes(factor,count,fill=col))+geom_bar(stat="identity")

输出

更新于: 2021年3月6日

3K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告