SAS/IML では、マクロで定義された変数への参照をユーザー定義モジュールに渡そうとします。モジュールは変数値を変更します。関数の呼び出しは do ループ内にあるため、&-signは使用できません。ただし、symgetの使用は機能しません。これが私のコードです。
proc iml;
start funcReference(argOut);
print "funcReference " argOut;
argOut = 5;
finish funcReference;
store module=funcReference;
quit;
proc IML;
mydata1 = {1 2 3};
call symput ('macVar', 'mydata1');
load module=funcReference;
run funcReference(symget('macVar'));
print mydata1;
quit;
出力は、変数mydata1が変更されていないことを示しています。
argOut
funcReference mydata1
mydata1
1 2 3
何か案は?
解決した
どうもありがとう!