将矩阵重复n次到列表中

spe*_*seh 4 r list matrix

我有一个矩阵,我想在列表中复制n次.显然rep()函数不适用于矩阵,所以有人有一个很好的建议如何使这比我下面的代码更好吗?

谢谢!

# Create sample matrix
jwprox <- matrix(ncol=15,nrow=15)
# Create list of n-times matrices
jwprox <- list(jwprox,jwprox,jwprox)
Run Code Online (Sandbox Code Playgroud)

Jos*_*ien 5

你可以使用其中之一 lapply()

n <- 3

x <- lapply(seq_len(n), function(X) jwprox)
str(x)
# List of 3
#  $ : logi [1:15, 1:15] NA NA NA NA NA NA ...
#  $ : logi [1:15, 1:15] NA NA NA NA NA NA ...
#  $ : logi [1:15, 1:15] NA NA NA NA NA NA ...
Run Code Online (Sandbox Code Playgroud)

或者replicate():

xx <- replicate(n, jwprox, simplify=FALSE)
identical(x,xx)
# [1] TRUE
Run Code Online (Sandbox Code Playgroud)

(FWIW,反过来,replicate()它只是一个有时候方便的包装器.)sapply()lapply()