Statistical transformations 统计转换

下图显示了钻石数据集中的钻石总数,按切工分组。钻石数据集来自 ggplot2,包含大约 54,000 颗钻石的信息,包括每颗钻石的价格、克拉、颜色、净度和切工。该图表显示,与低质量切割相比,高质量切割的钻石更多。

ggplot(data = diamonds) + 
  geom_bar(mapping = aes(x = cut))

在 x 轴上,图表显示切工,这是钻石的一个变量。 在 y 轴上,它显示计数,但计数不是钻石中的变量! 计数从何而来? 许多图表(如散点图)绘制数据集的原始值。 其他图形,如条形图,计算要绘制的新值:

  • 条形图、直方图和频率多边形对您的数据进行分箱,然后绘制分箱计数,即落在每个分箱中的点数。
  • 平滑器将模型拟合到您的数据,然后根据模型绘制预测。
  • boxplots 计算分布的可靠摘要,然后显示一个特殊格式的框。

用于计算图形新值的算法称为 stat,是统计变换的缩写。 下图描述了这个过程如何与 geom_bar() 一起工作。

您可以通过检查 stat 参数的默认值来了解 geom 使用的统计信息。 例如,?geom_bar 显示 stat 的默认值是“count”,这意味着 geom_bar() 使用 stat_count()。 stat_count() 与 geom_bar() 记录在同一页面上,如果向下滚动,您可以找到名为“计算变量”的部分。 这描述了它如何计算两个新变量:count 和 prop。 您通常可以交替使用 geoms 和 stats。 例如,您可以使用 stat_count() 而不是 geom_bar() 重新创建之前的图:

ggplot(data = diamonds) + 
  stat_count(mapping = aes(x = cut))

 

在下面的代码中,我将 geom_bar() 的 stat 从 count(默认)更改为 identity。 这让我可以将条形的高度映射到 y 的原始值.

demo <- tribble(
  ~cut,         ~freq,
  "Fair",       1610,
  "Good",       4906,
  "Very Good",  12082,
  "Premium",    13791,
  "Ideal",      21551
)

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

例如,您可能想要显示比例条形图,而不是计数:

 

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

 

 

 例如,您可以使用 stat_summary() 来汇总每个唯一 x 值的 y 值,以引起对您正在计算的摘要的注意:

ggplot(data = diamonds) + 
  stat_summary(
    mapping = aes(x = cut, y = depth),
    fun.min = min,
    fun.max = max,
    fun = median
  )

 

ggplot2 提供超过 20 个统计数据供您使用。 每个 stat 都是一个函数,因此您可以通过通常的方式获得帮助,例如 ?stat_bin。 要查看完整的统计信息列表,请尝试 ggplot2 备忘单。 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值