BookmarkSubscribeRSS Feed

[Dummy] 가변수 생성 방법

Started ‎06-14-2020 by
Modified ‎06-14-2020 by
Views 210

* 출처 : http://cafe.daum.net/statsas/3F8j/63

 

예전에 올렸던 글인데 최근 proc glmmod 로 가변수 생성 방법이 있어서 추가하여 올립니다. 

 

참고하시기를 바랍니다.

 

* 출처 : http://blogs.sas.com/content/iml/2016/02/22/create-dummy-variables-in-sas.html

 

 

DATA TEST;

INPUT age;
DATALINES;
1
2
3
4
5
;


* 방법 1; 할당문;
DATA DUMMYMETHOD1;
 SET TEST;
     age1=(age=1);
     age2=(age=2);
     age3=(age=3);
     age4=(age=4);
     age5=(age=5);

PROC FREQ;
     TABLE age1 age2 age3 age4 age5;
RUN;


* 방법 2; 배열;
DATA DUMMYMETHOD2 (DROP = i);
 SET TEST;
     ARRAY A {*} age1 age2 age3 age4 age5; 
     DO i = 1 TO 5;
        A(i) = (age=i);
     END;

PROC FREQ;
     TABLE age1 age2 age3 age4 age5;
RUN;


* 방법 3; 조건문;
DATA DUMMYMETHOD1;
 SET TEST;
     IF age=1 then age1=1; ELSE age1 = 0;
     IF age=2 then age2=1; ELSE age2 = 0;
     IF age=3 then age3=1; ELSE age3 = 0;
     IF age=4 then age4=1; ELSE age4 = 0;
     IF age=5 then age5=1; ELSE age5 = 0;

PROC FREQ;
     TABLE age1 age2 age3 age4 age5;
RUN; 

 

* 방법 4-1: proc glmmod 사용;

 

 

proc glmmod data=TEST outdesign=DUMMYMETHOD4 outparm=GLMParm;

   class  age;

   model age =  age;

 

run;

 

* 방법 4-2: proc glmmod 사용; 

data Patients;

   keep Cholesterol Sex BP_Status;

   set sashelp.heart;

   if 18 <= _N_ <= 27;

run;

 

proc glmmod data=Patients outdesign=GLMDesign outparm=GLMParm;

   class sex BP_Status;

   model Cholesterol = Sex BP_Status;

run; 

Version history
Last update:
‎06-14-2020 10:07 PM
Updated by:
Contributors

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

Article Labels
Article Tags