首页 > 解决方案 > 如何从R中的数组中获取向量

问题描述

对不起,我不知道如何准确地表达这个问题。基本上,我有一个称为 x 和 y 坐标的数组,mydata如下所示:

              x        y
  [1,]       12        1
  [2,]       13        2
  [3,]      NaN      NaN
  [4,]      NaN      NaN
  [5,]       64        5

dput(mydata)给出:

structure(c(12, 13, 
NaN, NaN, 64 ... .Dim = c(934L, 
2L, 2L, 3L), .Dimnames = list(NULL, c("x", "y"), NULL, NULL))

str(mydata)给出:

num [1:934, 1:2, 1:2, 1:3] 558 NaN NaN NaN NaN ...
 - attr(*, "dimnames")=List of 4
  ..$ : NULL
  ..$ : chr [1:2] "x" "y"
  ..$ : NULL
  ..$ : NULL

我想将此数据输入到一个函数中,f(x, y) 该函数需要两个向量(x 和 y)。如何将这些数据输入到函数中?我的直觉是做 f(mydata['x'], mydata['y'],但这不起作用。

标签: rarraysvector

解决方案


如果是4D数组,试试

f(c(mydata[, "x", ,]),  c(mydata[, "y", ,]))

数据

mydata <- array(1:40, dim = c(5, 2, 2, 2), 
   dimnames = list(NULL, c("x", "y"), NULL, NULL))

推荐阅读