【问题标题】:Fill an array by specific columns in R按 R 中的特定列填充数组
【发布时间】:2017-08-17 15:32:10
【问题描述】:

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

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

任何帮助将不胜感激。

谢谢!

【问题讨论】:

标签: arrays r dimensions populate


【解决方案1】:

也许这就是你想要的。 首先,创建一个具有适当尺寸的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, , ]

【讨论】:

  • 或者evens &lt;- (1:ncol(dat) %% 2) == 0; h &lt;- c(unlist(dat[,!evens]), unlist(dat[,evens])); array(h, dim = c(92, 12, 2))[1:5,,],但你的答案更好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-20
  • 1970-01-01
  • 2022-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-08
相关资源
最近更新 更多