ggplot geom_bar: aes(group = 1) 的含义
ggplot geom_bar: meaning of aes(group = 1)
我正在学习 geom_bar r4ds.had.co.nz 的第 3.7 节。我 运行 这样的代码:
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 = 2 或 group = "x" 替换 group = 1,情节看起来仍然正确。所以不太明白这里group = 1的意思和使用方法
group="whatever"
是一个 "dummy" 分组来覆盖默认行为,(这里)是按 cut
分组,通常是按 x 变量分组。 geom_bar
的默认值是按 x 变量分组,以便单独统计 x 变量的每个级别中的行数。例如,在这里,默认值为 geom_bar
到 return cut
等于 "Fair"、"Good" 等的行数
但是,如果我们想要比例,那么我们需要将cut
的所有级别一起考虑。在第二个图中,数据首先按 cut
分组,因此 cut
的每个水平被单独考虑。 Fair in Fair 的比例是 100%,Good in Good 的比例也是 100%,等等。group=1
(或者 group="x"
,等等)防止了这一点,所以每一层切割的比例都会相对于所有切割级别。
Group 将帮助绘图查看包含特定切割的特定行,并找到相对于整个数据库的比例,作为整个数据集中理想切割的比例。
如果不使用组,则根据包含该字段的数据计算比例,并且最终在任何情况下都将是 100%。例如,ideal cut在ideal cut具体数据中的比例为1。
我正在学习 geom_bar r4ds.had.co.nz 的第 3.7 节。我 运行 这样的代码:
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 = 2 或 group = "x" 替换 group = 1,情节看起来仍然正确。所以不太明白这里group = 1的意思和使用方法
group="whatever"
是一个 "dummy" 分组来覆盖默认行为,(这里)是按 cut
分组,通常是按 x 变量分组。 geom_bar
的默认值是按 x 变量分组,以便单独统计 x 变量的每个级别中的行数。例如,在这里,默认值为 geom_bar
到 return cut
等于 "Fair"、"Good" 等的行数
但是,如果我们想要比例,那么我们需要将cut
的所有级别一起考虑。在第二个图中,数据首先按 cut
分组,因此 cut
的每个水平被单独考虑。 Fair in Fair 的比例是 100%,Good in Good 的比例也是 100%,等等。group=1
(或者 group="x"
,等等)防止了这一点,所以每一层切割的比例都会相对于所有切割级别。
Group 将帮助绘图查看包含特定切割的特定行,并找到相对于整个数据库的比例,作为整个数据集中理想切割的比例。
如果不使用组,则根据包含该字段的数据计算比例,并且最终在任何情况下都将是 100%。例如,ideal cut在ideal cut具体数据中的比例为1。