我有一個尺寸爲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是無望的。 –