혼자서해보기1
Q1
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
library(ggplot2)
mpg <- as.data.frame(ggplot2::mpg)
displ1 <- mpg %>% filter(displ<=4)
displ2 <- mpg %>% filter(displ>=5)
mean(displ1$hwy)
## [1] 25.96319
mean(displ2$hwy)
## [1] 18.07895
displ이 4이하인 자동차의 hwy가 더 높음
Q2
audi <- mpg %>% filter(manufacturer=="audi")
toyota <- mpg %>% filter(manufacturer=="toyota")
mean(audi$cty)
## [1] 17.61111
mean(toyota$cty)
## [1] 18.52941
Q3
group <- mpg %>% filter(manufacturer %in% c("chevrolet","ford","honda"))
mean(group$hwy)
## [1] 22.50943
혼자서해보기2
Q1
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
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
class가 “compact”인 자동차의 cty가 더 높음
혼자서해보기3
Q1
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
Q1
mpg_copy <- mpg
mpg_copy <- mpg_copy %>% mutate(total=cty+hwy)
Q2
mpg_copy <- mpg_copy %>% mutate(mean=total/2)
Q3
mpg_copy %>% 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
Q4
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
Q1
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
Q2
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
Q3
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
Q4
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
Q1
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)
mpg <- left_join(mpg,fuel, by="fl")
Q2
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