В SAS/IML можно изменить переменную, если доступен только макрос с его именем? Использование symget на левой стороне производит ошибку:SAS IML Использовать символ на левой стороне
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.
В & -знаке работает, но код в сделай петли и symget должен быть использован.
Проблема связана с задачей написать функцию, которая принимает переменное количество аргументов и обрабатывает их в нескольких do-loops. Это связано со следующими вопросами:
SAS IML use of Mattrib with Macro (symget) in a loop
SAS IML pass reference to variable defined in macro
В других языках (R, C++, Java, Matlab, и т.д ..) задача решается с помощью абстракция.
Идеи?
решаемые
Спасибо большое. Полезная статья.