使用索引从一个列表中提取元素,使用R从另一个列表中提取

使用索引从一个列表中提取元素,使用R从另一个列表中提取,r,list,indexing,R,List,Indexing,我有一个向量集合列表和第二个索引列表(长度相同)。我想使用第二个列表只提取第一个列表的索引元素 dataList <- list(1:10, 101:150, LETTERS) indexList <- list(3:5, 10:15, c(1,5,9,15,21)) dataList我们可以使用Map根据“indexList”中的索引提取相应的list元素 Map(`[`, dataList, indexList) 或者使用purr library(purrr) map2(d

我有一个向量集合列表和第二个索引列表(长度相同)。我想使用第二个列表只提取第一个列表的索引元素

dataList <- list(1:10, 101:150, LETTERS)
indexList <- list(3:5, 10:15, c(1,5,9,15,21))

dataList我们可以使用
Map
根据“indexList”中的索引提取相应的
list
元素

Map(`[`, dataList, indexList)

或者使用
purr

library(purrr)
map2(dataList, indexList, `[`)
使用lappy()

dataList <- list(1:10, 101:150, LETTERS)
indexList <- list(3:5, 10:15, c(1,5,9,15,21))
lapply(1:length(dataList), FUN=function(x, list1, list2) list1[[x]][list2[[x]]] , list1=dataList, list2=indexList)
[[1]]
[1] 3 4 5

[[2]]
[1] 110 111 112 113 114 115

[[3]]
[1] "A" "E" "I" "O" "U"