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