ls()
## character(0)
rm(list = ls())
getwd()
## [1] "D:/data"
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.6     v dplyr   1.0.7
## v tidyr   1.1.4     v stringr 1.4.0
## v readr   2.1.0     v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(dplyr)
#dplyr 함수기능 7가지는 매우 중요함, 엑셀과는 다른 개념의 기능들
#iris 파일을 불러와서 연습을 해보자
#데이터 전처리과정이 중요함
a<-c(1,3,4,6,9)
ifelse(a %% 2==0,"짝수","홀수")
## [1] "홀수" "홀수" "짝수" "짝수" "홀수"
#%%는 나누어라 명령어
mpg1<-read.csv("mpg1.csv")
mean(mpg1$cty)
## [1] 16.85897
summary(mpg1)
##  manufacturer          trans               drv                 cty       
##  Length:234         Length:234         Length:234         Min.   : 9.00  
##  Class :character   Class :character   Class :character   1st Qu.:14.00  
##  Mode  :character   Mode  :character   Mode  :character   Median :17.00  
##                                                           Mean   :16.86  
##                                                           3rd Qu.:19.00  
##                                                           Max.   :35.00  
##       hwy       
##  Min.   :12.00  
##  1st Qu.:18.00  
##  Median :24.00  
##  Mean   :23.44  
##  3rd Qu.:27.00  
##  Max.   :44.00
mpg1<-mpg1 %>% mutate(cty_class=ifelse(cty<=16.85897,"good","bad")) 
head(mpg1)
##   manufacturer  trans drv cty hwy cty_class
## 1         audi   auto   f  18  29       bad
## 2         audi manual   f  21  29       bad
## 3         audi manual   f  20  31       bad
## 4         audi   auto   f  21  30       bad
## 5         audi   auto   f  16  26      good
## 6         audi manual   f  18  26       bad
mpg1 %>% group_by(cty_class) %>% summarise(m=mean(cty))
## # A tibble: 2 x 2
##   cty_class     m
##   <chr>     <dbl>
## 1 bad        20.2
## 2 good       13.5
mpg1<-mpg1 %>% mutate(cty_class=ifelse(cty<=mean(mpg1$cty),"good","bad")) 
quantile(mpg1$hwy)
##   0%  25%  50%  75% 100% 
##   12   18   24   27   44
mpg1<-mpg1 %>% mutate(hwy_class=ifelse(hwy>=27,"best",
                                 ifelse(hwy>=24,"good",
                                        ifelse(hwy>=18,"normal","bad"))))                
