我正在尝试通过对字符变量进行分组来创建新的分类变量。到目前为止,这是我所做的,但是没有发现:
data want_newvar;
set have_oldvar;
if (oldvar= 'A1') or ('A2'= oldvar)or ('A3'= oldvar) or ('A4'= oldvar) or ('A5'= oldvar) or ('A6'= oldvar)or ('A7'= oldvar)or ('A8'=oldvar) or ('A9'=oldvar) or ('A10'=oldvar) then newvar= 'cat_name';
run;
最好使用格式,而不是使用一系列if / then / else语句。然后,您可以在其他步骤中轻松使用它。
proc format;
value $myformatname
'A1' = 'New Category'
'A2' = 'New Category'
'A3' = 'New Category'
;
run;
data want;
oldcat = 'A1';
newcat = put(oldcat, $myformatname.);
run;