我有一个尺寸为nrow=20, ncol=1000
的矩阵bigDaddy
。现在我有一个for
循环,我想要运行100次迭代,并且在每次迭代中,我想要得到一列10列和所有行bigDaddy
。例如在第一次迭代中,所有行和列1-10,第二次迭代所有行和列11-20等等。R - 在for循环中将矩阵按R列逐列切片
这里是我想要的代码:
for(i in seq(from=1, to 991, by=10))
{
smallChild <- bigDaddy[,i:i+9]
}
但什么是smallChild
给我的第一次迭代是矩阵bigDaddy
的第10列上创建一个20长度矢量。如果我在smallChild <- bigDaddy[,1:10]
这样的代码中对我的值进行硬编码,我会得到预期的矩阵。
有人能指出我正确的方向吗?
你错过了括号'i:(i + 9)'。另外,您一次又一次地将值重新分配给'SmallChild'。当循环结束时,你将只有最后一次迭代。 –
谢谢你,你是对的。来自非R编程背景,我觉得现在R是无望的。 –