[R] ggplot2: stat= 后面可以跟 count, bin, identity, 各自有什么用?

ggplot2 中,stat 参数用于指定统计变换,它决定了如何处理数据以生成图形。下面是你提到的几种统计变换的用途:

  1. stat = "count": 用于计算每个组的观测数量。这通常用于条形图 (geom_bar),其中每个条形的高度代表该组中的观测数。

  2. stat = "bin": 用于创建直方图 (geom_histogram)。它将连续数据分成若干个区间(或“箱”),并计算每个箱中的观测数。直方图是一种展示数据分布的常用方法。

  3. stat = "identity": 表示数据不需要进行任何统计变换。这在你已经预先计算好了要展示的值时非常有用。例如,当你使用 geom_bar 来创建条形图,且数据框中已经包含了每个条形的高度时,你可以设置 stat = "identity"

    # 使用 stat = "count" 创建条形图
    ggplot(data, aes(x = category)) +
      geom_bar(stat = "count")
    
    # 使用 stat = "bin" 创建直方图
    ggplot(data, aes(x = continuous_variable)) +
      geom_histogram(stat = "bin")
    
    # 使用 stat = "identity" 创建条形图(假设数据框中已有计数)
    ggplot(data, aes(x = category, y = count)) +
      geom_bar(stat = "identity")
    

    以下是一些使用 stat = "count", stat = "bin", 和 stat = "identity" 的具体实例:

    实例 1: 使用 stat = "count" 创建条形图

    假设我们有一个包含学生性别的数据框:

    students <- data.frame(
      gender = c("Male", "Female", "Female", "Male", "Male", "Female")
    )
    

    我们可以使用 stat = "count" 来创建一个条形图,显示每个性别的学生数量:

    library(ggplot2)
    
    ggplot(students, aes(x = gender)) +
      geom_bar(stat = "count")
    

    实例 2: 使用 stat = "bin" 创建直方图

    假设我们有一个包含学生考试成绩的数据框:

    scores <- data.frame(
      score = c(85, 92, 88, 75, 79, 94, 81, 87, 90, 76)
    )
    

    我们可以使用 stat = "bin" 来创建一个直方图,展示成绩的分布:

    ggplot(scores, aes(x = score)) +
      geom_histogram(stat = "bin", bins = 5)
    

    实例 3: 使用 stat = "identity" 创建条形图

    假设我们有一个数据框,包含不同水果的销售数量:

    fruit_sales <- data.frame(
      fruit = c("Apple", "Banana", "Orange"),
      sales = c(100, 150, 120)
    )
    
    ggplot(fruit_sales, aes(x = fruit, y = sales)) +
      geom_bar(stat = "identity")
    

    在这个例子中,我们不需要对数据进行任何统计变换,因为每种水果的销售数量已经在数据框中给出了。

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值