새소식

R/dplyr

R | dplyr | 변수 추출 select(), select_if()

  • -

 

 

 

데이터를 분석할 때 필요한 열만 선택해 분석하는 것은 매우 중요 

 

column 추출 방법 3가지

  • 인덱싱 사용 1: 열 순번 사용  
  • 인덱싱 사용 2: 열 이름 사용
  • dplyr::select() 사용 

 

 

 


00. 데이터 불러오기 

 

- 데이터는 R 내장 데이터 셋인 "mtcars" 사용 : 1974 Motor Trend US Megazine에 수록된 차량과 차량에 관련된 수치들이 기록된 자료

mtcars %>% head()

 

 

mtcars %>% str()

 

 

 


 

01. Column 순번을 통한 열 추출 

 

- 데이터셋[  ,  열 순번]

-  mpg, cyl 열 선택 

 

# 밑에 두 가지 방법 동일한 데이터 셋 출력
mtcars[  , 1:2]
mtcars[  , c(1,2)]

 

 

 

 

 

 


 

 

02. 컬럼명을 사용해서 추출 

 

- 데이터셋[  , "열이름1", "열이름2"]

-  mpg, cyl 열 선택 

 

mtcars[ , c("mpg","cyl")]

 

 

 

 

 

 


 

 

03. dplyr 패키지의 select() 함수 사용 

 

 

- 특정 컬럼을 뽑고 싶을 때

# 인덱스 활용
mtcars %>% select(1:2)

# 컬럼명 활용
mtcars %>% select(mpg, cyl)

 

-  특정 컬럼을 제외하고 뽑고 싶을 때

# 인덱스 활용
mtcars %>% select(-c(1:2))

# 컬럼명 활용
mtcars %>% select(-c(mpg, cyl))

 

 

mpg, cyl 컬럼 제외하고 추출

 

 

03-2. select 옵션 

옵션 설명
starts_with(string) 지정한 문자열로 시작하는 이름을 가진 컬럼 추출 
ends_with(string)  지정한 문자열로 끝나는 이름을 가진 컬럼 추출
contains(string) 지정한 문자열을 포함하는 이름을 가진 컬럼 추출
matches(string) 지정한 정규 표현식에 매칭되는 열 추출 

 

 

1) starts_with(string) 

 

- 알파벳 "d"로 시작하는 컬럼 추출

mtcars %>% select(starts_with("d"))

 

 

 

2) ends_with(string)

 

- 알파벳 "t"로 끝나는 컬럼 추출

mtcars %>% select(ends_with("t"))

 

 

3) contains(string) 

 

- 알파벳 "a"를 포함하는 컬럼 추출 

mtcars %>% select(contains("a"))

 

 

4) matches(string) 

 

- 알파벳 "a" 또는 "p"를 포함하고 있는 컬럼 추출

mtcars %>% select(matches("[ap]"))

 

 

 


 

 

 

04. select_if ()

- 조건에 맞는 컬럼을 추출

 

iris$Species <- iris$Species %>% as.factor()
iris %>% str()

 

1) factor 변수만 뽑기

iris %>% select_if(is.factor)

2) numeric 변수만 뽑기

iris %>% select_if(is.numeric)

 

 

 

 

 


더보기

참고 서적 

Contents