rm(list=ls())
ls()
## character(0)
data("airquality")
summary(airquality)
## Ozone Solar.R Wind Temp
## Min. : 1.00 Min. : 7.0 Min. : 1.700 Min. :56.00
## 1st Qu.: 18.00 1st Qu.:115.8 1st Qu.: 7.400 1st Qu.:72.00
## Median : 31.50 Median :205.0 Median : 9.700 Median :79.00
## Mean : 42.13 Mean :185.9 Mean : 9.958 Mean :77.88
## 3rd Qu.: 63.25 3rd Qu.:258.8 3rd Qu.:11.500 3rd Qu.:85.00
## Max. :168.00 Max. :334.0 Max. :20.700 Max. :97.00
## NA's :37 NA's :7
## Month Day
## Min. :5.000 Min. : 1.0
## 1st Qu.:6.000 1st Qu.: 8.0
## Median :7.000 Median :16.0
## Mean :6.993 Mean :15.8
## 3rd Qu.:8.000 3rd Qu.:23.0
## Max. :9.000 Max. :31.0
##
# ozone은 오른쪽 꼬리분표
# 중앙값값 = 31.50 < 평균값 = 42.13
# install.packages("reshape2")
library(reshape2)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
head(airquality)
## Ozone Solar.R Wind Temp Month Day
## 1 41 190 7.4 67 5 1
## 2 36 118 8.0 72 5 2
## 3 12 149 12.6 74 5 3
## 4 18 313 11.5 62 5 4
## 5 NA NA 14.3 56 5 5
## 6 28 NA 14.9 66 5 6
tail(airquality)
## Ozone Solar.R Wind Temp Month Day
## 148 14 20 16.6 63 9 25
## 149 30 193 6.9 70 9 26
## 150 NA 145 13.2 77 9 27
## 151 14 191 14.3 75 9 28
## 152 18 131 8.0 76 9 29
## 153 20 223 11.5 68 9 30
class(airquality)
## [1] "data.frame"
# melt() 함수는 데이터프레임을 "wide format"에서
# "long format"으로 변환
melt(airquality, id.vars = c("Month", "Day"))
## Month Day variable value
## 1 5 1 Ozone 41.0
## 2 5 2 Ozone 36.0
## 3 5 3 Ozone 12.0
## 4 5 4 Ozone 18.0
## 5 5 5 Ozone NA
## 6 5 6 Ozone 28.0
## 7 5 7 Ozone 23.0
## 8 5 8 Ozone 19.0
## 9 5 9 Ozone 8.0
## 10 5 10 Ozone NA
## 11 5 11 Ozone 7.0
## 12 5 12 Ozone 16.0
## 13 5 13 Ozone 11.0
## 14 5 14 Ozone 14.0
## 15 5 15 Ozone 18.0
## 16 5 16 Ozone 14.0
## 17 5 17 Ozone 34.0
## 18 5 18 Ozone 6.0
## 19 5 19 Ozone 30.0
## 20 5 20 Ozone 11.0
## 21 5 21 Ozone 1.0
## 22 5 22 Ozone 11.0
## 23 5 23 Ozone 4.0
## 24 5 24 Ozone 32.0
## 25 5 25 Ozone NA
## 26 5 26 Ozone NA
## 27 5 27 Ozone NA
## 28 5 28 Ozone 23.0
## 29 5 29 Ozone 45.0
## 30 5 30 Ozone 115.0
## 31 5 31 Ozone 37.0
## 32 6 1 Ozone NA
## 33 6 2 Ozone NA
## 34 6 3 Ozone NA
## 35 6 4 Ozone NA
## 36 6 5 Ozone NA
## 37 6 6 Ozone NA
## 38 6 7 Ozone 29.0
## 39 6 8 Ozone NA
## 40 6 9 Ozone 71.0
## 41 6 10 Ozone 39.0
## 42 6 11 Ozone NA
## 43 6 12 Ozone NA
## 44 6 13 Ozone 23.0
## 45 6 14 Ozone NA
## 46 6 15 Ozone NA
## 47 6 16 Ozone 21.0
## 48 6 17 Ozone 37.0
## 49 6 18 Ozone 20.0
## 50 6 19 Ozone 12.0
## 51 6 20 Ozone 13.0
## 52 6 21 Ozone NA
## 53 6 22 Ozone NA
## 54 6 23 Ozone NA
## 55 6 24 Ozone NA
## 56 6 25 Ozone NA
## 57 6 26 Ozone NA
## 58 6 27 Ozone NA
## 59 6 28 Ozone NA
## 60 6 29 Ozone NA
## 61 6 30 Ozone NA
## 62 7 1 Ozone 135.0
## 63 7 2 Ozone 49.0
## 64 7 3 Ozone 32.0
## 65 7 4 Ozone NA
## 66 7 5 Ozone 64.0
## 67 7 6 Ozone 40.0
## 68 7 7 Ozone 77.0
## 69 7 8 Ozone 97.0
## 70 7 9 Ozone 97.0
## 71 7 10 Ozone 85.0
## 72 7 11 Ozone NA
## 73 7 12 Ozone 10.0
## 74 7 13 Ozone 27.0
## 75 7 14 Ozone NA
## 76 7 15 Ozone 7.0
## 77 7 16 Ozone 48.0
## 78 7 17 Ozone 35.0
## 79 7 18 Ozone 61.0
## 80 7 19 Ozone 79.0
## 81 7 20 Ozone 63.0
## 82 7 21 Ozone 16.0
## 83 7 22 Ozone NA
## 84 7 23 Ozone NA
## 85 7 24 Ozone 80.0
## 86 7 25 Ozone 108.0
## 87 7 26 Ozone 20.0
## 88 7 27 Ozone 52.0
## 89 7 28 Ozone 82.0
## 90 7 29 Ozone 50.0
## 91 7 30 Ozone 64.0
## 92 7 31 Ozone 59.0
## 93 8 1 Ozone 39.0
## 94 8 2 Ozone 9.0
## 95 8 3 Ozone 16.0
## 96 8 4 Ozone 78.0
## 97 8 5 Ozone 35.0
## 98 8 6 Ozone 66.0
## 99 8 7 Ozone 122.0
## 100 8 8 Ozone 89.0
## 101 8 9 Ozone 110.0
## 102 8 10 Ozone NA
## 103 8 11 Ozone NA
## 104 8 12 Ozone 44.0
## 105 8 13 Ozone 28.0
## 106 8 14 Ozone 65.0
## 107 8 15 Ozone NA
## 108 8 16 Ozone 22.0
## 109 8 17 Ozone 59.0
## 110 8 18 Ozone 23.0
## 111 8 19 Ozone 31.0
## 112 8 20 Ozone 44.0
## 113 8 21 Ozone 21.0
## 114 8 22 Ozone 9.0
## 115 8 23 Ozone NA
## 116 8 24 Ozone 45.0
## 117 8 25 Ozone 168.0
## 118 8 26 Ozone 73.0
## 119 8 27 Ozone NA
## 120 8 28 Ozone 76.0
## 121 8 29 Ozone 118.0
## 122 8 30 Ozone 84.0
## 123 8 31 Ozone 85.0
## 124 9 1 Ozone 96.0
## 125 9 2 Ozone 78.0
## 126 9 3 Ozone 73.0
## 127 9 4 Ozone 91.0
## 128 9 5 Ozone 47.0
## 129 9 6 Ozone 32.0
## 130 9 7 Ozone 20.0
## 131 9 8 Ozone 23.0
## 132 9 9 Ozone 21.0
## 133 9 10 Ozone 24.0
## 134 9 11 Ozone 44.0
## 135 9 12 Ozone 21.0
## 136 9 13 Ozone 28.0
## 137 9 14 Ozone 9.0
## 138 9 15 Ozone 13.0
## 139 9 16 Ozone 46.0
## 140 9 17 Ozone 18.0
## 141 9 18 Ozone 13.0
## 142 9 19 Ozone 24.0
## 143 9 20 Ozone 16.0
## 144 9 21 Ozone 13.0
## 145 9 22 Ozone 23.0
## 146 9 23 Ozone 36.0
## 147 9 24 Ozone 7.0
## 148 9 25 Ozone 14.0
## 149 9 26 Ozone 30.0
## 150 9 27 Ozone NA
## 151 9 28 Ozone 14.0
## 152 9 29 Ozone 18.0
## 153 9 30 Ozone 20.0
## 154 5 1 Solar.R 190.0
## 155 5 2 Solar.R 118.0
## 156 5 3 Solar.R 149.0
## 157 5 4 Solar.R 313.0
## 158 5 5 Solar.R NA
## 159 5 6 Solar.R NA
## 160 5 7 Solar.R 299.0
## 161 5 8 Solar.R 99.0
## 162 5 9 Solar.R 19.0
## 163 5 10 Solar.R 194.0
## 164 5 11 Solar.R NA
## 165 5 12 Solar.R 256.0
## 166 5 13 Solar.R 290.0
## 167 5 14 Solar.R 274.0
## 168 5 15 Solar.R 65.0
## 169 5 16 Solar.R 334.0
## 170 5 17 Solar.R 307.0
## 171 5 18 Solar.R 78.0
## 172 5 19 Solar.R 322.0
## 173 5 20 Solar.R 44.0
## 174 5 21 Solar.R 8.0
## 175 5 22 Solar.R 320.0
## 176 5 23 Solar.R 25.0
## 177 5 24 Solar.R 92.0
## 178 5 25 Solar.R 66.0
## 179 5 26 Solar.R 266.0
## 180 5 27 Solar.R NA
## 181 5 28 Solar.R 13.0
## 182 5 29 Solar.R 252.0
## 183 5 30 Solar.R 223.0
## 184 5 31 Solar.R 279.0
## 185 6 1 Solar.R 286.0
## 186 6 2 Solar.R 287.0
## 187 6 3 Solar.R 242.0
## 188 6 4 Solar.R 186.0
## 189 6 5 Solar.R 220.0
## 190 6 6 Solar.R 264.0
## 191 6 7 Solar.R 127.0
## 192 6 8 Solar.R 273.0
## 193 6 9 Solar.R 291.0
## 194 6 10 Solar.R 323.0
## 195 6 11 Solar.R 259.0
## 196 6 12 Solar.R 250.0
## 197 6 13 Solar.R 148.0
## 198 6 14 Solar.R 332.0
## 199 6 15 Solar.R 322.0
## 200 6 16 Solar.R 191.0
## 201 6 17 Solar.R 284.0
## 202 6 18 Solar.R 37.0
## 203 6 19 Solar.R 120.0
## 204 6 20 Solar.R 137.0
## 205 6 21 Solar.R 150.0
## 206 6 22 Solar.R 59.0
## 207 6 23 Solar.R 91.0
## 208 6 24 Solar.R 250.0
## 209 6 25 Solar.R 135.0
## 210 6 26 Solar.R 127.0
## 211 6 27 Solar.R 47.0
## 212 6 28 Solar.R 98.0
## 213 6 29 Solar.R 31.0
## 214 6 30 Solar.R 138.0
## 215 7 1 Solar.R 269.0
## 216 7 2 Solar.R 248.0
## 217 7 3 Solar.R 236.0
## 218 7 4 Solar.R 101.0
## 219 7 5 Solar.R 175.0
## 220 7 6 Solar.R 314.0
## 221 7 7 Solar.R 276.0
## 222 7 8 Solar.R 267.0
## 223 7 9 Solar.R 272.0
## 224 7 10 Solar.R 175.0
## 225 7 11 Solar.R 139.0
## 226 7 12 Solar.R 264.0
## 227 7 13 Solar.R 175.0
## 228 7 14 Solar.R 291.0
## 229 7 15 Solar.R 48.0
## 230 7 16 Solar.R 260.0
## 231 7 17 Solar.R 274.0
## 232 7 18 Solar.R 285.0
## 233 7 19 Solar.R 187.0
## 234 7 20 Solar.R 220.0
## 235 7 21 Solar.R 7.0
## 236 7 22 Solar.R 258.0
## 237 7 23 Solar.R 295.0
## 238 7 24 Solar.R 294.0
## 239 7 25 Solar.R 223.0
## 240 7 26 Solar.R 81.0
## 241 7 27 Solar.R 82.0
## 242 7 28 Solar.R 213.0
## 243 7 29 Solar.R 275.0
## 244 7 30 Solar.R 253.0
## 245 7 31 Solar.R 254.0
## 246 8 1 Solar.R 83.0
## 247 8 2 Solar.R 24.0
## 248 8 3 Solar.R 77.0
## 249 8 4 Solar.R NA
## 250 8 5 Solar.R NA
## 251 8 6 Solar.R NA
## 252 8 7 Solar.R 255.0
## 253 8 8 Solar.R 229.0
## 254 8 9 Solar.R 207.0
## 255 8 10 Solar.R 222.0
## 256 8 11 Solar.R 137.0
## 257 8 12 Solar.R 192.0
## 258 8 13 Solar.R 273.0
## 259 8 14 Solar.R 157.0
## 260 8 15 Solar.R 64.0
## 261 8 16 Solar.R 71.0
## 262 8 17 Solar.R 51.0
## 263 8 18 Solar.R 115.0
## 264 8 19 Solar.R 244.0
## 265 8 20 Solar.R 190.0
## 266 8 21 Solar.R 259.0
## 267 8 22 Solar.R 36.0
## 268 8 23 Solar.R 255.0
## 269 8 24 Solar.R 212.0
## 270 8 25 Solar.R 238.0
## 271 8 26 Solar.R 215.0
## 272 8 27 Solar.R 153.0
## 273 8 28 Solar.R 203.0
## 274 8 29 Solar.R 225.0
## 275 8 30 Solar.R 237.0
## 276 8 31 Solar.R 188.0
## 277 9 1 Solar.R 167.0
## 278 9 2 Solar.R 197.0
## 279 9 3 Solar.R 183.0
## 280 9 4 Solar.R 189.0
## 281 9 5 Solar.R 95.0
## 282 9 6 Solar.R 92.0
## 283 9 7 Solar.R 252.0
## 284 9 8 Solar.R 220.0
## 285 9 9 Solar.R 230.0
## 286 9 10 Solar.R 259.0
## 287 9 11 Solar.R 236.0
## 288 9 12 Solar.R 259.0
## 289 9 13 Solar.R 238.0
## 290 9 14 Solar.R 24.0
## 291 9 15 Solar.R 112.0
## 292 9 16 Solar.R 237.0
## 293 9 17 Solar.R 224.0
## 294 9 18 Solar.R 27.0
## 295 9 19 Solar.R 238.0
## 296 9 20 Solar.R 201.0
## 297 9 21 Solar.R 238.0
## 298 9 22 Solar.R 14.0
## 299 9 23 Solar.R 139.0
## 300 9 24 Solar.R 49.0
## 301 9 25 Solar.R 20.0
## 302 9 26 Solar.R 193.0
## 303 9 27 Solar.R 145.0
## 304 9 28 Solar.R 191.0
## 305 9 29 Solar.R 131.0
## 306 9 30 Solar.R 223.0
## 307 5 1 Wind 7.4
## 308 5 2 Wind 8.0
## 309 5 3 Wind 12.6
## 310 5 4 Wind 11.5
## 311 5 5 Wind 14.3
## 312 5 6 Wind 14.9
## 313 5 7 Wind 8.6
## 314 5 8 Wind 13.8
## 315 5 9 Wind 20.1
## 316 5 10 Wind 8.6
## 317 5 11 Wind 6.9
## 318 5 12 Wind 9.7
## 319 5 13 Wind 9.2
## 320 5 14 Wind 10.9
## 321 5 15 Wind 13.2
## 322 5 16 Wind 11.5
## 323 5 17 Wind 12.0
## 324 5 18 Wind 18.4
## 325 5 19 Wind 11.5
## 326 5 20 Wind 9.7
## 327 5 21 Wind 9.7
## 328 5 22 Wind 16.6
## 329 5 23 Wind 9.7
## 330 5 24 Wind 12.0
## 331 5 25 Wind 16.6
## 332 5 26 Wind 14.9
## 333 5 27 Wind 8.0
## 334 5 28 Wind 12.0
## 335 5 29 Wind 14.9
## 336 5 30 Wind 5.7
## 337 5 31 Wind 7.4
## 338 6 1 Wind 8.6
## 339 6 2 Wind 9.7
## 340 6 3 Wind 16.1
## 341 6 4 Wind 9.2
## 342 6 5 Wind 8.6
## 343 6 6 Wind 14.3
## 344 6 7 Wind 9.7
## 345 6 8 Wind 6.9
## 346 6 9 Wind 13.8
## 347 6 10 Wind 11.5
## 348 6 11 Wind 10.9
## 349 6 12 Wind 9.2
## 350 6 13 Wind 8.0
## 351 6 14 Wind 13.8
## 352 6 15 Wind 11.5
## 353 6 16 Wind 14.9
## 354 6 17 Wind 20.7
## 355 6 18 Wind 9.2
## 356 6 19 Wind 11.5
## 357 6 20 Wind 10.3
## 358 6 21 Wind 6.3
## 359 6 22 Wind 1.7
## 360 6 23 Wind 4.6
## 361 6 24 Wind 6.3
## 362 6 25 Wind 8.0
## 363 6 26 Wind 8.0
## 364 6 27 Wind 10.3
## 365 6 28 Wind 11.5
## 366 6 29 Wind 14.9
## 367 6 30 Wind 8.0
## 368 7 1 Wind 4.1
## 369 7 2 Wind 9.2
## 370 7 3 Wind 9.2
## 371 7 4 Wind 10.9
## 372 7 5 Wind 4.6
## 373 7 6 Wind 10.9
## 374 7 7 Wind 5.1
## 375 7 8 Wind 6.3
## 376 7 9 Wind 5.7
## 377 7 10 Wind 7.4
## 378 7 11 Wind 8.6
## 379 7 12 Wind 14.3
## 380 7 13 Wind 14.9
## 381 7 14 Wind 14.9
## 382 7 15 Wind 14.3
## 383 7 16 Wind 6.9
## 384 7 17 Wind 10.3
## 385 7 18 Wind 6.3
## 386 7 19 Wind 5.1
## 387 7 20 Wind 11.5
## 388 7 21 Wind 6.9
## 389 7 22 Wind 9.7
## 390 7 23 Wind 11.5
## 391 7 24 Wind 8.6
## 392 7 25 Wind 8.0
## 393 7 26 Wind 8.6
## 394 7 27 Wind 12.0
## 395 7 28 Wind 7.4
## 396 7 29 Wind 7.4
## 397 7 30 Wind 7.4
## 398 7 31 Wind 9.2
## 399 8 1 Wind 6.9
## 400 8 2 Wind 13.8
## 401 8 3 Wind 7.4
## 402 8 4 Wind 6.9
## 403 8 5 Wind 7.4
## 404 8 6 Wind 4.6
## 405 8 7 Wind 4.0
## 406 8 8 Wind 10.3
## 407 8 9 Wind 8.0
## 408 8 10 Wind 8.6
## 409 8 11 Wind 11.5
## 410 8 12 Wind 11.5
## 411 8 13 Wind 11.5
## 412 8 14 Wind 9.7
## 413 8 15 Wind 11.5
## 414 8 16 Wind 10.3
## 415 8 17 Wind 6.3
## 416 8 18 Wind 7.4
## 417 8 19 Wind 10.9
## 418 8 20 Wind 10.3
## 419 8 21 Wind 15.5
## 420 8 22 Wind 14.3
## 421 8 23 Wind 12.6
## 422 8 24 Wind 9.7
## 423 8 25 Wind 3.4
## 424 8 26 Wind 8.0
## 425 8 27 Wind 5.7
## 426 8 28 Wind 9.7
## 427 8 29 Wind 2.3
## 428 8 30 Wind 6.3
## 429 8 31 Wind 6.3
## 430 9 1 Wind 6.9
## 431 9 2 Wind 5.1
## 432 9 3 Wind 2.8
## 433 9 4 Wind 4.6
## 434 9 5 Wind 7.4
## 435 9 6 Wind 15.5
## 436 9 7 Wind 10.9
## 437 9 8 Wind 10.3
## 438 9 9 Wind 10.9
## 439 9 10 Wind 9.7
## 440 9 11 Wind 14.9
## 441 9 12 Wind 15.5
## 442 9 13 Wind 6.3
## 443 9 14 Wind 10.9
## 444 9 15 Wind 11.5
## 445 9 16 Wind 6.9
## 446 9 17 Wind 13.8
## 447 9 18 Wind 10.3
## 448 9 19 Wind 10.3
## 449 9 20 Wind 8.0
## 450 9 21 Wind 12.6
## 451 9 22 Wind 9.2
## 452 9 23 Wind 10.3
## 453 9 24 Wind 10.3
## 454 9 25 Wind 16.6
## 455 9 26 Wind 6.9
## 456 9 27 Wind 13.2
## 457 9 28 Wind 14.3
## 458 9 29 Wind 8.0
## 459 9 30 Wind 11.5
## 460 5 1 Temp 67.0
## 461 5 2 Temp 72.0
## 462 5 3 Temp 74.0
## 463 5 4 Temp 62.0
## 464 5 5 Temp 56.0
## 465 5 6 Temp 66.0
## 466 5 7 Temp 65.0
## 467 5 8 Temp 59.0
## 468 5 9 Temp 61.0
## 469 5 10 Temp 69.0
## 470 5 11 Temp 74.0
## 471 5 12 Temp 69.0
## 472 5 13 Temp 66.0
## 473 5 14 Temp 68.0
## 474 5 15 Temp 58.0
## 475 5 16 Temp 64.0
## 476 5 17 Temp 66.0
## 477 5 18 Temp 57.0
## 478 5 19 Temp 68.0
## 479 5 20 Temp 62.0
## 480 5 21 Temp 59.0
## 481 5 22 Temp 73.0
## 482 5 23 Temp 61.0
## 483 5 24 Temp 61.0
## 484 5 25 Temp 57.0
## 485 5 26 Temp 58.0
## 486 5 27 Temp 57.0
## 487 5 28 Temp 67.0
## 488 5 29 Temp 81.0
## 489 5 30 Temp 79.0
## 490 5 31 Temp 76.0
## 491 6 1 Temp 78.0
## 492 6 2 Temp 74.0
## 493 6 3 Temp 67.0
## 494 6 4 Temp 84.0
## 495 6 5 Temp 85.0
## 496 6 6 Temp 79.0
## 497 6 7 Temp 82.0
## 498 6 8 Temp 87.0
## 499 6 9 Temp 90.0
## 500 6 10 Temp 87.0
## 501 6 11 Temp 93.0
## 502 6 12 Temp 92.0
## 503 6 13 Temp 82.0
## 504 6 14 Temp 80.0
## 505 6 15 Temp 79.0
## 506 6 16 Temp 77.0
## 507 6 17 Temp 72.0
## 508 6 18 Temp 65.0
## 509 6 19 Temp 73.0
## 510 6 20 Temp 76.0
## 511 6 21 Temp 77.0
## 512 6 22 Temp 76.0
## 513 6 23 Temp 76.0
## 514 6 24 Temp 76.0
## 515 6 25 Temp 75.0
## 516 6 26 Temp 78.0
## 517 6 27 Temp 73.0
## 518 6 28 Temp 80.0
## 519 6 29 Temp 77.0
## 520 6 30 Temp 83.0
## 521 7 1 Temp 84.0
## 522 7 2 Temp 85.0
## 523 7 3 Temp 81.0
## 524 7 4 Temp 84.0
## 525 7 5 Temp 83.0
## 526 7 6 Temp 83.0
## 527 7 7 Temp 88.0
## 528 7 8 Temp 92.0
## 529 7 9 Temp 92.0
## 530 7 10 Temp 89.0
## 531 7 11 Temp 82.0
## 532 7 12 Temp 73.0
## 533 7 13 Temp 81.0
## 534 7 14 Temp 91.0
## 535 7 15 Temp 80.0
## 536 7 16 Temp 81.0
## 537 7 17 Temp 82.0
## 538 7 18 Temp 84.0
## 539 7 19 Temp 87.0
## 540 7 20 Temp 85.0
## 541 7 21 Temp 74.0
## 542 7 22 Temp 81.0
## 543 7 23 Temp 82.0
## 544 7 24 Temp 86.0
## 545 7 25 Temp 85.0
## 546 7 26 Temp 82.0
## 547 7 27 Temp 86.0
## 548 7 28 Temp 88.0
## 549 7 29 Temp 86.0
## 550 7 30 Temp 83.0
## 551 7 31 Temp 81.0
## 552 8 1 Temp 81.0
## 553 8 2 Temp 81.0
## 554 8 3 Temp 82.0
## 555 8 4 Temp 86.0
## 556 8 5 Temp 85.0
## 557 8 6 Temp 87.0
## 558 8 7 Temp 89.0
## 559 8 8 Temp 90.0
## 560 8 9 Temp 90.0
## 561 8 10 Temp 92.0
## 562 8 11 Temp 86.0
## 563 8 12 Temp 86.0
## 564 8 13 Temp 82.0
## 565 8 14 Temp 80.0
## 566 8 15 Temp 79.0
## 567 8 16 Temp 77.0
## 568 8 17 Temp 79.0
## 569 8 18 Temp 76.0
## 570 8 19 Temp 78.0
## 571 8 20 Temp 78.0
## 572 8 21 Temp 77.0
## 573 8 22 Temp 72.0
## 574 8 23 Temp 75.0
## 575 8 24 Temp 79.0
## 576 8 25 Temp 81.0
## 577 8 26 Temp 86.0
## 578 8 27 Temp 88.0
## 579 8 28 Temp 97.0
## 580 8 29 Temp 94.0
## 581 8 30 Temp 96.0
## 582 8 31 Temp 94.0
## 583 9 1 Temp 91.0
## 584 9 2 Temp 92.0
## 585 9 3 Temp 93.0
## 586 9 4 Temp 93.0
## 587 9 5 Temp 87.0
## 588 9 6 Temp 84.0
## 589 9 7 Temp 80.0
## 590 9 8 Temp 78.0
## 591 9 9 Temp 75.0
## 592 9 10 Temp 73.0
## 593 9 11 Temp 81.0
## 594 9 12 Temp 76.0
## 595 9 13 Temp 77.0
## 596 9 14 Temp 71.0
## 597 9 15 Temp 71.0
## 598 9 16 Temp 78.0
## 599 9 17 Temp 67.0
## 600 9 18 Temp 76.0
## 601 9 19 Temp 68.0
## 602 9 20 Temp 82.0
## 603 9 21 Temp 64.0
## 604 9 22 Temp 71.0
## 605 9 23 Temp 81.0
## 606 9 24 Temp 69.0
## 607 9 25 Temp 63.0
## 608 9 26 Temp 70.0
## 609 9 27 Temp 77.0
## 610 9 28 Temp 75.0
## 611 9 29 Temp 76.0
## 612 9 30 Temp 68.0
df <- melt(airquality, id.vars = c("Month", "Day"))
names(df)
## [1] "Month" "Day" "variable" "value"
#dplyr::remame()
# 변수명 변경
# "variable" -> "enviro"
# "value" -> "measure"
df1 <- dplyr::rename(df, enviro = variable, measure = value)
library(ggplot2)
ggplot(df1, aes(x = enviro, y = measure)) +
geom_boxplot(fill = "skyblue", color = "black") +
labs(title = "환경 변수별 분포 (boxplot)",
x = "환경 변수",
y = "측정값") +
theme_minimal()
## Warning: Removed 44 rows containing non-finite outside the scale range
## (`stat_boxplot()`).

