r - 如何在不输入所有列名的情况下添加列?
问题描述
假设我有 10 列,我想添加第 11 列,将每行的第 1-6 列相加。我怎样才能做到这一点?我在另一个答案中看到了这一点:
data$newCol <- sum(data[1:6])
但这导致 newCol 中的所有行都有一个数字,这不是我想要做的。我知道如何做到这一点的唯一方法是这样的:
data$newCol <- data$colA + data$colB + data$colC
等等,但是当我处理的不仅仅是几列时,这会变得乏味。有没有捷径,比如以某种方式使用 [1:6] ?我确定这是一个初学者的问题,我尝试搜索但没有看到对我有意义的答案,抱歉。
谢谢!
解决方案
你可以试试apply
功能
data$newCol <- apply(data[,1:6], 1, sum, na.rm=TRUE)