Часто вам может понадобиться найти сумму определенного набора столбцов во фрейме данных в 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 здесь .