변수명에서 특정 문자를 포함한 변수를 선택하기 위한 방법에 대해 알아보도록 하겠습니다.
크게 두 가지 방법이 있는데 names 와 grep 함수를 이용한 방법과 dplyr 패키지의 select 함수를 이용하는 방법입니다.
아래와 같은 iris 데이터가 있을 때 "Sepal" 을 포함한 변수를 선택하겠습니다.
1. grep(문자열패턴, 문자벡터, ...)
grep함수는 문자벡터의 특정 문자열을 찾아 해당 위치의 인덱스를 반환합니다.
value = TRUE 를 추가적인 인자로 입력하면 해당 값을 반환합니다.
> char_test <- c('a','b','c','ab','fc') # char_test 에서 'a' 를 찾아 반환 -> 첫번째와 네번째 위치에 있음 > grep('a',char_test) [1] 1 4 # 첫번째와 네번째 위치에 있는 'a' 와 'ab'를 반환 > grep('a',char_test,value=TRUE) [1] "a" "ab" |
grep함수와 names함수를 이용하여 변수를 선택할 수 있습니다.
# iris 데이터의 변수에서 'Sepal'이 포함된 문자를 찾고 iris 데이터에서 변수를 추출합니다.
> iris_var <- grep('Sepal',names(iris)) |
2. dplyr 패키지 select 함수 이용하기
dplyr패키지의 select 함수는 변수를 선택할 때 씁니다. 이때 특정 contains 인자를 활용하여 변수를 추출할 수 있습니다.
# dplyr 패키지 미설치시 # install.packages("dplyr") > library(dplyr) > select(iris, contains('Sepal')) Sepal.Length Sepal.Width 1 5.1 3.5 2 4.9 3.0 3 4.7 3.2 |
특정 패턴이 있는 문자열만 추출하고 싶은 경우, 위와 같은 방법들을 이용해서 추출할 수 있습니다. 문자열을 다루는 방법들은 다음 번에 더 자세하게 다뤄보도록 하겠습니다!
'데이터 분석 > R 데이터 처리 & 분석' 카테고리의 다른 글
[R] 쉼표(comma , )로 구분된 데이터 정제하기 (0) | 2020.09.30 |
---|---|
[R데이터분석] R which 함수 파헤치기 (0) | 2020.07.15 |
[R데이터분석] 간단하게 변수 이름 변경하기 (0) | 2020.07.10 |
[R] sapply 함수 사용법 & 활용하기 (0) | 2020.07.09 |
R 작업디렉토리/저장경로 지정하는 방법(setwd, getwd) (0) | 2020.06.14 |