【发布时间】:2021-02-12 08:34:33
【问题描述】:
想象一下,我在 R 中有一个 N 维数组(矩阵将是一个二维数组),我想从数组的 1 到 n 中选择行。我想知道在不知道维数的情况下是否有在 R 中执行此操作的语法。 确实可以的
x = matrix(0, nrow = 10, ncol = 2)
x[1:5, ] # to take the 5 first rows of a matrix
x = array(0, dim = c(10, 2, 3))
x[1:5, , ] # to take the 5 first rows of a 3D array
到目前为止,我还没有找到一种方法来使用这种写作方式来提取数组的行而不知道它的维数(显然,如果我知道维数,我只需要根据需要放置尽可能多的逗号)。以下 sn-p 有效,但似乎不是最原生的方式:
x = array(0, dim = c(10, 2, 3, 4)
apply(x, 2:length(dim(x)), function(y) y[1:5])
有没有更多的 R 方法来实现这一点?
【问题讨论】:
-
R 注释字符是
#而不是//。我已经用这个更正编辑了这个问题。
标签: r multidimensional-array subset tensor