我有一个数据框,其中包含ID列表和其他变量,如下所示:
Student_ID Score
6 94
2 63
6 100
7 44
6 97
2 67
我想创建另一个数据框,其中只包含Student_ID和平均分数,如下所示:
Student_ID Avg_Score
2 65
6 97
7 44
当然,实际数据集要大得多。
答案 0 :(得分:1)
您可以使用dplyr
包:
df %>% group_by(Student_ID) %>% summarise(Avg_Score = mean(Score))
# # A tibble: 3 x 2
# Student_ID Avg_Score
# <int> <dbl>
# 1 2 65
# 2 6 97
# 3 7 44
您还可以在基础R中使用aggregate
:
aggregate( Score ~ Student_ID, df, mean) #column name will remain as "Score"
# Student_ID Score
# 1 2 65
# 2 6 97
# 3 7 44