我有一个向量列表( mylist
):
a <- c(1,2,3,4)
b <- c(5,6,7,8)
c <- c(9,10,11,12)
mylist <- list(a,b,c)
我也有一个位置向量( mypos
):
mypos <- c(1,2,3)
我想使用 mypos
给元素的位置为 mypos
的每个向量的子集,以便它返回:
[1] 1 6 11
我试过像这样使用lapply:
lapply(mylist, "[", mypos)
但这会返回每个向量的元素1,2和3:
[[1]]
[1] 1 2 3
[[2]]
[1] 5 6 7
[[3]]
[1] 9 10 11
我也尝试过:
lapply(mylist, subset, mypos)
但是这会返回一个错误,该子集必须是逻辑的
1 回答
我们可以使用
Map
从索引'mypos'中提取'mylist'的相应元素在每个
list
元素中重复OP 's code, the ' mypos',从而从索引中提取所有元素 . 相反,它可以按顺序循环