본문 바로가기
R Programming/dplyr 패키지

select( ) 함수: 변수 추출

by 블루드래곤 2022. 8. 8.
728x90

select( ) 함수는 데이터에 포함된 여러 변수(column)에서 일부 변수만 추출할 때 사용한다. 아래 그림과 같이 데이터 프레임에서 일부 변수를 선택할 수 있다. 구체적인 사용법은 아래 예시와 같다.

 

 Case 1: 단일 변수 추출 

  • 예시: airquality 데이터에서 Ozone 변수를 선택할 경우
## 처음 5개 행 출력
> airquality %>%  select(Ozone) %>% head()

  Ozone
1    41
2    36
3    12
4    18
5    NA
6    28

 

Case 2: 여러 변수 추출

  • 예시: Ozone, Month, Day 등 3개 변수를 선택할 경우
> airquality %>%  select(Ozone, Month, Day) %>% head()

  Ozone Month Day
1    41     5   1
2    36     5   2
3    12     5   3
4    18     5   4
5    NA     5   5
6    28     5   6

 

  • 예시: 범위를 지정하여 변수를 선택할 경우에는 콜론(:) 인자를 사용할 수 있음.
> airquality %>%  select(Ozone:Month) %>% head()

  Ozone Solar.R Wind Temp Month
1    41     190  7.4   67     5
2    36     118  8.0   72     5
3    12     149 12.6   74     5
4    18     313 11.5   62     5
5    NA      NA 14.3   56     5
6    28      NA 14.9   66     5

 

  • 예시: 특정 변수(Temp)를 제외하고 나머지 변수를 모두 선택할 경우
## !인자 사용
> airquality %>%  select(!Temp) %>% head()

  Ozone Solar.R Wind Month Day
1    41     190  7.4     5   1
2    36     118  8.0     5   2
3    12     149 12.6     5   3
4    18     313 11.5     5   4
5    NA      NA 14.3     5   5
6    28      NA 14.9     5   6

## -인자 사용
> airquality %>%  select(-Temp) %>% head()

  Ozone Solar.R Wind Month Day
1    41     190  7.4     5   1
2    36     118  8.0     5   2
3    12     149 12.6     5   3
4    18     313 11.5     5   4
5    NA      NA 14.3     5   5
6    28      NA 14.9     5   6

 

 Case 3:filter( ) 함수와 select( ) 함수 조합

  • dplyr 패키지에 포함된 함수는 연결 연산자(%>%)를 이용해 조합할 수 있음.
  • 함수들을 조합하면 코드의 길이가 줄어 가독성을 높일 수 있음.
  • 예시: Month가 5보다 크거나 같은 케이스에서  Ozone, Solar.R, Wind 3개 변수를 선택할 경우
> airquality %>% 
+   filter(Month >= 5) %>% 
+   select(Ozone:Wind) %>% 
+   head()

  Ozone Solar.R Wind
1    41     190  7.4
2    36     118  8.0
3    12     149 12.6
4    18     313 11.5
5    NA      NA 14.3
6    28      NA 14.9

댓글