【发布时间】:2014-10-02 20:36:10
【问题描述】:
我有 472 个矩阵,每个矩阵有 405 列(matrix1,...,matrix400),并且希望有 472 个新矩阵,其中只有该矩阵的前 244 列。我怎样才能做到这一点?我试过了:
for (i in 1:472) {
assign(paste("new_matrix",i,sep=""), matrix[[i]][,c(1:244)])
}
我通过用一个标识符(对于组)拆分一个数据帧来创建矩阵:
for (i in 1:472){
assign(paste("matrix", i, sep=""), subset(data, ID==i))
}
不知何故,我无法对每个矩阵说话,但我不知道如何做到这一点。
【问题讨论】:
-
我无法完全理解您的问题。列表中有所有这些矩阵吗?
-
不,它们是单个矩阵,但它们的名称是 matrix1、matrix2、matrix3 等。这有帮助吗?
-
好吧,如果你没有清单,你应该。在 R 中拥有一堆像这样的单个变量名是低效的,尤其是当你想对它们都执行类似的操作时。您应该很少需要在 R 中使用
get()/assign(),尤其是如果您是 R 新手。这通常表明您没有以“R 方式”做事。您是如何创建所有这些变量的? -
以如此无组织的方式拥有所有这些矩阵很奇怪。这是真正的问题。之后,就有可能找到解决方法...
-
请看看我是如何得到这些矩阵的,已经感谢您的大力支持!