Как суммировать несколько столбцов с помощью dplyr


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

Метод 1: суммирование по всем столбцам

df %>%
 mutate(sum = rowSums(., na. rm = TRUE ))

Метод 2: суммирование по всем числовым столбцам

df %>%
 mutate(sum = rowSums(across(where(is. numeric )), na. rm = TRUE ))

Метод 3: суммирование по определенным столбцам

df %>%
 mutate(sum = rowSums(across(c(col1, col2))))

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

#create data frame
df <- data.frame(game1=c(22, 25, 29, 13, 22, 30),
 game2=c(12, 10, 6, 6, 8, 11),
 game3=c(NA, 15, 15, 18, 22, 13))

#view data frame
df

 game1 game2 game3
1 22 12 NA
2 25 10 15
3 29 6 15
4 13 6 18
5 22 8 22
6 30 11 13

Пример 1: Сумма по всем столбцам

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

library(dplyr)

#sum values across all columns
df %>%
 mutate(total_points = rowSums(., na. rm = TRUE ))

 game1 game2 game3 total_points
1 22 12 NA 34
2 25 10 15 50
3 29 6 15 50
4 13 6 18 37
5 22 8 22 52
6 30 11 13 54

Пример 2: Сумма по всем числовым столбцам

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

library(dplyr) 

#sum values across all numeric columns
df %>%
 mutate(total_points = rowSums(across(where(is. numeric )), na. rm = TRUE ))

 game1 game2 game3 total_points
1 22 12 NA 34
2 25 10 15 50
3 29 6 15 50
4 13 6 18 37
5 22 8 22 52
6 30 11 13 54

Пример 3: Сумма по определенным столбцам

В следующем коде показано, как вычислить сумму значений только для столбцов game1 и game2 :

library(dplyr) 

#sum values across game1 and game2 only
df %>%
 mutate(first2_sum = rowSums(across(c(game1, game2))))

 game1 game2 game3 first2_sum
1 22 12 NA 34
2 25 10 15 35
3 29 6 15 35
4 13 6 18 19
5 22 8 22 30
6 30 11 13 41

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

В следующих руководствах объясняется, как выполнять другие распространенные задачи с помощью dplyr:

Как удалить строки с помощью dplyr
Как упорядочить строки с помощью dplyr
Как фильтровать по нескольким условиям с помощью dplyr

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