mpg1 %>% count
##     n
## 1 234
table(mpg1$hwy_class)
## 
##    bad   best   good normal 
##     55     69     60     50
mpg1 %>% arrange(cty) 
##     manufacturer  trans drv cty hwy cty_class hwy_class
## 1          dodge   auto   4   9  12      good       bad
## 2          dodge   auto   4   9  12      good       bad
## 3          dodge   auto   4   9  12      good       bad
## 4          dodge manual   4   9  12      good       bad
## 5           jeep   auto   4   9  12      good       bad
## 6      chevrolet   auto   r  11  15      good       bad
## 7      chevrolet   auto   4  11  14      good       bad
## 8      chevrolet   auto   4  11  15      good       bad
## 9          dodge   auto   f  11  17      good       bad
## 10         dodge manual   4  11  17      good       bad
## 11         dodge   auto   4  11  15      good       bad
## 12         dodge   auto   4  11  16      good       bad
## 13         dodge   auto   4  11  15      good       bad
## 14         dodge   auto   4  11  15      good       bad
## 15         dodge manual   4  11  16      good       bad
## 16         dodge   auto   4  11  15      good       bad
## 17          ford   auto   r  11  17      good       bad
## 18          ford   auto   r  11  17      good       bad
## 19          ford   auto   4  11  15      good       bad
## 20          jeep   auto   4  11  14      good       bad
## 21    land rover   auto   4  11  15      good       bad
## 22    land rover   auto   4  11  15      good       bad
## 23       lincoln   auto   r  11  17      good       bad
## 24       lincoln   auto   r  11  16      good       bad
## 25        toyota   auto   4  11  15      good       bad
## 26     chevrolet   auto   r  12  17      good       bad
## 27         dodge manual   4  12  16      good       bad
## 28         dodge manual   4  12  16      good       bad
## 29          ford   auto   r  12  18      good    normal
## 30    land rover   auto   4  12  18      good    normal
## 31    land rover   auto   4  12  18      good    normal
## 32       lincoln   auto   r  12  18      good    normal
## 33        nissan   auto   4  12  18      good    normal
## 34     chevrolet   auto   r  13  17      good       bad
## 35         dodge   auto   4  13  17      good       bad
## 36         dodge   auto   4  13  17      good       bad
## 37         dodge   auto   4  13  17      good       bad
## 38         dodge   auto   4  13  17      good       bad
## 39         dodge   auto   4  13  18      good    normal
## 40         dodge   auto   4  13  17      good       bad
## 41         dodge   auto   4  13  17      good       bad
## 42         dodge   auto   4  13  17      good       bad
## 43          ford   auto   4  13  19      good    normal
## 44          ford   auto   4  13  19      good    normal
## 45          ford   auto   4  13  17      good       bad
## 46          ford manual   4  13  16      good       bad
## 47          ford   auto   4  13  16      good       bad
## 48          ford   auto   4  13  17      good       bad
## 49          ford   auto   4  13  17      good       bad
## 50          jeep   auto   4  13  18      good    normal
## 51       mercury   auto   4  13  19      good    normal
## 52       mercury   auto   4  13  19      good    normal
## 53       mercury   auto   4  13  17      good       bad
## 54        toyota   auto   4  13  18      good    normal
## 55     chevrolet   auto   r  14  20      good    normal
## 56     chevrolet   auto   r  14  20      good    normal
## 57     chevrolet   auto   4  14  19      good    normal
## 58     chevrolet   auto   4  14  17      good       bad
## 59         dodge   auto   4  14  18      good    normal
## 60         dodge manual   4  14  17      good       bad
## 61         dodge   auto   4  14  19      good    normal
## 62         dodge   auto   4  14  19      good    normal
## 63          ford   auto   4  14  17      good       bad
## 64          ford   auto   4  14  17      good       bad
## 65          ford   auto   4  14  17      good       bad
## 66          ford manual   4  14  17      good       bad
## 67          ford manual   r  14  20      good    normal
## 68          jeep   auto   4  14  17      good       bad
## 69          jeep   auto   4  14  19      good    normal
## 70       mercury   auto   4  14  17      good       bad
## 71        nissan   auto   4  14  17      good       bad
## 72        nissan   auto   4  14  20      good    normal
## 73        toyota   auto   4  14  17      good       bad
## 74          audi   auto   4  15  25      good      good
## 75          audi manual   4  15  25      good      good
## 76          audi   auto   4  15  24      good      good
## 77     chevrolet   auto   r  15  23      good    normal
## 78     chevrolet   auto   r  15  25      good      good
## 79     chevrolet manual   r  15  24      good      good
## 80         dodge   auto   f  15  22      good    normal
## 81         dodge   auto   f  15  21      good    normal
## 82         dodge manual   4  15  19      good    normal
## 83          ford manual   4  15  19      good    normal
## 84          ford   auto   r  15  21      good    normal
## 85          ford manual   r  15  22      good    normal
## 86          ford manual   r  15  23      good    normal
## 87          ford   auto   r  15  22      good    normal
## 88          jeep   auto   4  15  19      good    normal
## 89          jeep   auto   4  15  20      good    normal
## 90        nissan manual   4  15  17      good       bad
## 91        toyota manual   4  15  20      good    normal
## 92        toyota   auto   4  15  19      good    normal
## 93        toyota manual   4  15  17      good       bad
## 94        toyota manual   4  15  20      good    normal
## 95        toyota manual   4  15  17      good       bad
## 96        toyota   auto   4  15  19      good    normal
## 97        toyota manual   4  15  18      good    normal
## 98          audi   auto   f  16  26      good      good
## 99          audi   auto   4  16  25      good      good
## 100         audi   auto   4  16  23      good    normal
## 101    chevrolet manual   r  16  26      good      good
## 102    chevrolet manual   r  16  26      good      good
## 103        dodge   auto   f  16  22      good    normal
## 104        dodge   auto   f  16  22      good    normal
## 105        dodge   auto   f  16  23      good    normal
## 106        dodge   auto   f  16  23      good    normal
## 107         ford   auto   r  16  24      good      good
## 108      hyundai manual   f  16  24      good      good
## 109      pontiac   auto   f  16  26      good      good
## 110      pontiac   auto   f  16  25      good      good
## 111       toyota   auto   4  16  20      good    normal
## 112       toyota   auto   4  16  20      good    normal
## 113       toyota   auto   4  16  20      good    normal
## 114       toyota   auto   4  16  20      good    normal
## 115   volkswagen   auto   f  16  23      good    normal
## 116   volkswagen   auto   f  16  26      good      good
## 117         audi manual   4  17  25       bad      good
## 118         audi   auto   4  17  25       bad      good
## 119         audi   auto   4  17  25       bad      good
## 120    chevrolet   auto   f  17  26       bad      good
## 121        dodge   auto   f  17  24       bad      good
## 122        dodge   auto   f  17  24       bad      good
## 123        dodge   auto   f  17  24       bad      good
## 124         ford manual   r  17  26       bad      good
## 125      hyundai   auto   f  17  24       bad      good
## 126      hyundai manual   f  17  24       bad      good
## 127         jeep   auto   4  17  22       bad    normal
## 128      pontiac   auto   f  17  27       bad      best
## 129       toyota manual   4  17  22       bad    normal
## 130   volkswagen manual   f  17  24       bad      good
## 131   volkswagen manual   f  17  24       bad      good
## 132   volkswagen   auto   f  17  26       bad      good
## 133         audi   auto   f  18  29       bad      best
## 134         audi manual   f  18  26       bad      good
## 135         audi   auto   f  18  27       bad      best
## 136         audi manual   4  18  26       bad      good
## 137    chevrolet   auto   f  18  26       bad      good
## 138    chevrolet   auto   f  18  29       bad      best
## 139        dodge   auto   f  18  24       bad      good
## 140         ford manual   r  18  26       bad      good
## 141         ford   auto   r  18  25       bad      good
## 142      hyundai   auto   f  18  26       bad      good
## 143      hyundai manual   f  18  27       bad      best
## 144      hyundai   auto   f  18  26       bad      good
## 145      hyundai manual   f  18  26       bad      good
## 146       nissan   auto   f  18  26       bad      good
## 147      pontiac   auto   f  18  26       bad      good
## 148      pontiac   auto   f  18  28       bad      best
## 149       subaru manual   4  18  25       bad      good
## 150       subaru   auto   4  18  24       bad      good
## 151       subaru   auto   4  18  23       bad    normal
## 152       toyota   auto   f  18  26       bad      good
## 153       toyota manual   f  18  26       bad      good
## 154       toyota   auto   f  18  26       bad      good
## 155       toyota manual   f  18  26       bad      good
## 156       toyota   auto   f  18  27       bad      best
## 157   volkswagen   auto   f  18  29       bad      best
## 158   volkswagen manual   f  18  26       bad      good
## 159         audi   auto   4  19  27       bad      best
## 160    chevrolet   auto   f  19  27       bad      best
## 161      hyundai   auto   f  19  28       bad      best
## 162      hyundai   auto   f  19  26       bad      good
## 163      hyundai manual   f  19  29       bad      best
## 164       nissan   auto   f  19  27       bad      best
## 165       nissan manual   f  19  27       bad      best
## 166       nissan   auto   f  19  26       bad      good
## 167       nissan manual   f  19  25       bad      good
## 168       nissan   auto   f  19  25       bad      good
## 169       subaru manual   4  19  25       bad      good
## 170       subaru manual   4  19  26       bad      good
## 171       subaru manual   4  19  26       bad      good
## 172       subaru   auto   4  19  26       bad      good
## 173       subaru manual   4  19  25       bad      good
## 174       toyota   auto   f  19  28       bad      best
## 175   volkswagen   auto   f  19  26       bad      good
## 176   volkswagen   auto   f  19  26       bad      good
## 177   volkswagen   auto   f  19  26       bad      good
## 178   volkswagen   auto   f  19  28       bad      best
## 179         audi manual   f  20  31       bad      best
## 180         audi manual   4  20  28       bad      best
## 181      hyundai manual   f  20  28       bad      best
## 182      hyundai   auto   f  20  27       bad      best
## 183       subaru manual   4  20  27       bad      best
## 184       subaru   auto   4  20  26       bad      good
## 185       subaru   auto   4  20  25       bad      good
## 186       subaru   auto   4  20  27       bad      best
## 187       subaru manual   4  20  27       bad      best
## 188   volkswagen manual   f  20  28       bad      best
## 189   volkswagen   auto   f  20  29       bad      best
## 190         audi manual   f  21  29       bad      best
## 191         audi   auto   f  21  30       bad      best
## 192        honda manual   f  21  29       bad      best
## 193      hyundai   auto   f  21  30       bad      best
## 194      hyundai manual   f  21  31       bad      best
## 195       nissan manual   f  21  29       bad      best
## 196       subaru   auto   4  21  26       bad      good
## 197       toyota manual   f  21  29       bad      best
## 198       toyota   auto   f  21  27       bad      best
## 199       toyota manual   f  21  31       bad      best
## 200       toyota   auto   f  21  31       bad      best
## 201       toyota   auto   f  21  27       bad      best
## 202       toyota manual   f  21  29       bad      best
## 203       toyota manual   f  21  31       bad      best
## 204   volkswagen manual   f  21  29       bad      best
## 205   volkswagen manual   f  21  29       bad      best
## 206   volkswagen manual   f  21  29       bad      best
## 207   volkswagen manual   f  21  29       bad      best
## 208   volkswagen   auto   f  21  29       bad      best
## 209   volkswagen manual   f  21  29       bad      best
## 210   volkswagen manual   f  21  29       bad      best
## 211   volkswagen manual   f  21  29       bad      best
## 212   volkswagen manual   f  21  29       bad      best
## 213    chevrolet   auto   f  22  30       bad      best
## 214       toyota   auto   f  22  31       bad      best
## 215   volkswagen   auto   f  22  29       bad      best
## 216   volkswagen   auto   f  22  29       bad      best
## 217        honda manual   f  23  29       bad      best
## 218       nissan   auto   f  23  31       bad      best
## 219       nissan manual   f  23  32       bad      best
## 220        honda   auto   f  24  32       bad      best
## 221        honda   auto   f  24  32       bad      best
## 222        honda   auto   f  24  36       bad      best
## 223       toyota   auto   f  24  30       bad      best
## 224       toyota   auto   f  24  33       bad      best
## 225        honda manual   f  25  32       bad      best
## 226        honda   auto   f  25  36       bad      best
## 227        honda manual   f  26  34       bad      best
## 228       toyota manual   f  26  35       bad      best
## 229       toyota   auto   f  26  35       bad      best
## 230        honda manual   f  28  33       bad      best
## 231       toyota manual   f  28  37       bad      best
## 232   volkswagen   auto   f  29  41       bad      best
## 233   volkswagen manual   f  33  44       bad      best
## 234   volkswagen manual   f  35  44       bad      best
mpg1 %>% arrange(desc(cty,hwy))
##     manufacturer  trans drv cty hwy cty_class hwy_class
## 1     volkswagen manual   f  35  44       bad      best
## 2     volkswagen manual   f  33  44       bad      best
## 3     volkswagen   auto   f  29  41       bad      best
## 4          honda manual   f  28  33       bad      best
## 5         toyota manual   f  28  37       bad      best
## 6          honda manual   f  26  34       bad      best
## 7         toyota manual   f  26  35       bad      best
## 8         toyota   auto   f  26  35       bad      best
## 9          honda manual   f  25  32       bad      best
## 10         honda   auto   f  25  36       bad      best
## 11         honda   auto   f  24  32       bad      best
## 12         honda   auto   f  24  32       bad      best
## 13         honda   auto   f  24  36       bad      best
## 14        toyota   auto   f  24  30       bad      best
## 15        toyota   auto   f  24  33       bad      best
## 16         honda manual   f  23  29       bad      best
## 17        nissan   auto   f  23  31       bad      best
## 18        nissan manual   f  23  32       bad      best
## 19     chevrolet   auto   f  22  30       bad      best
## 20        toyota   auto   f  22  31       bad      best
## 21    volkswagen   auto   f  22  29       bad      best
## 22    volkswagen   auto   f  22  29       bad      best
## 23          audi manual   f  21  29       bad      best
## 24          audi   auto   f  21  30       bad      best
## 25         honda manual   f  21  29       bad      best
## 26       hyundai   auto   f  21  30       bad      best
## 27       hyundai manual   f  21  31       bad      best
## 28        nissan manual   f  21  29       bad      best
## 29        subaru   auto   4  21  26       bad      good
## 30        toyota manual   f  21  29       bad      best
## 31        toyota   auto   f  21  27       bad      best
## 32        toyota manual   f  21  31       bad      best
## 33        toyota   auto   f  21  31       bad      best
## 34        toyota   auto   f  21  27       bad      best
## 35        toyota manual   f  21  29       bad      best
## 36        toyota manual   f  21  31       bad      best
## 37    volkswagen manual   f  21  29       bad      best
## 38    volkswagen manual   f  21  29       bad      best
## 39    volkswagen manual   f  21  29       bad      best
## 40    volkswagen manual   f  21  29       bad      best
## 41    volkswagen   auto   f  21  29       bad      best
## 42    volkswagen manual   f  21  29       bad      best
## 43    volkswagen manual   f  21  29       bad      best
## 44    volkswagen manual   f  21  29       bad      best
## 45    volkswagen manual   f  21  29       bad      best
## 46          audi manual   f  20  31       bad      best
## 47          audi manual   4  20  28       bad      best
## 48       hyundai manual   f  20  28       bad      best
## 49       hyundai   auto   f  20  27       bad      best
## 50        subaru manual   4  20  27       bad      best
## 51        subaru   auto   4  20  26       bad      good
## 52        subaru   auto   4  20  25       bad      good
## 53        subaru   auto   4  20  27       bad      best
## 54        subaru manual   4  20  27       bad      best
## 55    volkswagen manual   f  20  28       bad      best
## 56    volkswagen   auto   f  20  29       bad      best
## 57          audi   auto   4  19  27       bad      best
## 58     chevrolet   auto   f  19  27       bad      best
## 59       hyundai   auto   f  19  28       bad      best
## 60       hyundai   auto   f  19  26       bad      good
## 61       hyundai manual   f  19  29       bad      best
## 62        nissan   auto   f  19  27       bad      best
## 63        nissan manual   f  19  27       bad      best
## 64        nissan   auto   f  19  26       bad      good
## 65        nissan manual   f  19  25       bad      good
## 66        nissan   auto   f  19  25       bad      good
## 67        subaru manual   4  19  25       bad      good
## 68        subaru manual   4  19  26       bad      good
## 69        subaru manual   4  19  26       bad      good
## 70        subaru   auto   4  19  26       bad      good
## 71        subaru manual   4  19  25       bad      good
## 72        toyota   auto   f  19  28       bad      best
## 73    volkswagen   auto   f  19  26       bad      good
## 74    volkswagen   auto   f  19  26       bad      good
## 75    volkswagen   auto   f  19  26       bad      good
## 76    volkswagen   auto   f  19  28       bad      best
## 77          audi   auto   f  18  29       bad      best
## 78          audi manual   f  18  26       bad      good
## 79          audi   auto   f  18  27       bad      best
## 80          audi manual   4  18  26       bad      good
## 81     chevrolet   auto   f  18  26       bad      good
## 82     chevrolet   auto   f  18  29       bad      best
## 83         dodge   auto   f  18  24       bad      good
## 84          ford manual   r  18  26       bad      good
## 85          ford   auto   r  18  25       bad      good
## 86       hyundai   auto   f  18  26       bad      good
## 87       hyundai manual   f  18  27       bad      best
## 88       hyundai   auto   f  18  26       bad      good
## 89       hyundai manual   f  18  26       bad      good
## 90        nissan   auto   f  18  26       bad      good
## 91       pontiac   auto   f  18  26       bad      good
## 92       pontiac   auto   f  18  28       bad      best
## 93        subaru manual   4  18  25       bad      good
## 94        subaru   auto   4  18  24       bad      good
## 95        subaru   auto   4  18  23       bad    normal
## 96        toyota   auto   f  18  26       bad      good
## 97        toyota manual   f  18  26       bad      good
## 98        toyota   auto   f  18  26       bad      good
## 99        toyota manual   f  18  26       bad      good
## 100       toyota   auto   f  18  27       bad      best
## 101   volkswagen   auto   f  18  29       bad      best
## 102   volkswagen manual   f  18  26       bad      good
## 103         audi manual   4  17  25       bad      good
## 104         audi   auto   4  17  25       bad      good
## 105         audi   auto   4  17  25       bad      good
## 106    chevrolet   auto   f  17  26       bad      good
## 107        dodge   auto   f  17  24       bad      good
## 108        dodge   auto   f  17  24       bad      good
## 109        dodge   auto   f  17  24       bad      good
## 110         ford manual   r  17  26       bad      good
## 111      hyundai   auto   f  17  24       bad      good
## 112      hyundai manual   f  17  24       bad      good
## 113         jeep   auto   4  17  22       bad    normal
## 114      pontiac   auto   f  17  27       bad      best
## 115       toyota manual   4  17  22       bad    normal
## 116   volkswagen manual   f  17  24       bad      good
## 117   volkswagen manual   f  17  24       bad      good
## 118   volkswagen   auto   f  17  26       bad      good
## 119         audi   auto   f  16  26      good      good
## 120         audi   auto   4  16  25      good      good
## 121         audi   auto   4  16  23      good    normal
## 122    chevrolet manual   r  16  26      good      good
## 123    chevrolet manual   r  16  26      good      good
## 124        dodge   auto   f  16  22      good    normal
## 125        dodge   auto   f  16  22      good    normal
## 126        dodge   auto   f  16  23      good    normal
## 127        dodge   auto   f  16  23      good    normal
## 128         ford   auto   r  16  24      good      good
## 129      hyundai manual   f  16  24      good      good
## 130      pontiac   auto   f  16  26      good      good
## 131      pontiac   auto   f  16  25      good      good
## 132       toyota   auto   4  16  20      good    normal
## 133       toyota   auto   4  16  20      good    normal
## 134       toyota   auto   4  16  20      good    normal
## 135       toyota   auto   4  16  20      good    normal
## 136   volkswagen   auto   f  16  23      good    normal
## 137   volkswagen   auto   f  16  26      good      good
## 138         audi   auto   4  15  25      good      good
## 139         audi manual   4  15  25      good      good
## 140         audi   auto   4  15  24      good      good
## 141    chevrolet   auto   r  15  23      good    normal
## 142    chevrolet   auto   r  15  25      good      good
## 143    chevrolet manual   r  15  24      good      good
## 144        dodge   auto   f  15  22      good    normal
## 145        dodge   auto   f  15  21      good    normal
## 146        dodge manual   4  15  19      good    normal
## 147         ford manual   4  15  19      good    normal
## 148         ford   auto   r  15  21      good    normal
## 149         ford manual   r  15  22      good    normal
## 150         ford manual   r  15  23      good    normal
## 151         ford   auto   r  15  22      good    normal
## 152         jeep   auto   4  15  19      good    normal
## 153         jeep   auto   4  15  20      good    normal
## 154       nissan manual   4  15  17      good       bad
## 155       toyota manual   4  15  20      good    normal
## 156       toyota   auto   4  15  19      good    normal
## 157       toyota manual   4  15  17      good       bad
## 158       toyota manual   4  15  20      good    normal
## 159       toyota manual   4  15  17      good       bad
## 160       toyota   auto   4  15  19      good    normal
## 161       toyota manual   4  15  18      good    normal
## 162    chevrolet   auto   r  14  20      good    normal
## 163    chevrolet   auto   r  14  20      good    normal
## 164    chevrolet   auto   4  14  19      good    normal
## 165    chevrolet   auto   4  14  17      good       bad
## 166        dodge   auto   4  14  18      good    normal
## 167        dodge manual   4  14  17      good       bad
## 168        dodge   auto   4  14  19      good    normal
## 169        dodge   auto   4  14  19      good    normal
## 170         ford   auto   4  14  17      good       bad
## 171         ford   auto   4  14  17      good       bad
## 172         ford   auto   4  14  17      good       bad
## 173         ford manual   4  14  17      good       bad
## 174         ford manual   r  14  20      good    normal
## 175         jeep   auto   4  14  17      good       bad
## 176         jeep   auto   4  14  19      good    normal
## 177      mercury   auto   4  14  17      good       bad
## 178       nissan   auto   4  14  17      good       bad
## 179       nissan   auto   4  14  20      good    normal
## 180       toyota   auto   4  14  17      good       bad
## 181    chevrolet   auto   r  13  17      good       bad
## 182        dodge   auto   4  13  17      good       bad
## 183        dodge   auto   4  13  17      good       bad
## 184        dodge   auto   4  13  17      good       bad
## 185        dodge   auto   4  13  17      good       bad
## 186        dodge   auto   4  13  18      good    normal
## 187        dodge   auto   4  13  17      good       bad
## 188        dodge   auto   4  13  17      good       bad
## 189        dodge   auto   4  13  17      good       bad
## 190         ford   auto   4  13  19      good    normal
## 191         ford   auto   4  13  19      good    normal
## 192         ford   auto   4  13  17      good       bad
## 193         ford manual   4  13  16      good       bad
## 194         ford   auto   4  13  16      good       bad
## 195         ford   auto   4  13  17      good       bad
## 196         ford   auto   4  13  17      good       bad
## 197         jeep   auto   4  13  18      good    normal
## 198      mercury   auto   4  13  19      good    normal
## 199      mercury   auto   4  13  19      good    normal
## 200      mercury   auto   4  13  17      good       bad
## 201       toyota   auto   4  13  18      good    normal
## 202    chevrolet   auto   r  12  17      good       bad
## 203        dodge manual   4  12  16      good       bad
## 204        dodge manual   4  12  16      good       bad
## 205         ford   auto   r  12  18      good    normal
## 206   land rover   auto   4  12  18      good    normal
## 207   land rover   auto   4  12  18      good    normal
## 208      lincoln   auto   r  12  18      good    normal
## 209       nissan   auto   4  12  18      good    normal
## 210    chevrolet   auto   r  11  15      good       bad
## 211    chevrolet   auto   4  11  14      good       bad
## 212    chevrolet   auto   4  11  15      good       bad
## 213        dodge   auto   f  11  17      good       bad
## 214        dodge manual   4  11  17      good       bad
## 215        dodge   auto   4  11  15      good       bad
## 216        dodge   auto   4  11  16      good       bad
## 217        dodge   auto   4  11  15      good       bad
## 218        dodge   auto   4  11  15      good       bad
## 219        dodge manual   4  11  16      good       bad
## 220        dodge   auto   4  11  15      good       bad
## 221         ford   auto   r  11  17      good       bad
## 222         ford   auto   r  11  17      good       bad
## 223         ford   auto   4  11  15      good       bad
## 224         jeep   auto   4  11  14      good       bad
## 225   land rover   auto   4  11  15      good       bad
## 226   land rover   auto   4  11  15      good       bad
## 227      lincoln   auto   r  11  17      good       bad
## 228      lincoln   auto   r  11  16      good       bad
## 229       toyota   auto   4  11  15      good       bad
## 230        dodge   auto   4   9  12      good       bad
## 231        dodge   auto   4   9  12      good       bad
## 232        dodge   auto   4   9  12      good       bad
## 233        dodge manual   4   9  12      good       bad
## 234         jeep   auto   4   9  12      good       bad
#데이터 결합하기 138페이지
mpg2<-read.csv("mpg2.csv")
mpg3<-read.csv("mpg3.csv")
mpg2
##   id manufacturer cty
## 1  1         audi  18
## 2  2         audi  21
## 3  3         audi  20
mpg3
##   id hwy
## 1  1  29
## 2  4  26
## 3  5  26
left_join(mpg2,mpg3,by="id")
##   id manufacturer cty hwy
## 1  1         audi  18  29
## 2  2         audi  21  NA
## 3  3         audi  20  NA
inner_join(mpg2,mpg3,by="id")
##   id manufacturer cty hwy
## 1  1         audi  18  29
full_join(mpg2,mpg3,by="id")
##   id manufacturer cty hwy
## 1  1         audi  18  29
## 2  2         audi  21  NA
## 3  3         audi  20  NA
## 4  4         <NA>  NA  26
## 5  5         <NA>  NA  26
mpg5<-read.csv("mpg5.csv")
mpg6<-read.csv("mpg6.csv")
mpg5
##   manufacturer cty
## 1         audi  18
## 2         audi  21
mpg6
##   manufacturer hwy
## 1       toyota  20
## 2       toyota  20
bind_rows(mpg5,mpg6)
##   manufacturer cty hwy
## 1         audi  18  NA
## 2         audi  21  NA
## 3       toyota  NA  20
## 4       toyota  NA  20
#145 알아두면 유용한 함수
mpg1<-read.csv("mpg1.csv")
str(mpg1)
## 'data.frame':    234 obs. of  5 variables:
##  $ manufacturer: chr  "audi" "audi" "audi" "audi" ...
##  $ trans       : chr  "auto" "manual" "manual" "auto" ...
##  $ drv         : chr  "f" "f" "f" "f" ...
##  $ cty         : int  18 21 20 21 16 18 18 18 16 20 ...
##  $ hwy         : int  29 29 31 30 26 26 27 26 25 28 ...
mpg1$manufacturer<-as.factor(mpg1$manufacturer)
mpg1$cty<-as.numeric(mpg1$cty)
str(mpg1)
## 'data.frame':    234 obs. of  5 variables:
##  $ manufacturer: Factor w/ 15 levels "audi","chevrolet",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ trans       : chr  "auto" "manual" "manual" "auto" ...
##  $ drv         : chr  "f" "f" "f" "f" ...
##  $ cty         : num  18 21 20 21 16 18 18 18 16 20 ...
##  $ hwy         : int  29 29 31 30 26 26 27 26 25 28 ...
a<-table(mpg1$trans)
a
## 
##   auto manual 
##    157     77
b<-as.data.frame(a)
b
##     Var1 Freq
## 1   auto  157
## 2 manual   77
#p152 문자변수에서 일부를 추출  substr
data("economics")
economics
## # A tibble: 574 x 6
##    date         pce    pop psavert uempmed unemploy
##    <date>     <dbl>  <dbl>   <dbl>   <dbl>    <dbl>
##  1 1967-07-01  507. 198712    12.6     4.5     2944
##  2 1967-08-01  510. 198911    12.6     4.7     2945
##  3 1967-09-01  516. 199113    11.9     4.6     2958
##  4 1967-10-01  512. 199311    12.9     4.9     3143
##  5 1967-11-01  517. 199498    12.8     4.7     3066
##  6 1967-12-01  525. 199657    11.8     4.8     3018
##  7 1968-01-01  531. 199808    11.7     5.1     2878
##  8 1968-02-01  534. 199920    12.3     4.5     3001
##  9 1968-03-01  544. 200056    11.7     4.1     2877
## 10 1968-04-01  544  200208    12.3     4.6     2709
## # ... with 564 more rows
head(economics)
## # A tibble: 6 x 6
##   date         pce    pop psavert uempmed unemploy
##   <date>     <dbl>  <dbl>   <dbl>   <dbl>    <dbl>
## 1 1967-07-01  507. 198712    12.6     4.5     2944
## 2 1967-08-01  510. 198911    12.6     4.7     2945
## 3 1967-09-01  516. 199113    11.9     4.6     2958
## 4 1967-10-01  512. 199311    12.9     4.9     3143
## 5 1967-11-01  517. 199498    12.8     4.7     3066
## 6 1967-12-01  525. 199657    11.8     4.8     3018
str(economics)
## spec_tbl_df [574 x 6] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ date    : Date[1:574], format: "1967-07-01" "1967-08-01" ...
##  $ pce     : num [1:574] 507 510 516 512 517 ...
##  $ pop     : num [1:574] 198712 198911 199113 199311 199498 ...
##  $ psavert : num [1:574] 12.6 12.6 11.9 12.9 12.8 11.8 11.7 12.3 11.7 12.3 ...
##  $ uempmed : num [1:574] 4.5 4.7 4.6 4.9 4.7 4.8 5.1 4.5 4.1 4.6 ...
##  $ unemploy: num [1:574] 2944 2945 2958 3143 3066 ...
economics$year<-substr(economics$date,1,4)
economics
## # A tibble: 574 x 7
##    date         pce    pop psavert uempmed unemploy year 
##    <date>     <dbl>  <dbl>   <dbl>   <dbl>    <dbl> <chr>
##  1 1967-07-01  507. 198712    12.6     4.5     2944 1967 
##  2 1967-08-01  510. 198911    12.6     4.7     2945 1967 
##  3 1967-09-01  516. 199113    11.9     4.6     2958 1967 
##  4 1967-10-01  512. 199311    12.9     4.9     3143 1967 
##  5 1967-11-01  517. 199498    12.8     4.7     3066 1967 
##  6 1967-12-01  525. 199657    11.8     4.8     3018 1967 
##  7 1968-01-01  531. 199808    11.7     5.1     2878 1968 
##  8 1968-02-01  534. 199920    12.3     4.5     3001 1968 
##  9 1968-03-01  544. 200056    11.7     4.1     2877 1968 
## 10 1968-04-01  544  200208    12.3     4.6     2709 1968 
## # ... with 564 more rows
economics %>% 
  group_by(year) %>% 
  summarise(m=mean(psavert)) %>% 
  arrange(desc(m)) %>% head
