문자 편집 패키지 stringr
를 이용하여 문자 데이터를 편집해보겠습니다.
stringr 패키지
stringr 패키지를 불러와서 실행시킵니다.
str_detect
문자열 패턴 확인 함수로 SQL에서 like 연산자와 같은 기능을 합니다. 첫번째 인자에 벡터를 입력하고 두번째 인자에는 정규 표현식의 패턴을 입력하는 방식으로 사용합니다.
아래에서 처럼 데이터 프레임에서 조건 색인을 하는 경우에도 사용할 수 있습니다.
eg) student.csv 읽고 id에 ‘a’를 포함하는 학생의 이름, id, 학년 출력
str_count
문자열에 포함되어 있는 패턴의 개수를 출력하는 함수로 정규 표현식 사용이 가능합니다.
str_c
문자열 결합 함수로 SQL에서 연결 연산자(||
)와 비슷한 기능을 가지고 있습니다. sep 옵션에는 결합시 전달할 구분자를 입력하는데, 같은 위치의 값들끼리 합쳐지게 됩니다. collapse 옵션도 결합시 전달할 구분자 입력하는데 하나의 값으로 합쳐지게 됩니다.
eg) emp.csv 파일을 읽고 아래와 같은 형식으로 출력
SMITH의 10% 인상된 연봉은 880이다
eg) student.csv 읽고 id에 숫자가 2회이상 반복된 학생 데이터 제외
str_length
문자열의 크기 출력하는 함수로 SQL의 length 함수와 같습니다.
str_locate
문자열이나 패턴의 위치를 출력하는 함수로 SQL에서 INSTR 함수와 동일합니다.
str_sub
위치기반 문자열 추출 함수로 SQL에서 SUBSTR 함수랑 비슷하나 세번째 인자를 주의해서 입력해야합니다. 두번째 인자에는 음수 입력이 가능합니다.
eg) ‘031-356-1234’에서 국번 추출, 단 위치 기반으로
str_replace
문자열 치환 함수로 기존 문자를 새로운 문자로 바꾸는 기능으로 SQL에서 REPLACE 함수와 비슷합니다. 단, 기존 문자와 새로운 문자의 데이터 형은 일치해야하며 NA로 또는 NA를 치환하는 것은 불가능합니다.
eg) 다음 변수의 10% 인상된 값을 출력하시오.
str_split
문자를 구분자 기준으로 분리하는 함수로 str_c와 반대되는 역할을 가지고 있습니다. 출력결과가 리스트이기 때문에 분리 후 색인시 주의하셔야합니다.