Сложение элементов в R с помощью sum()

В этом мануале мы поговорим о том, как вычислить сумму значений в языке R с помощью функции sum(). Для примера мы попытаемся найти сумму элементов вектора.

Читайте также: Замена значений в R с помощью replace()

Синтаксис функции sum() выглядит так: 

sum(x,na.rm=FALSE/TRUE)

Вектор — это самый простой способ хранения нескольких элементов в R. Приведенные ниже примеры показывают различные типы векторов.

Ex_vector:  
V<- c(2,4,6,8,10)  #This is a numerical vector  
V<-c('red', 'blue', 'orange')    #This is a character or string vector 
V<-c(TRUE, FALSE,TRUE)   #This is a logical vector

Базовое применение функции sum()

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

#list of values or a vector having numerical values
df<- c(23,44,66,34,56,78,97,53,24,57,34,678,643,1344)

#calculates the sum of the values 
sum(df)

Исключение значений NA 

Иногда наборы данных содержат значения NA, т. е. «Not Available». Если вы попробуете сложить значения, включая NA, вместо числового значения функция sum() вернет NA.

Давайте посмотрим, как работать с такими наборами данных.

В этом разделе мы попробуем вычислить сумму векторов, которые хранят числовые значения вместе со значениями NA. Синтаксис функции sum() в данном случае выглядит так:

sum(x,na.rm=FALSE/TRUE)

Где: 

  • x – это вектор, имеющий числовые значения.
  • na.rm – запрашивает удаление или возвращает NA. Если присвоить ему TRUE, то при сложении значений вектора значения NA будут пропущены (в противном случае они будут учитываться при сложении).

Приведенный ниже код показывает все, о чем мы говорили только что. 

#creates a vector having numerical values
x<-c(123,54,23,876,NA,134,2346,NA)

#calculates the sum and removes the NA values from the summation
sum(x,na.rm = TRUE)

Вы получите такой результат: 

#if you mention FALSE, the sum function returns the value NA 
sum(x,na.rm = FALSE)
----> NA

Сложение значений определенного столбца

Суммирование значений, хранящихся в конкретном столбце, в R выполнить очень легко. Давайте посмотрим на приведенный ниже пример.

Этот набор данных содержит значение NA. Поэтому мы обрабатываем его с помощью функции na.rm=TRUE, как мы говорили выше.

#read the data 
datasets::airquality

#sample data, just a few samples
    Ozone Solar.R Wind Temp Month Day
1      41     190  7.4   67     5   1
2      36     118  8.0   72     5   2
3      12     149 12.6   74     5   3
4      18     313 11.5   62     5   4
5      NA      NA 14.3   56     5   5
6      28      NA 14.9   66     5   6
7      23     299  8.6   65     5   7
8      19      99 13.8   59     5   8
9       8      19 20.1   61     5   9
10     NA     194  8.6   69     5  10  continues.....

#calculates the summation of the values in column 'Ozone'.
sum(airquality$Ozone, na.rm = TRUE)

Сложение данных в строках

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

Здесь мы снова исключаем значения NA с помощью функции na.rm=TRUE.

datasets::airquality

rowSums(airquality, na.rm = TRUE)

Вы получите сумму значений каждой строки:

[1] 311.4 241.0 255.6 413.5 80.3 119.9 407.6 203.8 122.1 286.6 103.9 367.7
[13] 394.2 385.9 174.2 444.5 441.0 182.4 455.5 151.7 103.7 447.6 127.7 226.0
[25] 169.6 369.9 97.0 148.0 426.9 457.7 435.4 379.6 378.7 334.1 289.2 324.6
[37] 369.3 260.7 380.9 480.8 476.5 379.9 369.2 280.0 445.8 433.5 325.9 436.7
[49] 155.2 241.5 262.3 260.3 164.7 200.6 362.3 249.0 245.0 163.3 223.5 157.9
[61] 265.0 500.1 400.2 368.2 206.9 338.6 460.9 460.1 477.3 482.7 373.4 247.6
[73] 380.3 317.9 417.9 171.3 418.9 425.3 461.3 384.1 406.5 131.9 377.7 418.5
[85] 499.6 456.0 224.6 266.0 425.4 454.4 444.4 441.2 218.9 137.8 193.4 182.9
[97] 140.4 171.6 485.0 434.3 432.0 340.6 253.5 353.5 415.5 333.7 177.5 204.3
[109] 220.3 247.4 390.9 350.3 401.5 161.3 373.6 377.7 523.4 416.0 281.7 421.7
[121] 476.3 461.3 412.3 370.9 383.1 363.8 390.6 250.4 238.5 378.9 348.3 354.9
[133] 384.7 395.9 392.5 371.3 137.9 231.5 392.9 348.8 153.3 368.3 336.0 357.6
[145] 148.2 298.3 168.3 147.6 334.9 271.2 331.3 271.0 361.5

Сложение значений всех столбцов

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

datasets::airquality

colSums(airquality, na.rm = TRUE)

В результате получится: 

Ozone      Solar.R       Wind        Temp        Month       Day
4887.0      27146.0     1523.5      11916.0     1070.0       2418.0

Заключение

Функция sum() в языке программирования R позволяет складывать значения, а также находить сумму значений определенного столбца или строки.

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

Tags:

Добавить комментарий