根据R中另一个向量中定义的数字位置查找向量的元素

时间:2019-05-16 19:48:53

标签: r loops subset lapply sapply

假设我有以下两个向量。 ll定义了long中元素的 之间的数量和边界。

例如,此处基于lllong中的前两个元素是一个单独的集合,然后在它们之后的一个元素是一个单独的集合,依此类推。

我想知道如何基于sapply自动(可能是long)来自ll的每个子集?

ll <- c(2, 1, 2, 3)
long <- c(F, F, F, F, T, T, F, T)

1 个答案:

答案 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