【发布时间】:2014-03-17 16:20:27
【问题描述】:
我创建了一个名为“Mix”的多个矩阵列表,我需要将列表中的所有矩阵子集化为相同数量的行和列(5:1、5:20)。我试过了,但没有用:
NM<-lapply(Mix, subset(c(5:31,5:20)))
我也试过了:
NM<-lapply(Mix, subset(c[5:31],c[5:20]))
还是不行。对 Mix 中的所有矩阵进行子集化的最佳选择是什么?
【问题讨论】:
-
为什么不使用:
NM <-lapply(Mix, function(x) x[5:31,5:20]),如果你想将它们合并成一个矩阵,do.call("rbind",NM) -
谢谢 rmk。我刚试了一下,观察到其中一个矩阵的维度可能更小。有没有一个命令可以从整个矩阵中检查这一点,而不是一个接一个地检查它们?
-
do.call('rbind', lapply(NM, dim))应该为您提供 NM 中所有矩阵的维度。然后您可以检查它们是否匹配。 -
谢谢 rmk。它奏效了