用于在R矩阵形式产生自举样本快速功能(fast function for generating bo

2019-08-03 02:55发布

我有一个矩阵A ,我想从每列绘制样品A和建设新的矩阵。 例如:

A = matrix(seq(1,9),3,3)

所以,从第一列获得第一引导矩阵,我将与更换样品(3次) A ,即1,2,3,样品与从置换的第二列(3次) A ,即4,5, 6,和样品与从第三列置换(3次) A ,即7,8,9。 在那之后,我通过结合三个引导矢量重新构造的第一自举矩阵B1。 我会重复此过程B = 199次,使引导矩阵B1,...,B199将可用。

我的问题是,我怎样才能使这个程序运行得更快? 我应该使用哪种功能? 我知道apply主要涉及for循环,因此速度不能保证。 如何do.call ? 谢谢!

Answer 1:

您可以使用replicateapply

A <- matrix(seq(1,9),3,3)

B <- 199

replicate(B, apply(A, 2, sample, replace = TRUE))


文章来源: fast function for generating bootstrap samples in matrix forms in R