在向量R中的值分隔符处拆分元素

时间:2016-10-07 10:54:58

标签: r vector split

我正在尝试将矢量拆分为某个值分隔符。 我有以下向量:v <- c("A", "B", "C","-" ,"D", "E", "F") 让我们说这个例子,值定界符是:&#39; - &#39;。

我想要的是获得几个向量,因为这个向量包含这个分隔符,因为我不知道它们中有多少个。在这个例子中,我想要的结果应该是两个向量 v1 v2 ,输出结果如下:

> v1
[1] "A" "B" "C"

> v2
[1] "D" "E" "F"

是否有方法或程序包可以执行此操作?

1 个答案:

答案 0 :(得分:3)

我们可以对逻辑向量使用cumsum,然后split进入list的{​​{1}}。

vector

如果我们需要lst <- split(v[v!='-'], cumsum(v=="-")[v!='-']) names(lst) <- paste0("v", seq_along(lst)) 个对象,请使用vector(不建议使用)

list2env

或者,我们可以在全局环境中直接创建list2env(lst, envir = .GlobalEnv) 个对象

vector