使用索引从一个列表中提取元素,使用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"