【发布时间】:2015-08-09 21:00:29
【问题描述】:
我有以下数据框
Type CA AR
alpha 1 5
beta 4 9
gamma 3 8
我想得到如下所示的列和行总和:
Type CA AR Total
alpha 1 5 6
beta 4 9 13
gamma 3 8 11
Total 8 22 30
我想我可以做 rowSums(如上所示),因为它们都是数字的。
colSums(df)
但是,当我执行 colSums 时,我收到错误“x 必须是数字”。我意识到这是因为“类型”列不是数字。
如果我执行以下代码以尝试将值打印到第 4 行(并且仅对第 2 到第 4 列求和)
df[,4] = colSums(df[c(2:4)]
然后我得到一个错误,即替换与数据大小不同。
有谁知道如何解决这个问题?我想打印第 2-4 列的总和,并将第一列总计留空或允许我打印“总计”?
提前致谢!!
【问题讨论】:
-
他们不是
colSums,而是rowSums! -
错误是因为您要求 R 将
n列对象与n-1向量绑定,并且由于长度差异,R 可能不知道计算这个值。试试这个data[4, ] <- c(NA, colSums(data[, 2:3]) ) -
错误是因为行不是列。没有
n与n-1概念问题。想象一个有 20 行 5 列的数据框。
标签: r