R代码用于计算2个不同变量的平均值

时间:2017-05-02 12:29:43

标签: r

代码排名// 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代码可以单独计算男性和女性考试成绩的平均值和标准差。

1 个答案:

答案 0 :(得分:0)

您可以使用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()对性别列进行分组,并使用summarize()进行汇总可以得到答案:

> 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

中的转换章节。