通过 R 中的特定列填充数组

Fill an array by specific columns in R

这可能是一个简单的问题,但我是 R 的新手,无法弄清楚。我已经尝试广泛搜索答案,但我找不到答案。

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

如有任何帮助,我们将不胜感激。

谢谢!

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

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

然后,这只是一个列的洗牌和 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, , ]