如何汇总data.frame中列的所有值?

时间:2012-03-12 23:22:42

标签: r sum dataframe

我有一个包含多个列的数据框;一些数字和一些字符。 如何计算特定列的总和?我已经搜索了这个,我看到了很多函数(sumcumsumrowsum,{{1 }},rowSumscolSumsaggregate)但我无法理解这一切。

例如,假设我有一个数据框apply,其中包含以下列

people

如何获得所有权重的总和?

4 个答案:

答案 0 :(得分:78)

您可以使用sum(people$Weight)

sum总结一个向量,people$Weight从数据框中检索权重列。

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

答案 1 :(得分:1)

当列中有“ NA”值时,则

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

答案 2 :(得分:1)

在求和后订购:

order(colSums(people),decreasing=TRUE)

如果超过20列以上

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

答案 3 :(得分:1)

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

有几种方法可以做到:

# $ operatior
x <- people$Weight
x
# [1] 65 70 64

或使用类似于矩阵的[, ]

x <- people[, 'Weight']
x
# [1] 65 70 64

一旦有了向量,就可以使用任何向量到标量函数来聚合结果:

sum(people[, 'Weight'])
# [1] 199

如果数据中包含NA值,则应指定na.rm参数:

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