Sas에서 누락된 값을 0으로 바꾸는 방법


종종 SAS 데이터 세트의 누락된 값을 0으로 바꾸고 싶을 수도 있습니다.

다행히도 간단한 if then 문을 사용하면 이 작업을 쉽게 수행할 수 있습니다.

다음 예에서는 누락된 값을 실제로 0으로 바꾸는 방법을 보여줍니다.

예시 1: 모든 열의 누락된 값 바꾸기

SAS에 각각 누락된 값이 있는 세 개의 열이 있는 다음과 같은 데이터 세트가 있다고 가정합니다.

 /*create dataset*/
data my_data;
    input xyz;
    datalines ;
1. 76
2 3 .
2 3 85
4 5 88
2 2 .
1 2 69
5. 94
4 1 .
. . 88
4 3 92
;
run ;

/*view dataset*/
proc print data =my_data;

다음 코드를 사용하여 데이터 세트의 각 열에서 누락된 값을 0으로 바꿀 수 있습니다.

 /*create new dataset with missing values replaced by zero*/
data my_data_new;
   set my_data;
   array variablesOfInterest _numeric_ ;
   do over variablesOfInterest;
      if variablesOfInterest=. then variablesOfInterest= 0 ;
   end ;
run ;

/*view new dataset*/
proc print data =my_data_new; 

각 열의 누락된 값은 0으로 대체되었습니다.

참고 : _numeric_ 인수는 SAS가 데이터세트의 각 숫자 열에서 누락된 값을 0으로 바꾸도록 지시합니다.

예시 2: 특정 열의 누락된 값 바꾸기

SAS에 각각 누락된 값이 있는 세 개의 열이 있는 다음 데이터 세트가 있다고 다시 가정해 보겠습니다.

 /*create dataset*/
data my_data;
    input xyz;
    datalines ;
1. 76
2 3 .
2 3 85
4 5 88
2 2 .
1 2 69
5. 94
4 1 .
. . 88
4 3 92
;
run ;

/*view dataset*/
proc print data =my_data;

다음 코드를 사용하여 데이터세트의 “y” 열에서만 누락된 값을 0으로 바꿀 수 있습니다.

 /*create new dataset with missing values in "y" column replaced by zero*/
data my_data_new;
   set my_data;
   array variablesOfInterest y;
   do over variablesOfInterest;
      if variablesOfInterest=. then variablesOfInterest= 0 ;
   end ;
run ;

/*view new dataset*/
proc print data =my_data_new; 

“y” 열의 누락된 값만 0으로 대체되었습니다.

추가 리소스

다음 튜토리얼에서는 SAS에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

SAS에서 데이터를 정규화하는 방법
SAS에서 중복을 제거하는 방법
SAS에서 절차 요약을 사용하는 방법
SAS에서 0이 아닌 관측치를 선택하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다