SAS/IML では、その名前のマクロしか利用できない場合、変数を変更することは可能ですか? 左側で symget を使用するとエラーが発生します。
proc iml;
variable = 0;
call symput ('macVar', 'variable');
/* &macVar = 1;*/
symget('macVar') = 1;
print variable;
quit;
ERROR 180-322: Statement is not valid or it is used out of proper order.
& 記号は機能しますが、コードは do ループにあり、symgetを使用する必要があります。
この問題は、可変数の引数を受け取り、それらを複数の do ループで処理する関数を作成するタスクに起因します。それは次の質問に関連しています。
ループ内のマクロ (symget) を使用した Mattrib の SAS IML の使用
他の言語 (R、C++、Java、Matlab など) では、このタスクは抽象化の助けを借りて解決されます。
アイデア?
解決した
どうもありがとう。役に立つ記事。