За исключением SUM, SAS действительно не хватает функций ряда. Я хотел посчитать некоторые пропущенные недостающие коды в волнах продольного набора данных.SAS: передача varlist в sas macro
Я могу использовать массивы для обработки жесткого кодированного varlist для каждой волны, но мне не повезло сделать макрос, который я мог бы назвать для каждой волны. Проблема, по-видимому, не в том, чтобы передавать в varlist, особенно если использовать первую нотацию.
data xxx;
input a b c d e f;
datalines;
1 2 3 4 5 6
.w .w .w .w .w .w
3 4 5 .w .w .w
;
run;
data yyy(drop=i); set xxx;
array wave1vars(*) a--c;
wave1count = 0;
do i = 1 to dim(wave1vars);
if wave1vars(i) = .w then wave1count = wave1count +1;
end;
array wave2vars(*) d--f;
wave2count = 0;
do i = 1 to dim(wave2vars);
if wave2vars(i) = .w then wave2count = wave2count +1;
end;
run;
Я не понимаю, почему вы не можете передать varlist, поскольку значение параметра макроса% mymac (varlist = a - c) будет работать нормально. – Tom