티스토리 뷰

Data Science/R package

dplyr_select()

jsBae 2022. 5. 4. 00:18
select()를 이용하여 변수 이름으로 열 선택하기
  • select() 함수는 다음처럼 변수 이름을 일일이 나열하여 원하는 열을 선택할 수 있다.
  • R의 기본 문법을 알고 있는 사람들은 데이터 프레임의 인덱싱에서처럼 문자열로 이름을 나열하는 것이 아니라 변수를 사용하듯 따옴표 없이 이름을 나열하는 것에 주의한다.
select(데이터프레임, 변수이름1, 변수이름 2, ....)

> exam %>% select(math)
   math
1    50
2    60
3    45
4    30
5    25
6    50
7    80
8    90
9    20
10   50
> exam %>% select(math)
   math
1    50
2    60
3    45
4    30
5    25
6    50
7    80
8    90
9    20
10   50

> exam %>% select(class, math, english)
   class math english
1      1   50      98
2      1   60      97
3      1   45      86
4      1   30      98
5      2   25      80
6      2   50      89
7      2   80      90
8      2   90      78
9      3   20      98
10     3   50      98

> exam %>% select(-math)
   id class english science
1   1     1      98      50
2   2     1      97      60
3   3     1      86      78
4   4     1      98      58
5   5     2      80      65
6   6     2      89      98
7   7     2      90      45
8   8     2      78      25
9   9     3      98      15
10 10     3      98      45

# class가 1인 행만 추출한 다음 english 추출

> exam %>% filter(class==1) %>% 
+   select(english)
  english
1      98
2      97
3      86
4      98

가독성 있게 줄 바꾸기

> exam %>% 
+   filter(class==1) %>% 
+   select(english)
  english
1      98
2      97
3      86
4      98
일분만 출력하기
> exam %>% 
+   select(id, math) %>% 
+   head()
  id math
1  1   50
2  2   60
3  3   45
4  4   30
5  5   25
6  6   50
실습 해 보기 
mpg 데이터를 이용한 분석 문제

install.packages("ggplot2")
library(ggplot2)

?mpg​

Q1. mpg 데이터는 11개 변수로 구성되어 있습니다. 이 중 일부만 추출해서 분석에 활용하려고 합니다. mpg 데이터에서 class(자동차 종류), cty(도시 연비) 변수를 추출해 새로운 데이터를 만드세요. 새로 만든 데이터의 일부를 출력해서 두 변수로만 구성되어 있는지 확인하세요.
mpg <- as.data.frame(ggplot2::mpg)

> mpg_new <- mpg %>% 
+   select(class,cty)
> head(mpg_new)
    class cty
1 compact  18
2 compact  21
3 compact  20
4 compact  21
5 compact  16
6 compact  18

Q2. 자동차 종류에 따라 도시 연비가 다른지 알아보려고 합니다. 앞에서 추출한 데이터를 이용해서 class(자동차 종류)가 "suv"인 자동차와 "compact"인 자동차 중 어떤 자동차의 cty(도시 연비)가 더 높은지 알아보세요.
mpg_suv <- mpg_new %>% 
  filter(class=="suv")
mpg_compact <- mpg_new %>%
  filter(class=="compact")
  
> mean(mpg_suv$cty)
[1] 13.5
> mean(mpg_compact$cty)
[1] 20.12766

 

728x90
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
반응형