Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何对data.frame列值求和?_R_Dataframe_Sum_Aggregate Functions - Fatal编程技术网

如何对data.frame列值求和?

如何对data.frame列值求和?,r,dataframe,sum,aggregate-functions,R,Dataframe,Sum,Aggregate Functions,我有一个包含多个列的数据框;一些数字和一些字符如何计算特定列的和?我在谷歌上搜索了这个,我看到了许多函数(sum,cumsum,rowsum,colSums,aggregate,apply),但我无法理解所有这些 例如,假设我有一个包含以下列的数据框people people <- read( text = "Name Height Weight Mary 65 110 John 70 200 Jane 64 115",

我有一个包含多个列的数据框;一些数字和一些字符如何计算特定列的和?我在谷歌上搜索了这个,我看到了许多函数(
sum
cumsum
rowsum
colSums
aggregate
apply
),但我无法理解所有这些

例如,假设我有一个包含以下列的数据框
people

people <- read(
  text = 
    "Name Height Weight
    Mary 65     110
    John 70     200
    Jane 64     115", 
  header = TRUE
)
…
people您可以使用
sum(people$Weight)

sum
对向量求和,
people$Weight
从数据帧检索权重列


注意-您可以通过使用
?sum
?colSums
等获得内置帮助。(顺便说一下,
colSums
将为您提供每列的总和)。

如果列中有“NA”值,则

sum(as.numeric(JuneData1$Account.Balance), na.rm = TRUE)

要在colsum之后订购:

order(colSums(people),decreasing=TRUE)
如果超过20+列

order(colSums(people[,c(5:25)],decreasing=TRUE) ##in case of keeping the first 4 columns remaining.

要对
data.frame
中的值求和,首先需要将它们提取为向量

有几种方法可以做到这一点:

# $ operatior
x <- people$Weight
x
# [1] 65 70 64
获得向量后,可以使用任何向量到标量函数来聚合结果:

sum(people[, 'Weight'])
# [1] 199
如果数据中有NA值,则应指定
NA.rm
参数:

sum(people[, 'Weight'], na.rm = TRUE)

当我这样做时,我得到:
[1]NA
。我看了这一列的数据,最后一行是NA,这是为什么?是的,这就是为什么。如果需要,您可以通过
sum(people$Weight,na.rm=TRUE)
忽略NAs(您可以在
?sum
中阅读此选项)。
sum(people[, 'Weight'], na.rm = TRUE)