将具有范围或值的字符转换为R中仅值的向量
我有一个字符向量将具有范围或值的字符转换为R中仅值的向量,r,strsplit,R,Strsplit,我有一个字符向量c(“1:3”,“4”),我需要的是c(1,2,3,4) 到目前为止,我所做的是获取原始向量的每个元素,使用上的strsplit“1:3”,检索数字1和3,形成向量c(1,2,3),然后通过与4串联得到所需的向量 有没有更简单的方法 提前谢谢 一个选项是eval(parse unlist(lapply(v1, function(x) eval(parse(text=x)))) 或者在strsplit之后,使用获取序列: unlist(lapply(strsplit(v1, "
c(“1:3”,“4”)
,我需要的是c(1,2,3,4)
到目前为止,我所做的是获取原始向量的每个元素,使用上的strsplit
“1:3”
,检索数字1
和3
,形成向量c(1,2,3)
,然后通过与4
串联得到所需的向量
有没有更简单的方法
提前谢谢 一个选项是eval(parse
unlist(lapply(v1, function(x) eval(parse(text=x))))
或者在
strsplit
之后,使用获取序列:
unlist(lapply(strsplit(v1, ":"), function(x) Reduce(`:`, as.numeric(x))))
#[1] 1 2 3 4
数据
v1
v1 <- c("1:3","4")