次元 1 または 2 の引数 x を取る関数があるとします。次のようなことをしたいと思います。
x[1, i]
ベクトルまたは行列 (または 1 つまたは 2 つの変数のテーブル) を取得したかどうかに関係なく。
例えば:
x = 1:5
x[1,2] # this won't work...
もちろん、どのクラスが引数として与えられたかを確認したり、引数を強制的に行列にすることはできますが、私はむしろそれをしたくありません。たとえば、Matlab では、ベクトルは1 次元を除くすべての次元がサイズ 1 の行列です (行または列などとして扱うことができます)。これにより、コードが適切で規則的になります。
また、R ベクトル (または一般的には 1 次元オブジェクト) が行列 (または多次元オブジェクト) の特殊なケースではない理由を知っている人はいますか?
ありがとう