Как я могу создать новую категориальную переменную, сгруппировав символьную переменную в SAS - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь создать новые категориальные переменные путем группировки символьных переменных. Это то, что я сделал до сих пор, но это не принесло никаких замечаний:

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;

1 Ответ

0 голосов
/ 13 февраля 2020

Вам лучше использовать формат, а не серию операторов 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;
...