#r
#r
Вопрос:
У меня есть следующие данные (с 1000 строками):
ID | оценка | тест |
---|---|---|
1 | 45 | 1 |
1 | 55 | 2 |
1 | 23 | 3 |
1 | 56 | 4 |
2 | 82 | 1 |
2 | 52 | 2 |
2 | NA | 3 |
2 | 21 | 4 |
и т. Д. До 500 идентификаторов
Я пытаюсь удалить NAs и вычислить среднее значение каждого балла учащихся, прежде чем двигаться дальше. Так что это будет выглядеть примерно так
ID | Оценка |
---|---|
1 | 44.75 |
2 | 51.7 |
3 | 56.4 |
и т. Д. До 500
Я действительно не могу найти подходящий R-код, который можно было бы использовать для этого. Любые рекомендации будут оценены.
Ответ №1:
Мы можем группировать по «идентификатору» и summarise
«оценке», применяя mean
с na.rm = TRUE
library(dplyr)
df1 %>%
group_by(ID) %>%
summarise(Score = mean(Score, na.rm = TRUE))
Или с aggregate
помощью from base R
aggregate(Score ~ ID, df1, mean, na.rm = TRUE, na.action = NULL)