R - 和向量匹配的名字
R - sum vectors matching names
我需要对 table 中名称以特定字符串开头的列求和。
一个例子 table 可能是:
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
我们可以使用 Reduce
Reduce(`+`, tbl[a])
或rowSums
。 rowSums
还可以选择使用 na.rm=TRUE
.
删除 NA 元素
rowSums(tbl[a])
我需要对 table 中名称以特定字符串开头的列求和。
一个例子 table 可能是:
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
我们可以使用 Reduce
Reduce(`+`, tbl[a])
或rowSums
。 rowSums
还可以选择使用 na.rm=TRUE
.
rowSums(tbl[a])