将矩阵n次重复到列表中 [英] Repeat matrix n-times into a list

查看:91
本文介绍了将矩阵n次重复到列表中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个矩阵,想要在列表中重复n次. 显然,rep()函数不适用于矩阵,因此,有谁能提出一个比我下面的代码更好的建议呢?

I have a matrix that i want to duplicate n times in a list. Obviously the rep() function does not work on matrices, so does anyone have a good suggestion how to make this better than my code below?

谢谢!

# 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()的有时很方便的包装器.)

(FWIW, replicate() is just a sometimes-handy wrapper for sapply() and, in turn, lapply().)

这篇关于将矩阵n次重复到列表中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