请帮忙看一下下面的例子:
a <- "1:4, 20:25, 30:40"
我需要转换a
到一个数字向量,就好像我没有引号一样a
,我的意思是:
> c(1:4, 20:25, 30:40)
[1] 1 2 3 4 20 21 22 23 24 25 30 31 32 33 34 35 36 37 38 39 40
unlist(lapply(unlist(strsplit(a, ",")), function(x) eval(parse(text = x))))
# [1] 1 2 3 4 20 21 22 23 24 25 30 31 32 33 34 35 36 37 38 39 40
这是 R 基础中的另一种方法,不使用eval(parse())
unlist(lapply(strsplit(x = a, split = ","), function(x){
unlist(lapply(strsplit(x = x, split = ":"), function(y)
as.numeric(y[1]):as.numeric(y[2])))
}))
# [1] 1 2 3 4 20 21 22 23 24 25 30 31 32 33 34 35 36 37 38 39 40
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)