我有一个向量,其元素包含多个数字.如何对每个元素中的数字求和并创建一个新的向量?

Ayu*_*ngh 1 r vector

我有一个类的向量'factor':

vec <-c("1,1,1,1,1,2","2,1,2","3,3,4")
Run Code Online (Sandbox Code Playgroud)

我想得到另一个这样的矢量:

sumvec <- c(7, 5, 10)
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?我在用R.

A5C*_*2T1 7

试试这个:

> sapply(strsplit(as.character(vec), ","), function(x) sum(as.numeric(x)))
[1]  7  5 10
Run Code Online (Sandbox Code Playgroud)

基本思想是分割字符向量,提取数值,并计算总和.strsplit不适用于因素,因此如果您确实有因素,则需要先将它们转换为字符.同样,sum不会对结果字符起作用,因此您需要先将其转换为数字.