Sas에서 indexc 함수를 사용하는 방법
SAS의 INDEXC 함수를 사용하여 문자열에서 개별 문자가 처음 나타나는 위치를 반환할 수 있습니다.
이 함수는 다음 기본 구문을 사용합니다.
INDEXC(소스, 추출)
금:
- source : 분석할 채널
- extract : 소스 에서 검색할 문자열
다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.
예: SAS에서 INDEXC 함수 사용
SAS에 이름 열이 포함된 다음 데이터 세트가 있다고 가정해 보겠습니다.
/*create dataset*/
data original_data;
input name $25.;
datalines ;
Andy Lincoln Bernard
Michael Smith
Chad Simpson Arnolds
Derrick Smith Henrys
Eric Millerton Smith
Frank Giovanni Goode
;
run ;
/*view dataset*/
proc print data = original_data;
INDEXC 함수를 사용하여 x , y 또는 z 문자가 처음 나타나는 위치를 찾을 수 있습니다.
/*find position of first occurrence of either x, y or z in name*/
data new_data;
set original_data;
first_xyz = indexc (name, 'xyz');
run ;
/*view results*/
proc print data = new_data;
first_xyz 라는 새 열은 이름 열에서 x , y 또는 z 문자가 처음 나타나는 위치를 표시합니다.
이름 열에 이 세 문자 중 어느 것도 없으면 INDEXC 함수는 단순히 0 값을 반환합니다.
예를 들어 결과에서 다음을 확인할 수 있습니다.
첫 번째 행에서 x, y 또는 z가 처음 나타나는 위치는 위치 4 입니다. 첫 번째 줄의 4번째 위치에 있는 문자가 y 임을 알 수 있습니다.
두 번째 행 이름에 이 세 문자가 없기 때문에 두 번째 행에서 x, y 또는 z가 처음 나타나는 위치는 0 입니다.
등등.
INDEX와 INDEXC 함수의 차이점
SAS의 INDEX 함수는 다른 문자열에서 특정 하위 문자열이 처음 나타나는 위치를 반환합니다.
다음 예에서는 INDEX 함수와 INDEXC 함수의 차이점을 보여줍니다.
/*create new dataset*/
data new_data;
set original_data;
index_smith = index (name, 'Smith');
indexc_smith = indexc (name, 'Smith');
run ;
/*view new dataset*/
proc print data =new_data;
index_smith 열은 이름 열에서 ‘Smith’ 하위 문자열이 처음 나타나는 위치를 표시합니다.
indexc_smith 열은 name 열에서 s , m , i , t 또는 h 문자가 처음 나타나는 위치를 표시합니다.
예를 들어 결과에서 다음을 확인할 수 있습니다.
하위 문자열 ‘Smith’는 이름에 전혀 나타나지 않으므로 index_smith는 0 값을 반환합니다.
문자 i는 이름의 7번째 위치에 나타나므로 indexc_smith는 값 7 을 반환합니다.
등등.
추가 리소스
다음 튜토리얼에서는 SAS의 다른 일반적인 기능을 사용하는 방법을 설명합니다.
SAS에서 SUBSTR 함수를 사용하는 방법
SAS에서 COMPRESS 함수를 사용하는 방법
SAS에서 FIND 함수를 사용하는 방법
SAS에서 COALESCE 함수를 사용하는 방법