组在R中的geom_bar函数中做了什么?

时间:2017-07-11 05:54:57

标签: r ggplot2

这些来自 R for data Science book

ggplot(data = demo) +
  geom_bar(mapping = aes(x = cut, y = freq), stat = "identity")

stat = "Identity"做了什么?

ggplot(data = diamonds) + 
  geom_bar(mapping = aes(x = cut, y = ..prop.., group = 1))

group = 1做什么?即使我把group = 0,2,...等等,我也没有发现差异。

2 个答案:

答案 0 :(得分:2)

stat = "identity"告诉ggplot,而不是聚合多行数据并使用行数作为条的高度,而是已经在一列数据中给出了条的高度(映射到{{ 1}})。在当前版本的y中,建议使用ggplot2代替geom_col()geom_bar(stat = "identity")的帮助中解释了这一点:

  

如果您希望条形的高度代表数据中的值,请改用?geom_bargeom_col默认使用geom_bar:它计算每个x位置的个案数。 stat_count使用geom_col:它会按原样保留数据。

正如@ eipi10指出的那样,stat_identity位是重复的,已经得到了很好的回答here

答案 1 :(得分:0)

组不接受整数或数字,它基本上接受函数,因为, - 粘贴(变量,代表)

  • 互动(变量,代表)

  • 互动(变量,代表,sep ='')

  

它基本上用于产生完全相同的水平),因为ggplot将强制分解因子,在两种情况下都具有相同的水平(或至少在标签上不同的水平)。

有关详情,请查看here