我有一个类'factor'
的向量,如:
vec <-c("1,1,1,1,1,2","2,1,2","3,3,4")
我想得到另一个这样的矢量:
sumvec <- c(7, 5, 10)
我该怎么做?我正在使用R.
答案 0 :(得分:7)
试试这个:
> sapply(strsplit(as.character(vec), ","), function(x) sum(as.numeric(x)))
[1] 7 5 10
基本思想是分割字符向量,提取数值,并计算总和。 strsplit
不适用于因素,因此如果您确实有因素,则需要先将它们转换为字符。同样,sum
不会对结果字符起作用,因此您需要先将其转换为数字。