如何在R中使用sum()–在R中查找元素的总和

时间:2020-02-23 14:43:56  来源:igfitidea点击:

让我们学习如何借助R中的sum()查找值的总和。
在本教程中,我们将尝试找到向量元素的总和。

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

R中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)

输出—> 3231

使用sum()函数时跳过" NA"值

有时您的数据集可能包含" NA"值,即"不可用"。
因此,如果添加包含NA的值,sum()函数将返回NA而不是数字求和输出。

让我们学习如何处理此类数据集。

在本部分中,我们将找到具有数字值和值'NA的向量的总和。
sum()函数的语法表明,

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

  • x->是具有数值的向量。

  • na.rm->要求删除或者返回" NA"。
    如果将其设置为TRUE,则会跳过向量中的NA,否则将计算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)

输出—> 3556

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

在R中使用sum()来添加特定列的值

在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)

输出—> 4887

在R中独立汇总所有行中的所有数据

本节着重总结数据集中存在的每一行。
执行以下代码以获取每一行的总和。

其中我们通过na.rm = TRUE函数删除NA值。

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

查找数据集所有列的总和

让我们找到数据集中每个列的总和。
执行以下代码以查找每一列的总和。

dataseta::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