혼자서 해보기 1번

library(dplyr)
## 
## 다음의 패키지를 부착합니다: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
mpg <- as.data.frame(ggplot2::mpg)
mpg_a <- mpg %>% filter(displ <= 4)
mpg_b <- mpg %>% filter(displ >= 5)
mean(mpg_a$hwy)
## [1] 25.96319
mean(mpg_b$hwy)
## [1] 18.07895
mpg_audi<- mpg %>% filter(manufacturer == "audi") 
mpg_toyota <- mpg %>% filter(manufacturer == "toyota")
mean(mpg_audi$cty)
## [1] 17.61111
mean(mpg_toyota$cty)
## [1] 18.52941
mpg_new<-mpg %>% filter(manufacturer %in% c("chevrolet", "ford", "honda"))
mean(mpg_new$hwy)
## [1] 22.50943

혼자서 해보기 2번

mpg <- as.data.frame(ggplot2::mpg) 
df <- mpg %>% select(class, cty)
head(df)
##     class cty
## 1 compact  18
## 2 compact  21
## 3 compact  20
## 4 compact  21
## 5 compact  16
## 6 compact  18
df_suv <- df %>% filter(class == "suv") 
df_compact <- df %>% filter(class == "compact") 
mean(df_suv$cty) 
## [1] 13.5
mean(df_compact$cty)
## [1] 20.12766

혼자서 해보기 3번

mpg <- as.data.frame(ggplot2::mpg) 
mpg %>% filter(manufacturer == "audi") %>%
  arrange(desc(hwy))%>%head(5)
##   manufacturer      model displ year cyl      trans drv cty hwy fl   class
## 1         audi         a4   2.0 2008   4 manual(m6)   f  20  31  p compact
## 2         audi         a4   2.0 2008   4   auto(av)   f  21  30  p compact
## 3         audi         a4   1.8 1999   4   auto(l5)   f  18  29  p compact
## 4         audi         a4   1.8 1999   4 manual(m5)   f  21  29  p compact
## 5         audi a4 quattro   2.0 2008   4 manual(m6)   4  20  28  p compact

혼자서 해보기4번

mpg <- as.data.frame(ggplot2::mpg)
mpg_new <- mpg 
mpg_new <- mpg_new %>% mutate(total = cty + hwy)
mpg_new <- mpg_new %>% mutate(mean = total/2) 
mpg_new %>%
 arrange(desc(mean)) %>% head(3)
##   manufacturer      model displ year cyl      trans drv cty hwy fl      class
## 1   volkswagen new beetle   1.9 1999   4 manual(m5)   f  35  44  d subcompact
## 2   volkswagen      jetta   1.9 1999   4 manual(m5)   f  33  44  d    compact
## 3   volkswagen new beetle   1.9 1999   4   auto(l4)   f  29  41  d subcompact
##   total mean
## 1    79 39.5
## 2    77 38.5
## 3    70 35.0
mpg %>%
 mutate(total = cty + hwy,mean = total/2) %>%
  arrange(desc(mean)) %>%head(3)
##   manufacturer      model displ year cyl      trans drv cty hwy fl      class
## 1   volkswagen new beetle   1.9 1999   4 manual(m5)   f  35  44  d subcompact
## 2   volkswagen      jetta   1.9 1999   4 manual(m5)   f  33  44  d    compact
## 3   volkswagen new beetle   1.9 1999   4   auto(l4)   f  29  41  d subcompact
##   total mean
## 1    79 39.5
## 2    77 38.5
## 3    70 35.0

혼자서 해보기 5번

mpg <- as.data.frame(ggplot2::mpg) 
mpg %>%
 group_by(class) %>% summarise(mean_cty = mean(cty))
## # A tibble: 7 × 2
##   class      mean_cty
##   <chr>         <dbl>
## 1 2seater        15.4
## 2 compact        20.1
## 3 midsize        18.8
## 4 minivan        15.8
## 5 pickup         13  
## 6 subcompact     20.4
## 7 suv            13.5
mpg %>%
 group_by(class) %>%
 summarise(mean_cty = mean(cty)) %>%
 arrange(desc(mean_cty))
## # A tibble: 7 × 2
##   class      mean_cty
##   <chr>         <dbl>
## 1 subcompact     20.4
## 2 compact        20.1
## 3 midsize        18.8
## 4 minivan        15.8
## 5 2seater        15.4
## 6 suv            13.5
## 7 pickup         13
mpg %>%
 group_by(manufacturer) %>% 
 summarise(mean_hwy = mean(hwy)) %>%
 arrange(desc(mean_hwy)) %>%
 head(3)
## # A tibble: 3 × 2
##   manufacturer mean_hwy
##   <chr>           <dbl>
## 1 honda            32.6
## 2 volkswagen       29.2
## 3 hyundai          26.9
mpg %>%
 filter(class == "compact") %>%
 group_by(manufacturer) %>%
 summarise(count = n()) %>%
 arrange(desc(count))
## # A tibble: 5 × 2
##   manufacturer count
##   <chr>        <int>
## 1 audi            15
## 2 volkswagen      14
## 3 toyota          12
## 4 subaru           4
## 5 nissan           2

혼자서 해보기 6번

fuel <- data.frame(fl = c("c", "d", "e", "p", "r"),
                   price_fl = c(2.35, 2.38, 2.11, 2.76, 2.22),
                   stringsAsFactors = F)
fuel
##   fl price_fl
## 1  c     2.35
## 2  d     2.38
## 3  e     2.11
## 4  p     2.76
## 5  r     2.22
mpg <- as.data.frame(ggplot2::mpg)
mpg <- left_join(mpg, fuel, by = "fl")
mpg %>% select(model, fl, price_fl) %>% head(5)
##   model fl price_fl
## 1    a4  p     2.76
## 2    a4  p     2.76
## 3    a4  p     2.76
## 4    a4  p     2.76
## 5    a4  p     2.76