R:在特定字符处将长度为n> 1的分割字符向量分成n个向量的列表

时间:2014-10-30 22:05:38

标签: regex r vector

我有一个带有重复字符的向量,我需要在字符为“”(空字符)的位置处将其分解,从而获得尽可能多的字符向量列表 我的分隔点。 Vector t描述了现在的情况,而S是应该的结果。我知道使用“”作为分隔符可能是个问题。在那种情况下,我可以用一个特殊的角色代替它。

set.seed<-123
S<-list(character(10))
t<-as.vector(NULL)
for (i in 1:10) {
  temp<-c("",rep("a",rbinom(1,10,0.5)), rep("b", rbinom(1,10,0.5)), rep("c", rbinom(1,10,0.5)))
  t<-append(t,temp)
  S[[i]]<-temp[temp!=""]
}

谢谢。

1 个答案:

答案 0 :(得分:0)

可能有更好的方法,但这似乎接近你想要的

trythis <- split(t, cumsum(t == ""))

<强>

您编辑了问题以从S中删除空白。你可以调整我的答案

blanks  <- which(t == "")
trythis <- split(t[-blanks], cumsum(t == "")[-blanks])