У меня есть набор данных с одним столбцом идентификатора и тремя переменными:
data have;
input id var1 var2 var3;
datalines;
1 0 1 0
2 1 1 0
3 0 0 2
4 0 4 1
;
run;
Я хочу использовать некоторый шаг osrt или data или proc sql для перехода от var1 к var3, чтобы сохранить значение 0, если оно равно 0, и 1, если оно больше 0. В идеале он должен использовать массив var1 -- var3
, поскольку фактический набор данных имеет гораздо больше переменных.
Попробуй это
data have;
input id var1 var2 var3;
datalines;
1 0 1 0
2 1 1 0
3 0 0 2
4 0 4 1
;
run;
data want;
set have;
array v var1 -- var3;
do over v;
v = v > 0;
end;
run;