# ozone : 이상값 존재
# Temp : 이상값 미존재
data(mtcars)
head(mtcars)
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
#rownames -> 새로운 열(car)로 추가
rownames(mtcars)
## [1] "Mazda RX4" "Mazda RX4 Wag" "Datsun 710"
## [4] "Hornet 4 Drive" "Hornet Sportabout" "Valiant"
## [7] "Duster 360" "Merc 240D" "Merc 230"
## [10] "Merc 280" "Merc 280C" "Merc 450SE"
## [13] "Merc 450SL" "Merc 450SLC" "Cadillac Fleetwood"
## [16] "Lincoln Continental" "Chrysler Imperial" "Fiat 128"
## [19] "Honda Civic" "Toyota Corolla" "Toyota Corona"
## [22] "Dodge Challenger" "AMC Javelin" "Camaro Z28"
## [25] "Pontiac Firebird" "Fiat X1-9" "Porsche 914-2"
## [28] "Lotus Europa" "Ford Pantera L" "Ferrari Dino"
## [31] "Maserati Bora" "Volvo 142E"
mtcars$car <- rownames(mtcars)
head(mtcars)
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
## car
## Mazda RX4 Mazda RX4
## Mazda RX4 Wag Mazda RX4 Wag
## Datsun 710 Datsun 710
## Hornet 4 Drive Hornet 4 Drive
## Hornet Sportabout Hornet Sportabout
## Valiant Valiant
df_long <- melt(mtcars, id.vars = "car",
variable.name = "feature",
value.name = "value")
ggplot(mtcars, aes(x = hp, y = mpg, label = rownames(mtcars))) +
geom_point() +
geom_text(nudge_y = 1, size = 3) +
labs(title = "마력(hp) vs 연비(mpg)", x = "마력", y = "연비") +
theme_minimal()

# nudge_y = 1, 텍스트를 y축 방향으로 1만큼 위로
# 이동하여 겹치지 않도록 함
#install.packages("plyr")
library(plyr)
## ------------------------------------------------------------------------------
## You have loaded plyr after dplyr - this is likely to cause problems.
## If you need functions from both plyr and dplyr, please load plyr first, then dplyr:
## library(plyr); library(dplyr)
## ------------------------------------------------------------------------------
##
## Attaching package: 'plyr'
## The following objects are masked from 'package:dplyr':
##
## arrange, count, desc, failwith, id, mutate, rename, summarise,
## summarize
# plyr 패키지의 함수로, dataframe을 분할하고
# 결과도 dataframe으로 반환
# month 변수 기준 데이터를 그룹별로 분할
# 각 그룹에 요약함수를 적용하여 새 dataframe 생성
class(airquality)
## [1] "data.frame"
# na.rm = TRUE : 결측값 제외
df2 <- ddply(airquality, .(Month), summarise,
Mean_Ozone = mean(Ozone, na.rm = TRUE))
class(df2)
## [1] "data.frame"
# ADSP 시험에선 ddply의 의미가 출제
# dataframe으로 입력받고 dataframe으로 출력하는
# dply는 ? 정답 : ddply()