如何根据索引向量对向量列表进行子集化?
How to subset a list of vectors based on a vector of indexes?
我想使用 purrr
对该列表中的元素进行子集化
u <- list(a=1:10, b=1:10)
使用 maxCol
作为从 1 开始的索引向量的最高边界。例如,假设
maxCol <- c(6L, 3L)
那么输出应该是这样的
$a
[1] 1 2 3 4 5 6
$b
[1] 1 2 3
其实我想保留a
位置1到位置6的所有值,以及b
位置1到3的所有值。
我知道如何用循环来做,但我想使用 purrr
。例如,我认为这样的事情会起作用但它没有:
map2(u, maxRow, u[1:maxCol])
这对我有用:
map2(u,maxCol,head)
输出
$a
[1] 1 2 3 4 5 6
$b
[1] 1 2 3
我们可以使用 Map
来自 base R
Map(head, u, n = maxCol)
我想使用 purrr
对该列表中的元素进行子集化
u <- list(a=1:10, b=1:10)
使用 maxCol
作为从 1 开始的索引向量的最高边界。例如,假设
maxCol <- c(6L, 3L)
那么输出应该是这样的
$a
[1] 1 2 3 4 5 6
$b
[1] 1 2 3
其实我想保留a
位置1到位置6的所有值,以及b
位置1到3的所有值。
我知道如何用循环来做,但我想使用 purrr
。例如,我认为这样的事情会起作用但它没有:
map2(u, maxRow, u[1:maxCol])
这对我有用:
map2(u,maxCol,head)
输出
$a
[1] 1 2 3 4 5 6
$b
[1] 1 2 3
我们可以使用 Map
来自 base R
Map(head, u, n = maxCol)