我有一个包含100,000个元素的大型数组。我想将它转换为四列矩阵,其中col1包含值1:25000,col2包含25001:50000等。
这是循环的最佳方法吗?到目前为止,我最好的尝试都没有执行,所以想知道最好的方法。
for (i in 1:25000){
mat[i,1] <- arr[i]
mat[i,2] <- arr[i+25000]
mat[i,3] <- arr[i+50000]
mat[i,4] <- arr[i+75000]
}
我也怀疑有更好的方法,所以如果你知道更好的方法,就会喜欢听。
举个例子:
16
48
27
80
59
20
79
24
57
7
95
11
58
91
2
29
53
4
83
47
将成为......
16 20 7 2
48 79 95 29
27 24 11 53
80 57 58 4
59 7 91 83
答案 0 :(得分:1)
这应该可以解决问题:
(x <- 1:20)
# [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
dim(x) <- c(5, 4)
x
# [,1] [,2] [,3] [,4]
# [1,] 1 6 11 16
# [2,] 2 7 12 17
# [3,] 3 8 13 18
# [4,] 4 9 14 19
# [5,] 5 10 15 20