Sas: 구분 기호로 문자열을 분할하는 방법


SAS의 scan() 함수를 사용하면 특정 구분 기호를 기준으로 문자열을 빠르게 분할할 수 있습니다.

다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.

예: SAS에서 구분 기호로 문자열 분할

SAS에 다음과 같은 데이터 세트가 있다고 가정해 보겠습니다.

 /*create dataset*/
data my_data1;
    input name $25.;
    datalines ;
Andy_Lincoln_Bernard
Barry_Michael
Chad_Simpson_Smith
Derrick_Parson_Henry
Eric_Miller
Frank_Giovanni_Goodwill
;
run ;

/*print dataset*/
proc print data =my_data1;

다음 코드를 사용하여 이름 문자열을 세 개의 개별 문자열로 빠르게 분할할 수 있습니다.

 /*create second dataset with name split into three columns*/
data my_data2;
set my_data1;
    name1= scan (name, 1 , '_');
    name2= scan (name, 2 , '_');
    name3= scan (name, 3 , '_');
run ;

/*view second dataset*/
proc print data =my_data2; 

이름 열 문자열이 세 개의 새로운 열로 분할되었습니다.

구분 기호가 하나만 있는 이름의 경우 name3 열의 값은 단순히 비어 있습니다.

drop 함수를 사용하여 새 데이터세트에서 원래 이름 열을 제거할 수도 있습니다.

 /*create second dataset with name split into three columns, drop original name*/
data my_data2;
set my_data1;
    name1= scan (name, 1 , '_');
    name2= scan (name, 2 , '_');
    name3= scan (name, 3 , '_');
    dropname ;
run ;

/*view second dataset*/
proc print data =my_data2; 

추가 리소스

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

SAS에서 데이터를 정규화하는 방법
SAS에서 변수 이름을 바꾸는 방법
SAS에서 중복을 제거하는 방법
SAS에서 누락된 값을 0으로 바꾸는 방법

의견을 추가하다

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