我正在尝试将矢量拆分为某个值分隔符。
我有以下向量:v <- c("A", "B", "C","-" ,"D", "E", "F")
让我们说这个例子,值定界符是:&#39; - &#39;。
我想要的是获得几个向量,因为这个向量包含这个分隔符,因为我不知道它们中有多少个。在这个例子中,我想要的结果应该是两个向量 v1 和 v2 ,输出结果如下:
> v1
[1] "A" "B" "C"
和
> v2
[1] "D" "E" "F"
是否有方法或程序包可以执行此操作?
答案 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