我在 R 中有一个数组,由这样的函数创建:
A <- array(data=NA, dim=c(2,4,4), dimnames=list(c("x","y"),NULL,NULL))
我想选择一维,所以对于上面的例子,我会有:
A["x",,]
dim(A["x",,]) #[1] 4 4
如果我事先不知道我的数组可能有多少维(除了我要选择的命名维),有没有一种方法可以概括?我想编写一个函数,该函数接受可能格式化为上述 A 的输入,或者:
B <- c(1,2)
names(B) <- c("x", "y")
C <- matrix(1, 2, 2, dimnames=list(c("x","y"),NULL))
背景
一般背景是我正在研究 ODE 模型,因此对于 deSolve 的 ODE 函数,它必须采用我当前状态的单个命名向量。对于其他一些函数,比如计算相平面/方向场,有一个更高维的数组来应用微分方程会更实用,而且我想避免拥有相同函数的多个副本,只是使用不同的我要选择的维度后的逗号数。