我们可以使用sapply 和simplify = FALSE
sapply(indexlist, function(x) test1[, x] , simplify = FALSE)
#[[1]]
# [,1] [,2] [,3]
# [1,] -0.6264538 1.51178117 0.91897737
# [2,] 0.1836433 0.38984324 0.78213630
# [3,] -0.8356286 -0.62124058 0.07456498
# [4,] 1.5952808 -2.21469989 -1.98935170
# [5,] 0.3295078 1.12493092 0.61982575
# [6,] -0.8204684 -0.04493361 -0.05612874
# [7,] 0.4874291 -0.01619026 -0.15579551
# [8,] 0.7383247 0.94383621 -1.47075238
# [9,] 0.5757814 0.82122120 -0.47815006
#[10,] -0.3053884 0.59390132 0.41794156
#[[2]]
# [,1] [,2] [,3]
# [1,] 1.35867955 -0.1645236 0.3981059
# [2,] -0.10278773 -0.2533617 -0.6120264
# [3,] 0.38767161 0.6969634 0.3411197
# [4,] -0.05380504 0.5566632 -1.1293631
# [5,] -1.37705956 -0.6887557 1.4330237
# [6,] -0.41499456 -0.7074952 1.9803999
# [7,] -0.39428995 0.3645820 -0.3672215
# [8,] -0.05931340 0.7685329 -1.0441346
# [9,] 1.10002537 -0.1123462 0.5697196
#[10,] 0.76317575 0.8811077 -0.1350546
#[[3]]
# [,1] [,2] [,3]
# [1,] 2.40161776 0.475509529 -0.5686687
# [2,] -0.03924000 -0.709946431 -0.1351786
# [3,] 0.68973936 0.610726353 1.1780870
# [4,] 0.02800216 -0.934097632 -1.5235668
# [5,] -0.74327321 -1.253633400 0.5939462
# [6,] 0.18879230 0.291446236 0.3329504
# [7,] -1.80495863 -0.443291873 1.0630998
# [8,] 1.46555486 0.001105352 -0.3041839
# [9,] 0.15325334 0.074341324 0.3700188
#[10,] 2.17261167 -0.589520946 0.2670988
或与map 来自purrr
library(purrr)
map(indexlist, ~ test1[, .x])