Use*_*ser 65 r sum aggregate-functions dataframe
我有一个包含多个列的数据框; 一些数字和一些字符.如何计算特定列的总和?我GOOGLE了这一点,我看到无数的功能(sum,cumsum,rowsum,rowSums,colSums,aggregate,apply),但我不能让这一切的感觉.
例如,假设我有一个people包含以下列的数据框
people <- read(
text =
"Name Height Weight
Mary 65 110
John 70 200
Jane 64 115",
header = TRUE
)
…
Run Code Online (Sandbox Code Playgroud)
我如何得到所有重量的总和?
mat*_*fee 85
你可以使用sum(people$Weight).
sum总结一个向量,并people$Weight从数据框中检索权重列.
注-您可以通过使用获得内置的帮助?sum,?colSums等等.(顺便说一下,colSums会给你每一列的总和).
Rei*_*ica 12
要对其中的值求和,data.frame首先需要将它们提取为向量。
有几种方法可以做到这一点:
# $ operatior
x <- people$Weight
x
# [1] 65 70 64
Run Code Online (Sandbox Code Playgroud)
或者使用[, ]类似于矩阵:
x <- people[, 'Weight']
x
# [1] 65 70 64
Run Code Online (Sandbox Code Playgroud)
获得向量后,您可以使用任何向量到标量函数来聚合结果:
sum(people[, 'Weight'])
# [1] 199
Run Code Online (Sandbox Code Playgroud)
如果数据中有 NA 值,则应指定na.rm参数:
sum(people[, 'Weight'], na.rm = TRUE)
Run Code Online (Sandbox Code Playgroud)