我在.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