[英]ggplot geom_bar: meaning of aes(group = 1)
我正在 r4ds.had.co.nz 的第 3.7 节学习geom_bar 。 我运行这样的代码:
library(ggplot2)
ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut, y = ..prop.., group = 1))
然后我有这个情节:
关键是,如果我排除“group = 1”部分:
library(ggplot2)
ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut, y = ..prop..))
剧情会错
但是,如果我将 group = 1 替换为 group = 2 或 group = "x",则绘图看起来仍然正确。 所以我不太明白这里 group = 1 的含义以及如何使用它。
group="whatever"
是一个“虚拟”分组以覆盖默认行为,(此处)是按cut
分组,通常是按 x 变量分组。 geom_bar
的默认值是按 x 变量分组,以便分别计算 x 变量的每个级别中的行数。 例如,在这里, geom_bar
默认返回cut
等于“Fair”、“Good”等的行数。
但是,如果我们想要比例,那么我们需要将所有级别的cut
一起考虑。 在第二个图中,数据首先按cut
分组,因此每个级别的cut
都被单独考虑。 Fair 中 Fair 的比例是 100%,Good 中的比例等。 group=1
(或group="x"
等)防止了这种情况,因此每个级别的削减比例将是相对的到所有级别的削减。
组将帮助绘图查看包含特定切割的特定行,并找到相对于整个数据库的比例,作为整个数据集中理想切割的比例。
如果不使用组,则根据包含该字段的数据计算比例,并且在任何情况下最终都将是 100%。 例如,理想切割特定数据中理想切割的比例将为 1。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.