在R中将矢量拆分为不相等的块

Pla*_*oul 8 split r

我有同样的问题在这里,我除了要指定另一个向量变量分裂长度.所以,像这样:

example.data<-paste("ex",1:10,sep="")
example.data
 [1] "ex1"  "ex2"  "ex3"  "ex4"  "ex5"  "ex6"  "ex7"  "ex8"  "ex9"  "ex10"
split.lens <- c(4,2,1,3)
Run Code Online (Sandbox Code Playgroud)

应该给我以下列表:

result.list
[[1]]
[1] "ex1" "ex2" "ex3" "ex4"

[[2]]
[1] "ex5" "ex6"

[[3]]
[1] "ex7"

[[4]]
[1] "ex8"  "ex9"  "ex10"
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚这样做的最好方法split.有任何想法吗?

谢谢!

Dat*_*neR 11

split(example.data, rep(1:4, c(4,2,1,3)))
Run Code Online (Sandbox Code Playgroud)

  • 如果我们假设他们已经创建了`split.lens`对象,则较少的硬编码(更多的编程方式)将是`rep(seq_along(split.lens),split.lens)`。(+1) (2认同)