在R中添加字符串并转换为数字

时间:2017-09-25 20:08:19

标签: r

我需要转换这个字符串向量:

v <- c("60","40 60","30","NA")

通过对每次出现进行求和来对此向量

60 100 30 NA

有一种简单的方法可以在向量中执行此操作而不循环遍历每个实例吗?

1 个答案:

答案 0 :(得分:2)

因为向量的每个元素可能包含多个值,所以使用列表函数会陷入困境。在使用sum函数迭代 列表之前,请使用lapply to strsplit并转换为numeric。切换na.rm以不同方式处理NA值。

v <- c("60","40 60","30","NA")
sapply(lapply(strsplit(v, " "), as.numeric), sum, na.rm=F)