首页 > 解决方案 > 如何在不输入所有列名的情况下添加列?

问题描述

假设我有 10 列,我想添加第 11 列,将每行的第 1-6 列相加。我怎样才能做到这一点?我在另一个答案中看到了这一点:

data$newCol <- sum(data[1:6])

但这导致 newCol 中的所有行都有一个数字,这不是我想要做的。我知道如何做到这一点的唯一方法是这样的:

data$newCol <- data$colA + data$colB + data$colC 

等等,但是当我处理的不仅仅是几列时,这会变得乏味。有没有捷径,比如以某种方式使用 [1:6] ?我确定这是一个初学者的问题,我尝试搜索但没有看到对我有意义的答案,抱歉。

谢谢!

标签: rdataframeadd

解决方案


你可以试试apply功能

data$newCol <- apply(data[,1:6], 1, sum, na.rm=TRUE)

推荐阅读