繁体   English   中英

ggplot geom_bar:aes的含义(组= 1)

[英]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.

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