如何对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)