## # A tibble: 6 x 2
##   year      m
##   <chr> <dbl>
## 1 1971   13.5
## 2 1973   13.4
## 3 1975   13.4
## 4 1974   13.3
## 5 1970   12.8
## 6 1967   12.4
exam_na<-read.csv(("exam_na.csv"))
View(exam_na)
exam_na
##   id sex korean english math
## 1  1   M     87      NA   82
## 2  2   F     92      95   93
## 3  3   F     95      92   90
## 4  4   M     NA      84   80
## 5  5   F     87      NA   88
is.na(exam_na)
##         id   sex korean english  math
## [1,] FALSE FALSE  FALSE    TRUE FALSE
## [2,] FALSE FALSE  FALSE   FALSE FALSE
## [3,] FALSE FALSE  FALSE   FALSE FALSE
## [4,] FALSE FALSE   TRUE   FALSE FALSE
## [5,] FALSE FALSE  FALSE    TRUE FALSE
table(is.na(exam_na))
## 
## FALSE  TRUE 
##    22     3
summary(is.na(exam_na))
##      id             sex            korean         english       
##  Mode :logical   Mode :logical   Mode :logical   Mode :logical  
##  FALSE:5         FALSE:5         FALSE:4         FALSE:3        
##                                  TRUE :1         TRUE :2        
##     math        
##  Mode :logical  
##  FALSE:5        
## 
#결치값 제거하기
exam_na %>% filter(!is.na(korean))
##   id sex korean english math
## 1  1   M     87      NA   82
## 2  2   F     92      95   93
## 3  3   F     95      92   90
## 4  5   F     87      NA   88
exam_na$korean
## [1] 87 92 95 NA 87
mean(exam_na$korean,na.rm=TRUE)                   
## [1] 90.25
#평균 90.25로 대체하는 코딩
exam_na$korean<-ifelse(is.na(exam_na$korean),90.25,exam_na$korean)
exam_na$korean                       
## [1] 87.00 92.00 95.00 90.25 87.00