我在.CSV fromat中有一個大的數據集200行和5列。 這裏是數據集的一部分:將索引分配給r中的for循環內的一個矩陣
4.1 1.2 47.3 10954 51
3.4 1.5 0.5 1 5316
0.3 30.1 1.2 10 875
0.2 0.4 119 0 0
0 52.6 0.1 0 3.1
0 0.3 880 0 0
0 0.1 148 180 0
0 0.1 490.2 0 0.4
0 1.1 0.2 0.6 0.9
0 0 0 0 0
我想用for循環寫代碼,以分別讀取每個10行和(5 10)將它存儲在一個矩陣。所以最後我有20個矩陣(10 * 5)。這是命令行:
all.data <- read.csv("C:\\Users\\Desktop\\myarray.csv",header=FALSE)#read whole data
for (k in 1:20){
data_temp.k <- array(NA, dim=c(10,5))
for(i in 1:10){
for(j in 1:5) {
data_temp.k[i,j] <- all.data[(k-1)*10:k*10,j]
}
}
}
write.csv(data_temp.k,"mymatrix.k")
我知道這個問題在某種程度上與「k」及其雙重功能在這裏作爲矩陣索引和計數器相關。
我喜歡你的答案,但正如我所提到的,我需要爲每個矩陣考慮索引號。所以最後我可以有m.1,m.2,...,m.20這些矩陣中的每一個存儲原始矩陣的一個塊。 – SaZa