我有一个包含多个列的数据框;一些数字和一些字符。 如何计算特定列的总和?我已经搜索了这个,我看到了很多函数(sum
,cumsum
,rowsum
,{{1 }},rowSums
,colSums
,aggregate
)但我无法理解这一切。
例如,假设我有一个数据框apply
,其中包含以下列
people
如何获得所有权重的总和?
答案 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)