次のような関数によって作成されたRの配列があります。
A <- array(data=NA, dim=c(2,4,4), dimnames=list(c("x","y"),NULL,NULL))
そして、1つの次元に沿って選択したいので、上記の例では次のようになります:
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 関数では、現在の状態で単一の名前付きベクトルを取得する必要があります。位相面/方向場の計算などの他の関数については、微分方程式を適用する高次元の配列を使用する方が実際的であり、単純に異なる関数を使用して同じ関数のコピーを多数作成することは避けたいと考えています。選択したい次元の後のコンマの数。