0

新しい列を既存の SAS データセットに追加するには、proc sql で Alter Table ステートメント (および、新しい列を作成するために Update ステートメント) を使用します。もしそうなら、proc iml の同等のステートメントは何ですか (または、IML でも実行できますか)?

4

1 に答える 1

0

水平連結について質問しているようです。両方の行列の行数が同じであれば、連結演算子 (||) を使用して、ある行列の列を別の行列に追加できます。たとえば、次のステートメントは 2x1 ベクトルを 2x3 行列に連結します。結果は 2x4 行列です。

proc iml;
x = {1 2 3,
     4 5 6};
y = {7, 8};
z = x || y;
print z;

ただし、これにより新しい行列 (z) が割り当てられ、x および y 行列の内容がコピーされることに注意してください。したがって、最初から 4x2 行列を作成し、次にサブスクリプトを使用して列を埋めるほど効率的ではありません。詳細については、記事「フレンドはループ内で結果を連結させない」を参照してください。

于 2015-11-06T15:17:41.990 に答える