Как выполнить функцию СУММЕСЛИ в R


Часто вас может интересовать только нахождение суммы строк во фрейме данных R, которые соответствуют некоторым критериям. К счастью, это легко сделать, используя следующий базовый синтаксис:

aggregate(col_to_sum ~ col_to_group_by, data=df, sum )

В следующих примерах показано, как использовать этот синтаксис для следующего фрейма данных:

#create data frame
df <- data.frame(team=c('a', 'a', 'b', 'b', 'b', 'c', 'c'),
 pts=c(5, 8, 14, 18, 5, 7, 7),
 rebs=c(8, 8, 9, 3, 8, 7, 4),
 blocks=c(1, 2, 2, 1, 0, 4, 1))

#view data frame
df

 team pts rebs blocks
1 a 5 8 1
2 a 8 8 2
3 b 14 9 2
4 b 18 3 1
5 b 5 8 0
6 c 7 7 4
7 c 7 4 1

Пример 1. Выполнение функции СУММЕСЛИ для одного столбца

Следующий код показывает, как найти сумму очков для каждой команды:

aggregate(pts ~ team, data=df, sum )

 team pts
1 a 13
2 b 37
3 c 14

Пример 2. Выполнение функции СУММЕСЛИ для нескольких столбцов

Следующий код показывает, как найти сумму очков и подборов для каждой команды:

aggregate(cbind(pts, rebs) ~ team, data=df, sum )

 team pts rebs
1 a 13 16
2 b 37 20
3 c 14 11

Пример 3. Выполнение функции СУММЕСЛИ для всех столбцов

Следующий код показывает, как найти сумму всех столбцов во фрейме данных для каждой команды:

aggregate(. ~ team, data=df, sum )

 team pts rebs blocks
1 a 13 16 3
2 b 37 20 3
3 c 14 11 5

Примечание. Точка ( . ) используется в R для представления «всех» столбцов.

Дополнительные ресурсы

Как выполнить функцию СЧЁТЕСЛИ в R
Как суммировать определенные столбцы в R
Как суммировать определенные строки в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.