Я хотел бы рассчитать переменные AR_1 к AR_99 на основании формулыСоздать функцию двух переменных с делают петлю
AR_(i) = 0.5*(ADM_(i) + ADM_(j))
, где J = I + 1 (ADM_1 к ADM_100 уже существуют в наборе данных). Однако, используя следующий цикл do, я получаю сообщение об ошибке, поскольку SAS не распознает переменную j.
%macro do_loop;
data testdo;
set Popn99;
%do i = 1 %to 99;
&j.=&i.+1;
AR_&i. = 0.5 * (ADM_&i. + ADM_&j.);
%end;
run;
%mend do_loop;
%do_loop;
Да, это работает, просто нужно сменить adm на adm_. Еще одно приятное решение. – user2568648