按R中的特定列填充数组

时间:2017-08-17 15:32:10

标签: arrays r dimensions populate

这可能是一个简单的问题,但我是R的新手并且无法搞清楚。我已经尝试过广泛搜索答案,我无法想出答案。

我的数据帧是92:24。我想创建一个数组(92,2,12),它从数据框中的列填充。我希望第1列和第2列是"堆叠",第3列和第4列,第5列和第6列,依此类推。数组的第一个维度应该对应于所有奇数列,第二个维度应该对应于所有偶数列,在每个维度中有92行和12列。

非常感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:2)

也许这就是你想要的。 首先,创建一个具有适当尺寸的data.frame

dat <- as.data.frame(matrix(1:2208, ncol = 24))

然后,它只是一个列'shuffle和dim技巧。

mat <- as.matrix(dat)
mat <- mat[, c((1:12)*2 - 1, (1:12)*2)]
dim(mat) <- c(92, 12, 2)

# See the first 5 rows
mat[1:5, , ]