카테고리 없음

[sas] SAS : proc reg에서 proc score로 변수를 자동으로 전달

행복을전해요 2021. 2. 6. 11:55

이에 대한 한 가지 방법은 매크로 변수를 사용하는 것입니다.

%let varlist = x1 x2 x3 x4;

proc reg data = somedata outest = out;
    model y = &varlist;
    run;
    quit;
    
    data _null_;
        length newvars $ 2000;
            set out;
                array v{*} &varlist;
                    do i = 1 to dim(v);
                            if v[i] ne . then newvars = catx(" ", newvars, vname(v[i]));
                                end;
                                    call symputx("newvars", newvars);
                                    run;
                                    
                                    %put Predictors=&newvars;
                                    
                                    proc score data = somedata;
                                        var &newvars;
                                        run;
                                        

이렇게하면 PROC REG에서 공백으로 구분 된 예측 변수 목록이 만들어지고 PROC SCORE의 VAR 문에 해당 목록이 사용됩니다. 이 접근 방식은 OUTEST 데이터 세트에 단일 모델 만 있다고 가정합니다. 그러나 실제로 그러한 경우 OUTEST 데이터 세트의 예측 변수에 대한 결 측값이 없어야합니다.



출처
https://stackoverflow.com/questions/22050188