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

rno*_*ian 3 loops r subset lapply sapply

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

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

我想知道我怎么可以自动(可能为sapply)子集中的每个组从long基于ll

ll <- c(2, 1, 2, 3)
long <- c(F, F, F, F, T, T, F, T)
Run Code Online (Sandbox Code Playgroud)

PoG*_*bas 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
Run Code Online (Sandbox Code Playgroud)