【问题标题】:R code to calculate mean from 2 different variables [duplicate]从2个不同变量计算平均值的R代码[重复]
【发布时间】:2017-05-02 20:43:24
【问题描述】:

代码等级// i/q// 考试成绩// 性别

1 4 40 86 男

2 11 65 88 女性

3 27 80 70 男

4 53 80 61 男

5 4 40 89 男

6 22 70 60 女性

7 16 20 81 女性

8 21 55 75 女性

9 25 50 69 女性

10 18 40 82 女

从下面的列表中,r 代码分别计算男性和女性考试成绩的平均值和标准差。

【问题讨论】:

    标签: r


    【解决方案1】:

    您可以使用 dplyr 包轻松实现此目的:

    > data
    # A tibble: 10 × 5
        code  rank    iq  score gender
       <int> <int> <int>  <dbl>  <chr>
    1      1     4    40 86.298   Male
    2      2    11    65 88.716 Female
    3      3    27    80 70.178   Male
    4      4    53    80 61.312   Male
    5      5     4    40 89.522   Male
    6      6    22    70 60.506 Female
    7      7    16    20 81.462 Female
    8      8    21    55 75.820 Female
    9      9    25    50 69.372 Female
    10    10    18    40 82.268 Female
    

    使用 group_by() 对性别列上的数据进行分组并使用 summarise() 进行汇总可以给你答案:

    > data %>%
    +   group_by(gender) %>%
    +   summarise(avg_score = mean(score),
    +             sd_score = sd(score))
    # A tibble: 2 × 3
      gender avg_score sd_score
       <chr>     <dbl>    <dbl>
    1 Female  76.35733 10.13981
    2   Male  76.82750 13.36397
    

    还有其他方法可以做到这一点,但从长远来看,学习一点 dplyr 来做这些事情可能会有所帮助。

    如需详细教程,请阅读 Hadley 的书 R for Data Science 中的 Transformation 章节

    【讨论】:

      猜你喜欢
      • 2020-04-06
      • 1970-01-01
      • 2021-08-09
      • 2015-11-02
      • 2018-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多