假设我有以下两个向量。 ll
定义了long
中元素的 组 之间的数量和边界。
例如,此处基于ll
,long
中的前两个元素是一个单独的集合,然后在它们之后的一个元素是一个单独的集合,依此类推。
我想知道如何基于sapply
自动(可能是long
)来自ll
的每个子集?
ll <- c(2, 1, 2, 3)
long <- c(F, F, F, F, T, T, F, T)
答案 0 :(得分:6)
您可以使用split
除以rep(seq_along(ll), ll)
(输出1 1 2 3 3 4 4 4
)。
split(long, rep(seq_along(ll), ll))
$`1`
[1] FALSE FALSE
$`2`
[1] FALSE
$`3`
[1] FALSE TRUE
$`4`
[1] TRUE FALSE TRUE