除了SUM以外,SAS確實缺少行函數。我想對縱向數據集的波浪內的某些擴展缺失代碼進行計數。SAS:將varlist傳遞給sas宏
我可以使用數組來處理每個wave的硬編碼varlist,但是我沒有運氣製作一個可以爲每個wave調用的宏。這個問題似乎無法通過varlist,特別是如果使用first-last notation。
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