【发布时间】:2026-02-16 18:00:01
【问题描述】:
我创建了一个表,在其中前三列中输入了一些值。我现在想在第四列中分别计算每行中所有单元格的总和。
例如:
v1 v2 v3 v4
1 2 3 6
4 5 6 15
这里,前三列中有一些值,第四列是每行前三个单元格的总和。谁能推荐一个方法?
【问题讨论】:
-
另一个选项是
addmargins(as.matrix(df1), 2)
我创建了一个表,在其中前三列中输入了一些值。我现在想在第四列中分别计算每行中所有单元格的总和。
例如:
v1 v2 v3 v4
1 2 3 6
4 5 6 15
这里,前三列中有一些值,第四列是每行前三个单元格的总和。谁能推荐一个方法?
【问题讨论】:
addmargins(as.matrix(df1), 2)
也许
T <- cbind(T,rowSums(T))
如果 T 是表。
【讨论】:
T而不是复制整个数据。 T["res"] <- rowSums(T),应该是更好的选择 IMO
您可以尝试apply() 与函数sum:
df$v5 <- apply(df,1,sum)
> df
# v1 v2 v3 v4 v5
#1 1 2 3 6 12
#2 4 5 6 15 30
这里apply()中第二个参数的值是1,表示应该对dataframe的每一行进行求和。
数据
df <- read.table(text="v1 v2 v3 v4
1 2 3 6
4 5 6 15", header=T)
【讨论】: