我需要对名称以特定字符串开头的表的列进行求和。
示例表可能是:
tbl<-data.frame(num1=c(3,2,9), num2=c(3,2,9),n3=c(3,2,9),char1=c('a', 'b', 'c'))
我得到列的列表(在这个例子中我只写了2个,但真实案例有更多的tan 20)。
a<-colnames(tbl)[grep('num', colnames(tbl))]
我试过
sum(tbl[,a])
但是我只得到两个向量中元素总和的一个数字。
我需要的是:
的结果tbl$num1+ tbl$num2
答案 0 :(得分:0)
我们可以使用Reduce
Reduce(`+`, tbl[a])
或rowSums
。 rowSums
还可以选择使用na.rm=TRUE
删除NA元素。
rowSums(tbl[a])