Как суммировать определенные столбцы в R (с примерами)


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

В этом руководстве показано несколько примеров использования этой функции на практике.

Пример 1. Найдите сумму определенных столбцов

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

#create data frame
data <- data.frame(var1 = c(0, NA, 2, 2, 5),
 var2 = c(5, 5, 7, 8, 9),
 var3 = c(2, 7, 9, 9, 7))

#view data frame
data

 var1 var2 var3
1 0 5 2
2 NA 5 7
3 2 7 9
4 2 8 9
5 5 9 7

#find sum of first and third columns
rowSums(data[ , c(1,3)], na.rm= TRUE )

[1] 2 7 11 11 12

Способ интерпретации вывода следующий:

  • Сумма значений в первой строке для первого и третьего столбцов равна 2 .
  • Сумма значений в первой строке для первого и третьего столбцов равна 7 .
  • Сумма значений в первой строке для первого и третьего столбцов равна 11 .
  • Сумма значений в первой строке для первого и третьего столбцов равна 11 .
  • Сумма значений в первой строке для первого и третьего столбцов равна 12 .

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

#assign row sums to new variable named *row_sum*
data$row_sum <- rowSums(data[ , c(1,3)], na.rm= TRUE )

#view data frame
data

 var1 var2 var3 row_sum
1 0 5 2 2
2 NA 5 7 7
3 2 7 9 11
4 2 8 9 11
5 5 9 7 12

Пример 2: найти сумму всех столбцов

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

#find row sums across all columns
data$new <- rowSums(data, na.rm= TRUE )

#view data frame
data

 var1 var2 var3 new
1 0 5 2 7
2 NA 5 7 12
3 2 7 9 18
4 2 8 9 19
5 5 9 7 21

Мы видим, что:

  • Сумма значений в первой строке по всем трем столбцам равна 7 .
  • Сумма значений во второй строке по всем трем столбцам равна 12 .

И так далее.

Вы можете найти больше руководств по R здесь .

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