【发布时间】:2014-02-26 12:53:43
【问题描述】:
我有一个矩阵,我想在列表中复制 n 次。 显然 rep() 函数不适用于矩阵,那么有没有人有一个很好的建议如何使它比我下面的代码更好?
谢谢!
# Create sample matrix
jwprox <- matrix(ncol=15,nrow=15)
# Create list of n-times matrices
jwprox <- list(jwprox,jwprox,jwprox)
【问题讨论】:
我有一个矩阵,我想在列表中复制 n 次。 显然 rep() 函数不适用于矩阵,那么有没有人有一个很好的建议如何使它比我下面的代码更好?
谢谢!
# Create sample matrix
jwprox <- matrix(ncol=15,nrow=15)
# Create list of n-times matrices
jwprox <- list(jwprox,jwprox,jwprox)
【问题讨论】:
您可以使用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 ...
或replicate():
xx <- replicate(n, jwprox, simplify=FALSE)
identical(x,xx)
# [1] TRUE
(FWIW,replicate() 只是 sapply() 和 lapply() 的有时方便的包装器。)
【讨论】: