my_mat1 <- matrix(c(10,20,50,11,21,51,12,22,52), nrow=3, ncol=3)
my_mat2 <- my_mat1 + 1
my_mat3 <- my_mat2 + 1.5
five_bs <- function(m) {
# return five bootstrapped samples of the matrix m
return(lapply(1:5, function(x) m[sample.int(nrow(m)), ]))
}
# nedted list
lapply(list(my_mat1, my_mat2, my_mat3), five_bs)
#> [[1]]
#> [[1]][[1]]
#> [,1] [,2] [,3]
#> [1,] 20 21 22
#> [2,] 10 11 12
#> [3,] 50 51 52
#>
#> [[1]][[2]]
#> [,1] [,2] [,3]
#> [1,] 50 51 52
#> [2,] 10 11 12
#> [3,] 20 21 22
#>
#> [[1]][[3]]
#> [,1] [,2] [,3]
#> [1,] 20 21 22
#> [2,] 50 51 52
#> [3,] 10 11 12
#>
#> [[1]][[4]]
#> [,1] [,2] [,3]
#> [1,] 10 11 12
#> [2,] 20 21 22
#> [3,] 50 51 52
#>
#> [[1]][[5]]
#> [,1] [,2] [,3]
#> [1,] 50 51 52
#> [2,] 20 21 22
#> [3,] 10 11 12
#>
#>
#> [[2]]
#> [[2]][[1]]
#> [,1] [,2] [,3]
#> [1,] 21 22 23
#> [2,] 11 12 13
#> [3,] 51 52 53
#>
#> [[2]][[2]]
#> [,1] [,2] [,3]
#> [1,] 21 22 23
#> [2,] 51 52 53
#> [3,] 11 12 13
#>
#> [[2]][[3]]
#> [,1] [,2] [,3]
#> [1,] 21 22 23
#> [2,] 51 52 53
#> [3,] 11 12 13
#>
#> [[2]][[4]]
#> [,1] [,2] [,3]
#> [1,] 51 52 53
#> [2,] 21 22 23
#> [3,] 11 12 13
#>
#> [[2]][[5]]
#> [,1] [,2] [,3]
#> [1,] 11 12 13
#> [2,] 21 22 23
#> [3,] 51 52 53
#>
#>
#> [[3]]
#> [[3]][[1]]
#> [,1] [,2] [,3]
#> [1,] 12.5 13.5 14.5
#> [2,] 52.5 53.5 54.5
#> [3,] 22.5 23.5 24.5
#>
#> [[3]][[2]]
#> [,1] [,2] [,3]
#> [1,] 12.5 13.5 14.5
#> [2,] 22.5 23.5 24.5
#> [3,] 52.5 53.5 54.5
#>
#> [[3]][[3]]
#> [,1] [,2] [,3]
#> [1,] 22.5 23.5 24.5
#> [2,] 52.5 53.5 54.5
#> [3,] 12.5 13.5 14.5
#>
#> [[3]][[4]]
#> [,1] [,2] [,3]
#> [1,] 52.5 53.5 54.5
#> [2,] 22.5 23.5 24.5
#> [3,] 12.5 13.5 14.5
#>
#> [[3]][[5]]
#> [,1] [,2] [,3]
#> [1,] 52.5 53.5 54.5
#> [2,] 22.5 23.5 24.5
#> [3,] 12.5 13.5 14.5
# unnested
do.call(c, lapply(list(my_mat1, my_mat2, my_mat3), five_bs))
#> [[1]]
#> [,1] [,2] [,3]
#> [1,] 50 51 52
#> [2,] 20 21 22
#> [3,] 10 11 12
#>
#> [[2]]
#> [,1] [,2] [,3]
#> [1,] 10 11 12
#> [2,] 50 51 52
#> [3,] 20 21 22
#>
#> [[3]]
#> [,1] [,2] [,3]
#> [1,] 10 11 12
#> [2,] 50 51 52
#> [3,] 20 21 22
#>
#> [[4]]
#> [,1] [,2] [,3]
#> [1,] 20 21 22
#> [2,] 50 51 52
#> [3,] 10 11 12
#>
#> [[5]]
#> [,1] [,2] [,3]
#> [1,] 10 11 12
#> [2,] 20 21 22
#> [3,] 50 51 52
#>
#> [[6]]
#> [,1] [,2] [,3]
#> [1,] 51 52 53
#> [2,] 11 12 13
#> [3,] 21 22 23
#>
#> [[7]]
#> [,1] [,2] [,3]
#> [1,] 11 12 13
#> [2,] 51 52 53
#> [3,] 21 22 23
#>
#> [[8]]
#> [,1] [,2] [,3]
#> [1,] 11 12 13
#> [2,] 51 52 53
#> [3,] 21 22 23
#>
#> [[9]]
#> [,1] [,2] [,3]
#> [1,] 11 12 13
#> [2,] 21 22 23
#> [3,] 51 52 53
#>
#> [[10]]
#> [,1] [,2] [,3]
#> [1,] 11 12 13
#> [2,] 21 22 23
#> [3,] 51 52 53
#>
#> [[11]]
#> [,1] [,2] [,3]
#> [1,] 12.5 13.5 14.5
#> [2,] 22.5 23.5 24.5
#> [3,] 52.5 53.5 54.5
#>
#> [[12]]
#> [,1] [,2] [,3]
#> [1,] 22.5 23.5 24.5
#> [2,] 52.5 53.5 54.5
#> [3,] 12.5 13.5 14.5
#>
#> [[13]]
#> [,1] [,2] [,3]
#> [1,] 22.5 23.5 24.5
#> [2,] 12.5 13.5 14.5
#> [3,] 52.5 53.5 54.5
#>
#> [[14]]
#> [,1] [,2] [,3]
#> [1,] 52.5 53.5 54.5
#> [2,] 12.5 13.5 14.5
#> [3,] 22.5 23.5 24.5
#>
#> [[15]]
#> [,1] [,2] [,3]
#> [1,] 22.5 23.5 24.5
#> [2,] 12.5 13.5 14.5
#> [3,] 52.5 53.5 54.5
Created on 2021-06-08 by the reprex package (v1.0.0)