汇总数据框中的列,并使用for循环创建新数据框

时间:2018-11-12 11:56:00

标签: r for-loop dataframe

我有一个如下数据框:

x1 <- c(1, 2, 3, 4, 5)
x2 <- c(1, 3, 5, 7, 9)
x3 <- c(1, 2, 1, 2, 1)
df <- data.frame(x1, x2, x3)

我想创建一个新列y,它是每一列的总值。可以这样完成:

df$y <- df$x1 + df$x2 + df$x3

但是我需要循环执行。这是我能做的最好的事情:

for (i in 1:3) {
  x <- paste0("x", i)
  df$y <- sum(df[[x]][1])
}

如何获取for循环以提供与上述总和相同的结果?非常感谢您的帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

由于矢量化,您可以这样做:

permute