{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "kernelspec": { "display_name": "R", "language": "R", "name": "ir" }, "language_info": { "codemirror_mode": "r", "file_extension": ".r", "mimetype": "text/x-r-source", "name": "R", "pygments_lexer": "r", "version": "3.6.1" }, "colab": { "name": "stats306_lab7_solution.ipynb", "provenance": [], "collapsed_sections": [] } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "4HZ8hEoOa4Ya" }, "source": [ "# Lab 7: Missing Values and Cleaning Messy Data" ] }, { "cell_type": "code", "metadata": { "id": "GbtQFHaAa4Yd" }, "source": [ "library(tidyverse)" ], "execution_count": 199, "outputs": [] }, { "cell_type": "code", "metadata": { "scrolled": true, "colab": { "base_uri": "https://localhost:8080/", "height": 308 }, "id": "lbhYYZzNa4Yf", "outputId": "535dd4c5-91e5-47ec-cdb6-54150308d185" }, "source": [ "(stocks <- tibble(\n", " Year = c(2015, 2015, 2015, 2015, 2016, 2016, 2016),\n", " Qtr = c( 1, 2, 3, 4, 2, 3, 4),\n", " Return = c(1.88, 0.59, 0.35, NA, 0.92, 0.17, 2.66)\n", "))" ], "execution_count": 200, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ " Year Qtr Return\n", "1 2015 1 1.88 \n", "2 2015 2 0.59 \n", "3 2015 3 0.35 \n", "4 2015 4 NA \n", "5 2016 2 0.92 \n", "6 2016 3 0.17 \n", "7 2016 4 2.66 " ], "text/latex": "A tibble: 7 × 3\n\\begin{tabular}{lll}\n Year & Qtr & Return\\\\\n & & \\\\\n\\hline\n\t 2015 & 1 & 1.88\\\\\n\t 2015 & 2 & 0.59\\\\\n\t 2015 & 3 & 0.35\\\\\n\t 2015 & 4 & NA\\\\\n\t 2016 & 2 & 0.92\\\\\n\t 2016 & 3 & 0.17\\\\\n\t 2016 & 4 & 2.66\\\\\n\\end{tabular}\n", "text/markdown": "\nA tibble: 7 × 3\n\n| Year <dbl> | Qtr <dbl> | Return <dbl> |\n|---|---|---|\n| 2015 | 1 | 1.88 |\n| 2015 | 2 | 0.59 |\n| 2015 | 3 | 0.35 |\n| 2015 | 4 | NA |\n| 2016 | 2 | 0.92 |\n| 2016 | 3 | 0.17 |\n| 2016 | 4 | 2.66 |\n\n", "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 7 × 3
YearQtrReturn
<dbl><dbl><dbl>
201511.88
201520.59
201530.35
20154 NA
201620.92
201630.17
201642.66
\n" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "TSqpzMgUa4Yg" }, "source": [ "## Missing Values\n", "Missing values can be:\n", "1. *Explicit* (marked as NA in our data)\n", "1. *Implicit* (not present in the data)\n", "\n", "In this example we have one explicitly missing value for the 4th quarter of 2015. Are there any other missing values? Yes, because we do not have an observation for the first quarter of 2016." ] }, { "cell_type": "markdown", "metadata": { "id": "8G-CLeGIa4Yh" }, "source": [ "`complete`: Turns implicit missing values into explicit missing values." ] }, { "cell_type": "code", "metadata": { "id": "qNwZPSrNa4Yi" }, "source": [ "?complete" ], "execution_count": 201, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 338 }, "id": "zbG3WM4ya4Yj", "outputId": "c21c4b77-1414-472e-bac8-7673cbc59f63" }, "source": [ "stocks %>% complete(Year, Qtr)" ], "execution_count": 202, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ " Year Qtr Return\n", "1 2015 1 1.88 \n", "2 2015 2 0.59 \n", "3 2015 3 0.35 \n", "4 2015 4 NA \n", "5 2016 1 NA \n", "6 2016 2 0.92 \n", "7 2016 3 0.17 \n", "8 2016 4 2.66 " ], "text/latex": "A tibble: 8 × 3\n\\begin{tabular}{lll}\n Year & Qtr & Return\\\\\n & & \\\\\n\\hline\n\t 2015 & 1 & 1.88\\\\\n\t 2015 & 2 & 0.59\\\\\n\t 2015 & 3 & 0.35\\\\\n\t 2015 & 4 & NA\\\\\n\t 2016 & 1 & NA\\\\\n\t 2016 & 2 & 0.92\\\\\n\t 2016 & 3 & 0.17\\\\\n\t 2016 & 4 & 2.66\\\\\n\\end{tabular}\n", "text/markdown": "\nA tibble: 8 × 3\n\n| Year <dbl> | Qtr <dbl> | Return <dbl> |\n|---|---|---|\n| 2015 | 1 | 1.88 |\n| 2015 | 2 | 0.59 |\n| 2015 | 3 | 0.35 |\n| 2015 | 4 | NA |\n| 2016 | 1 | NA |\n| 2016 | 2 | 0.92 |\n| 2016 | 3 | 0.17 |\n| 2016 | 4 | 2.66 |\n\n", "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 8 × 3
YearQtrReturn
<dbl><dbl><dbl>
201511.88
201520.59
201530.35
20154 NA
20161 NA
201620.92
201630.17
201642.66
\n" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "ZjFXPSRfa4Yl" }, "source": [ "`fill`: Fills missing values in selected columns using the previous entry." ] }, { "cell_type": "code", "metadata": { "scrolled": true, "colab": { "base_uri": "https://localhost:8080/", "height": 338 }, "id": "uCanHAk0a4Yl", "outputId": "423f4199-bce3-4cd8-9938-7b6b92542d7c" }, "source": [ "stocks %>% complete(Year, Qtr) %>% fill(Return)\n", "# yoou can look up imputation methods" ], "execution_count": 203, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ " Year Qtr Return\n", "1 2015 1 1.88 \n", "2 2015 2 0.59 \n", "3 2015 3 0.35 \n", "4 2015 4 0.35 \n", "5 2016 1 0.35 \n", "6 2016 2 0.92 \n", "7 2016 3 0.17 \n", "8 2016 4 2.66 " ], "text/latex": "A tibble: 8 × 3\n\\begin{tabular}{lll}\n Year & Qtr & Return\\\\\n & & \\\\\n\\hline\n\t 2015 & 1 & 1.88\\\\\n\t 2015 & 2 & 0.59\\\\\n\t 2015 & 3 & 0.35\\\\\n\t 2015 & 4 & 0.35\\\\\n\t 2016 & 1 & 0.35\\\\\n\t 2016 & 2 & 0.92\\\\\n\t 2016 & 3 & 0.17\\\\\n\t 2016 & 4 & 2.66\\\\\n\\end{tabular}\n", "text/markdown": "\nA tibble: 8 × 3\n\n| Year <dbl> | Qtr <dbl> | Return <dbl> |\n|---|---|---|\n| 2015 | 1 | 1.88 |\n| 2015 | 2 | 0.59 |\n| 2015 | 3 | 0.35 |\n| 2015 | 4 | 0.35 |\n| 2016 | 1 | 0.35 |\n| 2016 | 2 | 0.92 |\n| 2016 | 3 | 0.17 |\n| 2016 | 4 | 2.66 |\n\n", "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 8 × 3
YearQtrReturn
<dbl><dbl><dbl>
201511.88
201520.59
201530.35
201540.35
201610.35
201620.92
201630.17
201642.66
\n" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "O1w8btmha4Yn" }, "source": [ "The missing values also become `explicit` if we widen the tibble." ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 217 }, "id": "dHB1p3O-a4Yn", "outputId": "0a03d74d-c3bb-4ed4-fe4a-c1b545767aa0" }, "source": [ "stocks_wide = stocks %>% pivot_wider(names_from = Year, values_from = Return)\n", "\n", "stocks_wide" ], "execution_count": 204, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ " Qtr 2015 2016\n", "1 1 1.88 NA\n", "2 2 0.59 0.92\n", "3 3 0.35 0.17\n", "4 4 NA 2.66" ], "text/latex": "A tibble: 4 × 3\n\\begin{tabular}{lll}\n Qtr & 2015 & 2016\\\\\n & & \\\\\n\\hline\n\t 1 & 1.88 & NA\\\\\n\t 2 & 0.59 & 0.92\\\\\n\t 3 & 0.35 & 0.17\\\\\n\t 4 & NA & 2.66\\\\\n\\end{tabular}\n", "text/markdown": "\nA tibble: 4 × 3\n\n| Qtr <dbl> | 2015 <dbl> | 2016 <dbl> |\n|---|---|---|\n| 1 | 1.88 | NA |\n| 2 | 0.59 | 0.92 |\n| 3 | 0.35 | 0.17 |\n| 4 | NA | 2.66 |\n\n", "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 4 × 3
Qtr20152016
<dbl><dbl><dbl>
11.88 NA
20.590.92
30.350.17
4 NA2.66
\n" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "W6PECTkNa4Yo" }, "source": [ "`pivot_longer` will keep all these explicitly missing values by default." ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 338 }, "id": "8a3MFV_Wa4Yp", "outputId": "ed07c590-3c51-4b94-daa8-4cf3f4d95610" }, "source": [ "stocks_wide %>% pivot_longer(cols = `2015`:`2016`, names_to = 'Year') %>%\n", "arrange(Year)" ], "execution_count": 205, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ " Qtr Year value\n", "1 1 2015 1.88 \n", "2 2 2015 0.59 \n", "3 3 2015 0.35 \n", "4 4 2015 NA \n", "5 1 2016 NA \n", "6 2 2016 0.92 \n", "7 3 2016 0.17 \n", "8 4 2016 2.66 " ], "text/latex": "A tibble: 8 × 3\n\\begin{tabular}{lll}\n Qtr & Year & value\\\\\n & & \\\\\n\\hline\n\t 1 & 2015 & 1.88\\\\\n\t 2 & 2015 & 0.59\\\\\n\t 3 & 2015 & 0.35\\\\\n\t 4 & 2015 & NA\\\\\n\t 1 & 2016 & NA\\\\\n\t 2 & 2016 & 0.92\\\\\n\t 3 & 2016 & 0.17\\\\\n\t 4 & 2016 & 2.66\\\\\n\\end{tabular}\n", "text/markdown": "\nA tibble: 8 × 3\n\n| Qtr <dbl> | Year <chr> | value <dbl> |\n|---|---|---|\n| 1 | 2015 | 1.88 |\n| 2 | 2015 | 0.59 |\n| 3 | 2015 | 0.35 |\n| 4 | 2015 | NA |\n| 1 | 2016 | NA |\n| 2 | 2016 | 0.92 |\n| 3 | 2016 | 0.17 |\n| 4 | 2016 | 2.66 |\n\n", "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 8 × 3
QtrYearvalue
<dbl><chr><dbl>
120151.88
220150.59
320150.35
42015 NA
12016 NA
220160.92
320160.17
420162.66
\n" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "fPG9G2FZa4Yq" }, "source": [ "## Cleaning the messy data" ] }, { "cell_type": "code", "metadata": { "id": "4WEGvZoEa4Yr" }, "source": [ "datacamp_url = \"https://assets.datacamp.com/production/repositories/34/datasets/b3c1036d9a60a9dfe0f99051d2474a54f76055ea/weather.rds\"\n", "weather = readRDS(url(datacamp_url))" ], "execution_count": 206, "outputs": [] }, { "cell_type": "code", "metadata": { "scrolled": true, "colab": { "base_uri": "https://localhost:8080/", "height": 297 }, "id": "ytYdWMcta4Ys", "outputId": "f9795720-48c5-441f-a138-c5ffe376ffa4" }, "source": [ "weather %>% head" ], "execution_count": 207, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ " X year month measure X1 X2 X3 X4 X5 X6 ⋯ X22 X23 X24 X25 X26 X27\n", "1 1 2014 12 Max.TemperatureF 64 42 51 43 42 45 ⋯ 44 47 46 59 50 52 \n", "2 2 2014 12 Mean.TemperatureF 52 38 44 37 34 42 ⋯ 39 45 44 52 44 45 \n", "3 3 2014 12 Min.TemperatureF 39 33 37 30 26 38 ⋯ 33 42 41 44 37 38 \n", "4 4 2014 12 Max.Dew.PointF 46 40 49 24 37 45 ⋯ 39 45 46 58 31 34 \n", "5 5 2014 12 MeanDew.PointF 40 27 42 21 25 40 ⋯ 34 42 44 43 29 31 \n", "6 6 2014 12 Min.DewpointF 26 17 24 13 12 36 ⋯ 25 37 41 29 28 29 \n", " X28 X29 X30 X31\n", "1 52 41 30 30 \n", "2 46 36 26 25 \n", "3 40 30 22 20 \n", "4 42 26 10 8 \n", "5 35 20 4 5 \n", "6 27 10 -6 1 " ], "text/latex": "A data.frame: 6 × 35\n\\begin{tabular}{r|lllllllllllllllllllll}\n & X & year & month & measure & X1 & X2 & X3 & X4 & X5 & X6 & ⋯ & X22 & X23 & X24 & X25 & X26 & X27 & X28 & X29 & X30 & X31\\\\\n & & & & & & & & & & & ⋯ & & & & & & & & & & \\\\\n\\hline\n\t1 & 1 & 2014 & 12 & Max.TemperatureF & 64 & 42 & 51 & 43 & 42 & 45 & ⋯ & 44 & 47 & 46 & 59 & 50 & 52 & 52 & 41 & 30 & 30\\\\\n\t2 & 2 & 2014 & 12 & Mean.TemperatureF & 52 & 38 & 44 & 37 & 34 & 42 & ⋯ & 39 & 45 & 44 & 52 & 44 & 45 & 46 & 36 & 26 & 25\\\\\n\t3 & 3 & 2014 & 12 & Min.TemperatureF & 39 & 33 & 37 & 30 & 26 & 38 & ⋯ & 33 & 42 & 41 & 44 & 37 & 38 & 40 & 30 & 22 & 20\\\\\n\t4 & 4 & 2014 & 12 & Max.Dew.PointF & 46 & 40 & 49 & 24 & 37 & 45 & ⋯ & 39 & 45 & 46 & 58 & 31 & 34 & 42 & 26 & 10 & 8 \\\\\n\t5 & 5 & 2014 & 12 & MeanDew.PointF & 40 & 27 & 42 & 21 & 25 & 40 & ⋯ & 34 & 42 & 44 & 43 & 29 & 31 & 35 & 20 & 4 & 5 \\\\\n\t6 & 6 & 2014 & 12 & Min.DewpointF & 26 & 17 & 24 & 13 & 12 & 36 & ⋯ & 25 & 37 & 41 & 29 & 28 & 29 & 27 & 10 & -6 & 1 \\\\\n\\end{tabular}\n", "text/markdown": "\nA data.frame: 6 × 35\n\n| | X <int> | year <int> | month <int> | measure <chr> | X1 <chr> | X2 <chr> | X3 <chr> | X4 <chr> | X5 <chr> | X6 <chr> | ⋯ ⋯ | X22 <chr> | X23 <chr> | X24 <chr> | X25 <chr> | X26 <chr> | X27 <chr> | X28 <chr> | X29 <chr> | X30 <chr> | X31 <chr> |\n|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n| 1 | 1 | 2014 | 12 | Max.TemperatureF | 64 | 42 | 51 | 43 | 42 | 45 | ⋯ | 44 | 47 | 46 | 59 | 50 | 52 | 52 | 41 | 30 | 30 |\n| 2 | 2 | 2014 | 12 | Mean.TemperatureF | 52 | 38 | 44 | 37 | 34 | 42 | ⋯ | 39 | 45 | 44 | 52 | 44 | 45 | 46 | 36 | 26 | 25 |\n| 3 | 3 | 2014 | 12 | Min.TemperatureF | 39 | 33 | 37 | 30 | 26 | 38 | ⋯ | 33 | 42 | 41 | 44 | 37 | 38 | 40 | 30 | 22 | 20 |\n| 4 | 4 | 2014 | 12 | Max.Dew.PointF | 46 | 40 | 49 | 24 | 37 | 45 | ⋯ | 39 | 45 | 46 | 58 | 31 | 34 | 42 | 26 | 10 | 8 |\n| 5 | 5 | 2014 | 12 | MeanDew.PointF | 40 | 27 | 42 | 21 | 25 | 40 | ⋯ | 34 | 42 | 44 | 43 | 29 | 31 | 35 | 20 | 4 | 5 |\n| 6 | 6 | 2014 | 12 | Min.DewpointF | 26 | 17 | 24 | 13 | 12 | 36 | ⋯ | 25 | 37 | 41 | 29 | 28 | 29 | 27 | 10 | -6 | 1 |\n\n", "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 6 × 35
XyearmonthmeasureX1X2X3X4X5X6X22X23X24X25X26X27X28X29X30X31
<int><int><int><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr>
11201412Max.TemperatureF 64425143424544474659505252413030
22201412Mean.TemperatureF52384437344239454452444546362625
33201412Min.TemperatureF 39333730263833424144373840302220
44201412Max.Dew.PointF 4640492437453945465831344226108
55201412MeanDew.PointF 40274221254034424443293135204 5
66201412Min.DewpointF 2617241312362537412928292710-61
\n" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "WgkQYfsYa4Yt" }, "source": [ "The first row is for row number, let's ignore that" ] }, { "cell_type": "code", "metadata": { "id": "ZAc4YQB0a4Yv" }, "source": [ "weather = weather %>% select(-X)" ], "execution_count": 208, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "KzwCRvTsa4Yw" }, "source": [ "It looks like the values for the weather measurements (column 3) for each day of the month are stored in the columns `X1` to `X31`. From `tidy data` perspective, the data set is messy because:\n", "* column names are values (`X1` to `X31`)\n", "* variable names are represented as values (column 3 - `measure`)\n", "\n", "We can correct it by using `pivot_longer`" ] }, { "cell_type": "code", "metadata": { "scrolled": true, "colab": { "base_uri": "https://localhost:8080/", "height": 277 }, "id": "1bqyTzIXa4Yx", "outputId": "a810d43c-e87b-459a-e282-379a37ebedb9" }, "source": [ "tidy_weather = weather %>% \n", "pivot_longer(cols = `X1`:`X31`, names_to = 'day', values_to = \"value\") %>%\n", "select(year, month, day, everything())\n", "\n", "head(tidy_weather)" ], "execution_count": 209, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ " year month day measure value\n", "1 2014 12 X1 Max.TemperatureF 64 \n", "2 2014 12 X2 Max.TemperatureF 42 \n", "3 2014 12 X3 Max.TemperatureF 51 \n", "4 2014 12 X4 Max.TemperatureF 43 \n", "5 2014 12 X5 Max.TemperatureF 42 \n", "6 2014 12 X6 Max.TemperatureF 45 " ], "text/latex": "A tibble: 6 × 5\n\\begin{tabular}{lllll}\n year & month & day & measure & value\\\\\n & & & & \\\\\n\\hline\n\t 2014 & 12 & X1 & Max.TemperatureF & 64\\\\\n\t 2014 & 12 & X2 & Max.TemperatureF & 42\\\\\n\t 2014 & 12 & X3 & Max.TemperatureF & 51\\\\\n\t 2014 & 12 & X4 & Max.TemperatureF & 43\\\\\n\t 2014 & 12 & X5 & Max.TemperatureF & 42\\\\\n\t 2014 & 12 & X6 & Max.TemperatureF & 45\\\\\n\\end{tabular}\n", "text/markdown": "\nA tibble: 6 × 5\n\n| year <int> | month <int> | day <chr> | measure <chr> | value <chr> |\n|---|---|---|---|---|\n| 2014 | 12 | X1 | Max.TemperatureF | 64 |\n| 2014 | 12 | X2 | Max.TemperatureF | 42 |\n| 2014 | 12 | X3 | Max.TemperatureF | 51 |\n| 2014 | 12 | X4 | Max.TemperatureF | 43 |\n| 2014 | 12 | X5 | Max.TemperatureF | 42 |\n| 2014 | 12 | X6 | Max.TemperatureF | 45 |\n\n", "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 6 × 5
yearmonthdaymeasurevalue
<int><int><chr><chr><chr>
201412X1Max.TemperatureF64
201412X2Max.TemperatureF42
201412X3Max.TemperatureF51
201412X4Max.TemperatureF43
201412X5Max.TemperatureF42
201412X6Max.TemperatureF45
\n" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 764 }, "id": "mvfVHjZxa4Yz", "outputId": "bdc94eb3-6232-4cfa-d010-2f3b812e0d79" }, "source": [ "tidy_weather %>% select(measure)%>% unique" ], "execution_count": 210, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ " measure \n", "1 Max.TemperatureF \n", "2 Mean.TemperatureF \n", "3 Min.TemperatureF \n", "4 Max.Dew.PointF \n", "5 MeanDew.PointF \n", "6 Min.DewpointF \n", "7 Max.Humidity \n", "8 Mean.Humidity \n", "9 Min.Humidity \n", "10 Max.Sea.Level.PressureIn \n", "11 Mean.Sea.Level.PressureIn\n", "12 Min.Sea.Level.PressureIn \n", "13 Max.VisibilityMiles \n", "14 Mean.VisibilityMiles \n", "15 Min.VisibilityMiles \n", "16 Max.Wind.SpeedMPH \n", "17 Mean.Wind.SpeedMPH \n", "18 Max.Gust.SpeedMPH \n", "19 PrecipitationIn \n", "20 CloudCover \n", "21 Events \n", "22 WindDirDegrees " ], "text/latex": "A tibble: 22 × 1\n\\begin{tabular}{l}\n measure\\\\\n \\\\\n\\hline\n\t Max.TemperatureF \\\\\n\t Mean.TemperatureF \\\\\n\t Min.TemperatureF \\\\\n\t Max.Dew.PointF \\\\\n\t MeanDew.PointF \\\\\n\t Min.DewpointF \\\\\n\t Max.Humidity \\\\\n\t Mean.Humidity \\\\\n\t Min.Humidity \\\\\n\t Max.Sea.Level.PressureIn \\\\\n\t Mean.Sea.Level.PressureIn\\\\\n\t Min.Sea.Level.PressureIn \\\\\n\t Max.VisibilityMiles \\\\\n\t Mean.VisibilityMiles \\\\\n\t Min.VisibilityMiles \\\\\n\t Max.Wind.SpeedMPH \\\\\n\t Mean.Wind.SpeedMPH \\\\\n\t Max.Gust.SpeedMPH \\\\\n\t PrecipitationIn \\\\\n\t CloudCover \\\\\n\t Events \\\\\n\t WindDirDegrees \\\\\n\\end{tabular}\n", "text/markdown": "\nA tibble: 22 × 1\n\n| measure <chr> |\n|---|\n| Max.TemperatureF |\n| Mean.TemperatureF |\n| Min.TemperatureF |\n| Max.Dew.PointF |\n| MeanDew.PointF |\n| Min.DewpointF |\n| Max.Humidity |\n| Mean.Humidity |\n| Min.Humidity |\n| Max.Sea.Level.PressureIn |\n| Mean.Sea.Level.PressureIn |\n| Min.Sea.Level.PressureIn |\n| Max.VisibilityMiles |\n| Mean.VisibilityMiles |\n| Min.VisibilityMiles |\n| Max.Wind.SpeedMPH |\n| Mean.Wind.SpeedMPH |\n| Max.Gust.SpeedMPH |\n| PrecipitationIn |\n| CloudCover |\n| Events |\n| WindDirDegrees |\n\n", "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 22 × 1
measure
<chr>
Max.TemperatureF
Mean.TemperatureF
Min.TemperatureF
Max.Dew.PointF
MeanDew.PointF
Min.DewpointF
Max.Humidity
Mean.Humidity
Min.Humidity
Max.Sea.Level.PressureIn
Mean.Sea.Level.PressureIn
Min.Sea.Level.PressureIn
Max.VisibilityMiles
Mean.VisibilityMiles
Min.VisibilityMiles
Max.Wind.SpeedMPH
Mean.Wind.SpeedMPH
Max.Gust.SpeedMPH
PrecipitationIn
CloudCover
Events
WindDirDegrees
\n" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "g4zvlOu5a4Y0" }, "source": [ "The values in the column `measure` of the weather dataset should be variables." ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 314 }, "id": "3lLsd0Xfa4Y1", "outputId": "b7bdbfc9-c9de-490e-ff15-e6b29333fe35" }, "source": [ "tidy_weather = tidy_weather %>% pivot_wider(names_from = measure, values_from = value)\n", "\n", "head(tidy_weather)" ], "execution_count": 211, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ " year month day Max.TemperatureF Mean.TemperatureF Min.TemperatureF\n", "1 2014 12 X1 64 52 39 \n", "2 2014 12 X2 42 38 33 \n", "3 2014 12 X3 51 44 37 \n", "4 2014 12 X4 43 37 30 \n", "5 2014 12 X5 42 34 26 \n", "6 2014 12 X6 45 42 38 \n", " Max.Dew.PointF MeanDew.PointF Min.DewpointF Max.Humidity ⋯\n", "1 46 40 26 74 ⋯\n", "2 40 27 17 92 ⋯\n", "3 49 42 24 100 ⋯\n", "4 24 21 13 69 ⋯\n", "5 37 25 12 85 ⋯\n", "6 45 40 36 100 ⋯\n", " Max.VisibilityMiles Mean.VisibilityMiles Min.VisibilityMiles\n", "1 10 10 10 \n", "2 10 8 2 \n", "3 10 5 1 \n", "4 10 10 10 \n", "5 10 10 5 \n", "6 10 4 0 \n", " Max.Wind.SpeedMPH Mean.Wind.SpeedMPH Max.Gust.SpeedMPH PrecipitationIn\n", "1 22 13 29 0.01 \n", "2 24 15 29 0.10 \n", "3 29 12 38 0.44 \n", "4 25 12 33 0.00 \n", "5 22 10 26 0.11 \n", "6 22 8 25 1.09 \n", " CloudCover Events WindDirDegrees\n", "1 6 Rain 268 \n", "2 7 Rain-Snow 62 \n", "3 8 Rain 254 \n", "4 3 292 \n", "5 5 Rain 61 \n", "6 8 Rain 313 " ], "text/latex": "A tibble: 6 × 25\n\\begin{tabular}{lllllllllllllllllllll}\n year & month & day & Max.TemperatureF & Mean.TemperatureF & Min.TemperatureF & Max.Dew.PointF & MeanDew.PointF & Min.DewpointF & Max.Humidity & ⋯ & Max.VisibilityMiles & Mean.VisibilityMiles & Min.VisibilityMiles & Max.Wind.SpeedMPH & Mean.Wind.SpeedMPH & Max.Gust.SpeedMPH & PrecipitationIn & CloudCover & Events & WindDirDegrees\\\\\n & & & & & & & & & & ⋯ & & & & & & & & & & \\\\\n\\hline\n\t 2014 & 12 & X1 & 64 & 52 & 39 & 46 & 40 & 26 & 74 & ⋯ & 10 & 10 & 10 & 22 & 13 & 29 & 0.01 & 6 & Rain & 268\\\\\n\t 2014 & 12 & X2 & 42 & 38 & 33 & 40 & 27 & 17 & 92 & ⋯ & 10 & 8 & 2 & 24 & 15 & 29 & 0.10 & 7 & Rain-Snow & 62 \\\\\n\t 2014 & 12 & X3 & 51 & 44 & 37 & 49 & 42 & 24 & 100 & ⋯ & 10 & 5 & 1 & 29 & 12 & 38 & 0.44 & 8 & Rain & 254\\\\\n\t 2014 & 12 & X4 & 43 & 37 & 30 & 24 & 21 & 13 & 69 & ⋯ & 10 & 10 & 10 & 25 & 12 & 33 & 0.00 & 3 & & 292\\\\\n\t 2014 & 12 & X5 & 42 & 34 & 26 & 37 & 25 & 12 & 85 & ⋯ & 10 & 10 & 5 & 22 & 10 & 26 & 0.11 & 5 & Rain & 61 \\\\\n\t 2014 & 12 & X6 & 45 & 42 & 38 & 45 & 40 & 36 & 100 & ⋯ & 10 & 4 & 0 & 22 & 8 & 25 & 1.09 & 8 & Rain & 313\\\\\n\\end{tabular}\n", "text/markdown": "\nA tibble: 6 × 25\n\n| year <int> | month <int> | day <chr> | Max.TemperatureF <chr> | Mean.TemperatureF <chr> | Min.TemperatureF <chr> | Max.Dew.PointF <chr> | MeanDew.PointF <chr> | Min.DewpointF <chr> | Max.Humidity <chr> | ⋯ ⋯ | Max.VisibilityMiles <chr> | Mean.VisibilityMiles <chr> | Min.VisibilityMiles <chr> | Max.Wind.SpeedMPH <chr> | Mean.Wind.SpeedMPH <chr> | Max.Gust.SpeedMPH <chr> | PrecipitationIn <chr> | CloudCover <chr> | Events <chr> | WindDirDegrees <chr> |\n|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n| 2014 | 12 | X1 | 64 | 52 | 39 | 46 | 40 | 26 | 74 | ⋯ | 10 | 10 | 10 | 22 | 13 | 29 | 0.01 | 6 | Rain | 268 |\n| 2014 | 12 | X2 | 42 | 38 | 33 | 40 | 27 | 17 | 92 | ⋯ | 10 | 8 | 2 | 24 | 15 | 29 | 0.10 | 7 | Rain-Snow | 62 |\n| 2014 | 12 | X3 | 51 | 44 | 37 | 49 | 42 | 24 | 100 | ⋯ | 10 | 5 | 1 | 29 | 12 | 38 | 0.44 | 8 | Rain | 254 |\n| 2014 | 12 | X4 | 43 | 37 | 30 | 24 | 21 | 13 | 69 | ⋯ | 10 | 10 | 10 | 25 | 12 | 33 | 0.00 | 3 | | 292 |\n| 2014 | 12 | X5 | 42 | 34 | 26 | 37 | 25 | 12 | 85 | ⋯ | 10 | 10 | 5 | 22 | 10 | 26 | 0.11 | 5 | Rain | 61 |\n| 2014 | 12 | X6 | 45 | 42 | 38 | 45 | 40 | 36 | 100 | ⋯ | 10 | 4 | 0 | 22 | 8 | 25 | 1.09 | 8 | Rain | 313 |\n\n", "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 6 × 25
yearmonthdayMax.TemperatureFMean.TemperatureFMin.TemperatureFMax.Dew.PointFMeanDew.PointFMin.DewpointFMax.HumidityMax.VisibilityMilesMean.VisibilityMilesMin.VisibilityMilesMax.Wind.SpeedMPHMean.Wind.SpeedMPHMax.Gust.SpeedMPHPrecipitationInCloudCoverEventsWindDirDegrees
<int><int><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr>
201412X164523946402674 1010102213290.016Rain 268
201412X242383340271792 108 2 2415290.107Rain-Snow62
201412X3514437494224100105 1 2912380.448Rain 254
201412X443373024211369 1010102512330.003 292
201412X542342637251285 10105 2210260.115Rain 61
201412X6454238454036100104 0 228 251.098Rain 313
\n" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 314 }, "id": "BBf1IqzNa4Y1", "outputId": "ebab9776-77b8-41a5-82da-800385fec739" }, "source": [ "tidy_weather %>% head" ], "execution_count": 212, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ " year month day Max.TemperatureF Mean.TemperatureF Min.TemperatureF\n", "1 2014 12 X1 64 52 39 \n", "2 2014 12 X2 42 38 33 \n", "3 2014 12 X3 51 44 37 \n", "4 2014 12 X4 43 37 30 \n", "5 2014 12 X5 42 34 26 \n", "6 2014 12 X6 45 42 38 \n", " Max.Dew.PointF MeanDew.PointF Min.DewpointF Max.Humidity ⋯\n", "1 46 40 26 74 ⋯\n", "2 40 27 17 92 ⋯\n", "3 49 42 24 100 ⋯\n", "4 24 21 13 69 ⋯\n", "5 37 25 12 85 ⋯\n", "6 45 40 36 100 ⋯\n", " Max.VisibilityMiles Mean.VisibilityMiles Min.VisibilityMiles\n", "1 10 10 10 \n", "2 10 8 2 \n", "3 10 5 1 \n", "4 10 10 10 \n", "5 10 10 5 \n", "6 10 4 0 \n", " Max.Wind.SpeedMPH Mean.Wind.SpeedMPH Max.Gust.SpeedMPH PrecipitationIn\n", "1 22 13 29 0.01 \n", "2 24 15 29 0.10 \n", "3 29 12 38 0.44 \n", "4 25 12 33 0.00 \n", "5 22 10 26 0.11 \n", "6 22 8 25 1.09 \n", " CloudCover Events WindDirDegrees\n", "1 6 Rain 268 \n", "2 7 Rain-Snow 62 \n", "3 8 Rain 254 \n", "4 3 292 \n", "5 5 Rain 61 \n", "6 8 Rain 313 " ], "text/latex": "A tibble: 6 × 25\n\\begin{tabular}{lllllllllllllllllllll}\n year & month & day & Max.TemperatureF & Mean.TemperatureF & Min.TemperatureF & Max.Dew.PointF & MeanDew.PointF & Min.DewpointF & Max.Humidity & ⋯ & Max.VisibilityMiles & Mean.VisibilityMiles & Min.VisibilityMiles & Max.Wind.SpeedMPH & Mean.Wind.SpeedMPH & Max.Gust.SpeedMPH & PrecipitationIn & CloudCover & Events & WindDirDegrees\\\\\n & & & & & & & & & & ⋯ & & & & & & & & & & \\\\\n\\hline\n\t 2014 & 12 & X1 & 64 & 52 & 39 & 46 & 40 & 26 & 74 & ⋯ & 10 & 10 & 10 & 22 & 13 & 29 & 0.01 & 6 & Rain & 268\\\\\n\t 2014 & 12 & X2 & 42 & 38 & 33 & 40 & 27 & 17 & 92 & ⋯ & 10 & 8 & 2 & 24 & 15 & 29 & 0.10 & 7 & Rain-Snow & 62 \\\\\n\t 2014 & 12 & X3 & 51 & 44 & 37 & 49 & 42 & 24 & 100 & ⋯ & 10 & 5 & 1 & 29 & 12 & 38 & 0.44 & 8 & Rain & 254\\\\\n\t 2014 & 12 & X4 & 43 & 37 & 30 & 24 & 21 & 13 & 69 & ⋯ & 10 & 10 & 10 & 25 & 12 & 33 & 0.00 & 3 & & 292\\\\\n\t 2014 & 12 & X5 & 42 & 34 & 26 & 37 & 25 & 12 & 85 & ⋯ & 10 & 10 & 5 & 22 & 10 & 26 & 0.11 & 5 & Rain & 61 \\\\\n\t 2014 & 12 & X6 & 45 & 42 & 38 & 45 & 40 & 36 & 100 & ⋯ & 10 & 4 & 0 & 22 & 8 & 25 & 1.09 & 8 & Rain & 313\\\\\n\\end{tabular}\n", "text/markdown": "\nA tibble: 6 × 25\n\n| year <int> | month <int> | day <chr> | Max.TemperatureF <chr> | Mean.TemperatureF <chr> | Min.TemperatureF <chr> | Max.Dew.PointF <chr> | MeanDew.PointF <chr> | Min.DewpointF <chr> | Max.Humidity <chr> | ⋯ ⋯ | Max.VisibilityMiles <chr> | Mean.VisibilityMiles <chr> | Min.VisibilityMiles <chr> | Max.Wind.SpeedMPH <chr> | Mean.Wind.SpeedMPH <chr> | Max.Gust.SpeedMPH <chr> | PrecipitationIn <chr> | CloudCover <chr> | Events <chr> | WindDirDegrees <chr> |\n|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n| 2014 | 12 | X1 | 64 | 52 | 39 | 46 | 40 | 26 | 74 | ⋯ | 10 | 10 | 10 | 22 | 13 | 29 | 0.01 | 6 | Rain | 268 |\n| 2014 | 12 | X2 | 42 | 38 | 33 | 40 | 27 | 17 | 92 | ⋯ | 10 | 8 | 2 | 24 | 15 | 29 | 0.10 | 7 | Rain-Snow | 62 |\n| 2014 | 12 | X3 | 51 | 44 | 37 | 49 | 42 | 24 | 100 | ⋯ | 10 | 5 | 1 | 29 | 12 | 38 | 0.44 | 8 | Rain | 254 |\n| 2014 | 12 | X4 | 43 | 37 | 30 | 24 | 21 | 13 | 69 | ⋯ | 10 | 10 | 10 | 25 | 12 | 33 | 0.00 | 3 | | 292 |\n| 2014 | 12 | X5 | 42 | 34 | 26 | 37 | 25 | 12 | 85 | ⋯ | 10 | 10 | 5 | 22 | 10 | 26 | 0.11 | 5 | Rain | 61 |\n| 2014 | 12 | X6 | 45 | 42 | 38 | 45 | 40 | 36 | 100 | ⋯ | 10 | 4 | 0 | 22 | 8 | 25 | 1.09 | 8 | Rain | 313 |\n\n", "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 6 × 25
yearmonthdayMax.TemperatureFMean.TemperatureFMin.TemperatureFMax.Dew.PointFMeanDew.PointFMin.DewpointFMax.HumidityMax.VisibilityMilesMean.VisibilityMilesMin.VisibilityMilesMax.Wind.SpeedMPHMean.Wind.SpeedMPHMax.Gust.SpeedMPHPrecipitationInCloudCoverEventsWindDirDegrees
<int><int><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr>
201412X164523946402674 1010102213290.016Rain 268
201412X242383340271792 108 2 2415290.107Rain-Snow62
201412X3514437494224100105 1 2912380.448Rain 254
201412X443373024211369 1010102512330.003 292
201412X542342637251285 10105 2210260.115Rain 61
201412X6454238454036100104 0 228 251.098Rain 313
\n" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "2y2UzQTVa4Y2" }, "source": [ "There are couple of things still odd in this dataset. One of them is name of the days. They start with an `X`. We can fix it by `str_replace` function. In following weeks, we are going to cover it in detail when we cover the strings. Let me quickly remind you the usage:" ] }, { "cell_type": "code", "metadata": { "scrolled": false, "colab": { "base_uri": "https://localhost:8080/" }, "id": "sOrdjkDya4Y4", "outputId": "612025e4-9262-44d3-a906-59d37a4acce3" }, "source": [ "# Replace $ with nothing, so it removes the dollar sign\n", "cost = c(\"$8\", \"12.5$\", \"$45\")\n", "cost = str_replace_all(cost, \"\\\\$\", \"\")\n", "print(cost) \n", "\n", "#change its type to numeric\n", "cost = as.numeric(cost)\n", "print(cost)" ], "execution_count": 213, "outputs": [ { "output_type": "stream", "text": [ "[1] \"8\" \"12.5\" \"45\" \n", "[1] 8.0 12.5 45.0\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "zZGA93VBa4Y4" }, "source": [ "#### Exercise 1: Remove `X` from the `day` entries and change its type to `numeric`" ] }, { "cell_type": "code", "metadata": { "scrolled": true, "colab": { "base_uri": "https://localhost:8080/", "height": 314 }, "id": "GiSYQMdna4Y5", "outputId": "8b540c2a-4581-4c8e-829d-a11d03abdbb2" }, "source": [ "tidy_weather = tidy_weather %>% mutate(day = as.integer(str_replace(day, \"X\", \"\")))\n", "tidy_weather %>% head" ], "execution_count": 214, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ " year month day Max.TemperatureF Mean.TemperatureF Min.TemperatureF\n", "1 2014 12 1 64 52 39 \n", "2 2014 12 2 42 38 33 \n", "3 2014 12 3 51 44 37 \n", "4 2014 12 4 43 37 30 \n", "5 2014 12 5 42 34 26 \n", "6 2014 12 6 45 42 38 \n", " Max.Dew.PointF MeanDew.PointF Min.DewpointF Max.Humidity ⋯\n", "1 46 40 26 74 ⋯\n", "2 40 27 17 92 ⋯\n", "3 49 42 24 100 ⋯\n", "4 24 21 13 69 ⋯\n", "5 37 25 12 85 ⋯\n", "6 45 40 36 100 ⋯\n", " Max.VisibilityMiles Mean.VisibilityMiles Min.VisibilityMiles\n", "1 10 10 10 \n", "2 10 8 2 \n", "3 10 5 1 \n", "4 10 10 10 \n", "5 10 10 5 \n", "6 10 4 0 \n", " Max.Wind.SpeedMPH Mean.Wind.SpeedMPH Max.Gust.SpeedMPH PrecipitationIn\n", "1 22 13 29 0.01 \n", "2 24 15 29 0.10 \n", "3 29 12 38 0.44 \n", "4 25 12 33 0.00 \n", "5 22 10 26 0.11 \n", "6 22 8 25 1.09 \n", " CloudCover Events WindDirDegrees\n", "1 6 Rain 268 \n", "2 7 Rain-Snow 62 \n", "3 8 Rain 254 \n", "4 3 292 \n", "5 5 Rain 61 \n", "6 8 Rain 313 " ], "text/latex": "A tibble: 6 × 25\n\\begin{tabular}{lllllllllllllllllllll}\n year & month & day & Max.TemperatureF & Mean.TemperatureF & Min.TemperatureF & Max.Dew.PointF & MeanDew.PointF & Min.DewpointF & Max.Humidity & ⋯ & Max.VisibilityMiles & Mean.VisibilityMiles & Min.VisibilityMiles & Max.Wind.SpeedMPH & Mean.Wind.SpeedMPH & Max.Gust.SpeedMPH & PrecipitationIn & CloudCover & Events & WindDirDegrees\\\\\n & & & & & & & & & & ⋯ & & & & & & & & & & \\\\\n\\hline\n\t 2014 & 12 & 1 & 64 & 52 & 39 & 46 & 40 & 26 & 74 & ⋯ & 10 & 10 & 10 & 22 & 13 & 29 & 0.01 & 6 & Rain & 268\\\\\n\t 2014 & 12 & 2 & 42 & 38 & 33 & 40 & 27 & 17 & 92 & ⋯ & 10 & 8 & 2 & 24 & 15 & 29 & 0.10 & 7 & Rain-Snow & 62 \\\\\n\t 2014 & 12 & 3 & 51 & 44 & 37 & 49 & 42 & 24 & 100 & ⋯ & 10 & 5 & 1 & 29 & 12 & 38 & 0.44 & 8 & Rain & 254\\\\\n\t 2014 & 12 & 4 & 43 & 37 & 30 & 24 & 21 & 13 & 69 & ⋯ & 10 & 10 & 10 & 25 & 12 & 33 & 0.00 & 3 & & 292\\\\\n\t 2014 & 12 & 5 & 42 & 34 & 26 & 37 & 25 & 12 & 85 & ⋯ & 10 & 10 & 5 & 22 & 10 & 26 & 0.11 & 5 & Rain & 61 \\\\\n\t 2014 & 12 & 6 & 45 & 42 & 38 & 45 & 40 & 36 & 100 & ⋯ & 10 & 4 & 0 & 22 & 8 & 25 & 1.09 & 8 & Rain & 313\\\\\n\\end{tabular}\n", "text/markdown": "\nA tibble: 6 × 25\n\n| year <int> | month <int> | day <int> | Max.TemperatureF <chr> | Mean.TemperatureF <chr> | Min.TemperatureF <chr> | Max.Dew.PointF <chr> | MeanDew.PointF <chr> | Min.DewpointF <chr> | Max.Humidity <chr> | ⋯ ⋯ | Max.VisibilityMiles <chr> | Mean.VisibilityMiles <chr> | Min.VisibilityMiles <chr> | Max.Wind.SpeedMPH <chr> | Mean.Wind.SpeedMPH <chr> | Max.Gust.SpeedMPH <chr> | PrecipitationIn <chr> | CloudCover <chr> | Events <chr> | WindDirDegrees <chr> |\n|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n| 2014 | 12 | 1 | 64 | 52 | 39 | 46 | 40 | 26 | 74 | ⋯ | 10 | 10 | 10 | 22 | 13 | 29 | 0.01 | 6 | Rain | 268 |\n| 2014 | 12 | 2 | 42 | 38 | 33 | 40 | 27 | 17 | 92 | ⋯ | 10 | 8 | 2 | 24 | 15 | 29 | 0.10 | 7 | Rain-Snow | 62 |\n| 2014 | 12 | 3 | 51 | 44 | 37 | 49 | 42 | 24 | 100 | ⋯ | 10 | 5 | 1 | 29 | 12 | 38 | 0.44 | 8 | Rain | 254 |\n| 2014 | 12 | 4 | 43 | 37 | 30 | 24 | 21 | 13 | 69 | ⋯ | 10 | 10 | 10 | 25 | 12 | 33 | 0.00 | 3 | | 292 |\n| 2014 | 12 | 5 | 42 | 34 | 26 | 37 | 25 | 12 | 85 | ⋯ | 10 | 10 | 5 | 22 | 10 | 26 | 0.11 | 5 | Rain | 61 |\n| 2014 | 12 | 6 | 45 | 42 | 38 | 45 | 40 | 36 | 100 | ⋯ | 10 | 4 | 0 | 22 | 8 | 25 | 1.09 | 8 | Rain | 313 |\n\n", "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 6 × 25
yearmonthdayMax.TemperatureFMean.TemperatureFMin.TemperatureFMax.Dew.PointFMeanDew.PointFMin.DewpointFMax.HumidityMax.VisibilityMilesMean.VisibilityMilesMin.VisibilityMilesMax.Wind.SpeedMPHMean.Wind.SpeedMPHMax.Gust.SpeedMPHPrecipitationInCloudCoverEventsWindDirDegrees
<int><int><int><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr>
201412164523946402674 1010102213290.016Rain 268
201412242383340271792 108 2 2415290.107Rain-Snow62
2014123514437494224100105 1 2912380.448Rain 254
201412443373024211369 1010102512330.003 292
201412542342637251285 10105 2210260.115Rain 61
2014126454238454036100104 0 228 251.098Rain 313
\n" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "ZmHexrGwa4Y6" }, "source": [ "#### Exercise 2: Combine the year, month, and day columns into a new column called date. Hint: Use `unite` function" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 396 }, "id": "-ex0Mkzua4Y6", "outputId": "ea28ee57-777c-4b00-9949-60b9de754ca4" }, "source": [ "tidy_weather = tidy_weather %>%\n", "unite(col = date, day, month, year, sep = \"-\")\n", "\n", "tidy_weather %>% head" ], "execution_count": 215, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ " date Max.TemperatureF Mean.TemperatureF Min.TemperatureF Max.Dew.PointF\n", "1 1-12-2014 64 52 39 46 \n", "2 2-12-2014 42 38 33 40 \n", "3 3-12-2014 51 44 37 49 \n", "4 4-12-2014 43 37 30 24 \n", "5 5-12-2014 42 34 26 37 \n", "6 6-12-2014 45 42 38 45 \n", " MeanDew.PointF Min.DewpointF Max.Humidity Mean.Humidity Min.Humidity ⋯\n", "1 40 26 74 63 52 ⋯\n", "2 27 17 92 72 51 ⋯\n", "3 42 24 100 79 57 ⋯\n", "4 21 13 69 54 39 ⋯\n", "5 25 12 85 66 47 ⋯\n", "6 40 36 100 93 85 ⋯\n", " Max.VisibilityMiles Mean.VisibilityMiles Min.VisibilityMiles\n", "1 10 10 10 \n", "2 10 8 2 \n", "3 10 5 1 \n", "4 10 10 10 \n", "5 10 10 5 \n", "6 10 4 0 \n", " Max.Wind.SpeedMPH Mean.Wind.SpeedMPH Max.Gust.SpeedMPH PrecipitationIn\n", "1 22 13 29 0.01 \n", "2 24 15 29 0.10 \n", "3 29 12 38 0.44 \n", "4 25 12 33 0.00 \n", "5 22 10 26 0.11 \n", "6 22 8 25 1.09 \n", " CloudCover Events WindDirDegrees\n", "1 6 Rain 268 \n", "2 7 Rain-Snow 62 \n", "3 8 Rain 254 \n", "4 3 292 \n", "5 5 Rain 61 \n", "6 8 Rain 313 " ], "text/latex": "A tibble: 6 × 23\n\\begin{tabular}{lllllllllllllllllllll}\n date & Max.TemperatureF & Mean.TemperatureF & Min.TemperatureF & Max.Dew.PointF & MeanDew.PointF & Min.DewpointF & Max.Humidity & Mean.Humidity & Min.Humidity & ⋯ & Max.VisibilityMiles & Mean.VisibilityMiles & Min.VisibilityMiles & Max.Wind.SpeedMPH & Mean.Wind.SpeedMPH & Max.Gust.SpeedMPH & PrecipitationIn & CloudCover & Events & WindDirDegrees\\\\\n & & & & & & & & & & ⋯ & & & & & & & & & & \\\\\n\\hline\n\t 1-12-2014 & 64 & 52 & 39 & 46 & 40 & 26 & 74 & 63 & 52 & ⋯ & 10 & 10 & 10 & 22 & 13 & 29 & 0.01 & 6 & Rain & 268\\\\\n\t 2-12-2014 & 42 & 38 & 33 & 40 & 27 & 17 & 92 & 72 & 51 & ⋯ & 10 & 8 & 2 & 24 & 15 & 29 & 0.10 & 7 & Rain-Snow & 62 \\\\\n\t 3-12-2014 & 51 & 44 & 37 & 49 & 42 & 24 & 100 & 79 & 57 & ⋯ & 10 & 5 & 1 & 29 & 12 & 38 & 0.44 & 8 & Rain & 254\\\\\n\t 4-12-2014 & 43 & 37 & 30 & 24 & 21 & 13 & 69 & 54 & 39 & ⋯ & 10 & 10 & 10 & 25 & 12 & 33 & 0.00 & 3 & & 292\\\\\n\t 5-12-2014 & 42 & 34 & 26 & 37 & 25 & 12 & 85 & 66 & 47 & ⋯ & 10 & 10 & 5 & 22 & 10 & 26 & 0.11 & 5 & Rain & 61 \\\\\n\t 6-12-2014 & 45 & 42 & 38 & 45 & 40 & 36 & 100 & 93 & 85 & ⋯ & 10 & 4 & 0 & 22 & 8 & 25 & 1.09 & 8 & Rain & 313\\\\\n\\end{tabular}\n", "text/markdown": "\nA tibble: 6 × 23\n\n| date <chr> | Max.TemperatureF <chr> | Mean.TemperatureF <chr> | Min.TemperatureF <chr> | Max.Dew.PointF <chr> | MeanDew.PointF <chr> | Min.DewpointF <chr> | Max.Humidity <chr> | Mean.Humidity <chr> | Min.Humidity <chr> | ⋯ ⋯ | Max.VisibilityMiles <chr> | Mean.VisibilityMiles <chr> | Min.VisibilityMiles <chr> | Max.Wind.SpeedMPH <chr> | Mean.Wind.SpeedMPH <chr> | Max.Gust.SpeedMPH <chr> | PrecipitationIn <chr> | CloudCover <chr> | Events <chr> | WindDirDegrees <chr> |\n|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n| 1-12-2014 | 64 | 52 | 39 | 46 | 40 | 26 | 74 | 63 | 52 | ⋯ | 10 | 10 | 10 | 22 | 13 | 29 | 0.01 | 6 | Rain | 268 |\n| 2-12-2014 | 42 | 38 | 33 | 40 | 27 | 17 | 92 | 72 | 51 | ⋯ | 10 | 8 | 2 | 24 | 15 | 29 | 0.10 | 7 | Rain-Snow | 62 |\n| 3-12-2014 | 51 | 44 | 37 | 49 | 42 | 24 | 100 | 79 | 57 | ⋯ | 10 | 5 | 1 | 29 | 12 | 38 | 0.44 | 8 | Rain | 254 |\n| 4-12-2014 | 43 | 37 | 30 | 24 | 21 | 13 | 69 | 54 | 39 | ⋯ | 10 | 10 | 10 | 25 | 12 | 33 | 0.00 | 3 | | 292 |\n| 5-12-2014 | 42 | 34 | 26 | 37 | 25 | 12 | 85 | 66 | 47 | ⋯ | 10 | 10 | 5 | 22 | 10 | 26 | 0.11 | 5 | Rain | 61 |\n| 6-12-2014 | 45 | 42 | 38 | 45 | 40 | 36 | 100 | 93 | 85 | ⋯ | 10 | 4 | 0 | 22 | 8 | 25 | 1.09 | 8 | Rain | 313 |\n\n", "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 6 × 23
dateMax.TemperatureFMean.TemperatureFMin.TemperatureFMax.Dew.PointFMeanDew.PointFMin.DewpointFMax.HumidityMean.HumidityMin.HumidityMax.VisibilityMilesMean.VisibilityMilesMin.VisibilityMilesMax.Wind.SpeedMPHMean.Wind.SpeedMPHMax.Gust.SpeedMPHPrecipitationInCloudCoverEventsWindDirDegrees
<chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr>
1-12-201464523946402674 63521010102213290.016Rain 268
2-12-201442383340271792 7251108 2 2415290.107Rain-Snow62
3-12-20145144374942241007957105 1 2912380.448Rain 254
4-12-201443373024211369 54391010102512330.003 292
5-12-201442342637251285 664710105 2210260.115Rain 61
6-12-20144542384540361009385104 0 228 251.098Rain 313
\n" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "39_HWdhCa4Y7" }, "source": [ "#### Exercise 3: Move events variable to the second column (Just after the `date`)" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "id": "gCpASSrla4Y8", "outputId": "fa277a86-c5ae-4391-ddf3-f9453c38a18e" }, "source": [ "tidy_weather = tidy_weather %>% \n", "select(date, Events, everything())\n", "tidy_weather" ], "execution_count": 216, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ " date Events Max.TemperatureF Mean.TemperatureF Min.TemperatureF\n", "1 1-12-2014 Rain 64 52 39 \n", "2 2-12-2014 Rain-Snow 42 38 33 \n", "3 3-12-2014 Rain 51 44 37 \n", "4 4-12-2014 43 37 30 \n", "5 5-12-2014 Rain 42 34 26 \n", "6 6-12-2014 Rain 45 42 38 \n", "7 7-12-2014 Rain 38 30 21 \n", "8 8-12-2014 Snow 29 24 18 \n", "9 9-12-2014 Rain 49 39 29 \n", "10 10-12-2014 Rain 48 43 38 \n", "11 11-12-2014 Rain-Snow 39 36 32 \n", "12 12-12-2014 Snow 39 35 31 \n", "13 13-12-2014 42 37 32 \n", "14 14-12-2014 45 39 33 \n", "15 15-12-2014 42 37 32 \n", "16 16-12-2014 Rain 44 40 35 \n", "17 17-12-2014 Rain 49 45 41 \n", "18 18-12-2014 Rain 44 40 36 \n", "19 19-12-2014 37 33 29 \n", "20 20-12-2014 Snow 36 32 27 \n", "21 21-12-2014 Snow 36 33 30 \n", "22 22-12-2014 Rain 44 39 33 \n", "23 23-12-2014 Rain 47 45 42 \n", "24 24-12-2014 Fog-Rain 46 44 41 \n", "25 25-12-2014 Rain 59 52 44 \n", "26 26-12-2014 50 44 37 \n", "27 27-12-2014 52 45 38 \n", "28 28-12-2014 Rain 52 46 40 \n", "29 29-12-2014 41 36 30 \n", "30 30-12-2014 30 26 22 \n", "⋮ ⋮ ⋮ ⋮ ⋮ ⋮ \n", "374 2-12-2015 NA NA NA NA \n", "375 3-12-2015 NA NA NA NA \n", "376 4-12-2015 NA NA NA NA \n", "377 5-12-2015 NA NA NA NA \n", "378 6-12-2015 NA NA NA NA \n", "379 7-12-2015 NA NA NA NA \n", "380 8-12-2015 NA NA NA NA \n", "381 9-12-2015 NA NA NA NA \n", "382 10-12-2015 NA NA NA NA \n", "383 11-12-2015 NA NA NA NA \n", "384 12-12-2015 NA NA NA NA \n", "385 13-12-2015 NA NA NA NA \n", "386 14-12-2015 NA NA NA NA \n", "387 15-12-2015 NA NA NA NA \n", "388 16-12-2015 NA NA NA NA \n", "389 17-12-2015 NA NA NA NA \n", "390 18-12-2015 NA NA NA NA \n", "391 19-12-2015 NA NA NA NA \n", "392 20-12-2015 NA NA NA NA \n", "393 21-12-2015 NA NA NA NA \n", "394 22-12-2015 NA NA NA NA \n", "395 23-12-2015 NA NA NA NA \n", "396 24-12-2015 NA NA NA NA \n", "397 25-12-2015 NA NA NA NA \n", "398 26-12-2015 NA NA NA NA \n", "399 27-12-2015 NA NA NA NA \n", "400 28-12-2015 NA NA NA NA \n", "401 29-12-2015 NA NA NA NA \n", "402 30-12-2015 NA NA NA NA \n", "403 31-12-2015 NA NA NA NA \n", " Max.Dew.PointF MeanDew.PointF Min.DewpointF Max.Humidity Mean.Humidity ⋯\n", "1 46 40 26 74 63 ⋯\n", "2 40 27 17 92 72 ⋯\n", "3 49 42 24 100 79 ⋯\n", "4 24 21 13 69 54 ⋯\n", "5 37 25 12 85 66 ⋯\n", "6 45 40 36 100 93 ⋯\n", "7 36 20 -3 92 61 ⋯\n", "8 28 16 3 92 70 ⋯\n", "9 49 41 28 100 93 ⋯\n", "10 45 39 37 100 95 ⋯\n", "11 37 31 27 92 87 ⋯\n", "12 28 27 25 85 75 ⋯\n", "13 28 26 24 75 65 ⋯\n", "14 29 27 25 82 68 ⋯\n", "15 33 29 27 89 75 ⋯\n", "16 42 36 30 96 85 ⋯\n", "17 46 41 32 100 85 ⋯\n", "18 34 30 26 89 73 ⋯\n", "19 25 22 20 69 63 ⋯\n", "20 30 24 20 89 79 ⋯\n", "21 30 27 25 85 77 ⋯\n", "22 39 34 25 89 79 ⋯\n", "23 45 42 37 100 91 ⋯\n", "24 46 44 41 100 98 ⋯\n", "25 58 43 29 100 75 ⋯\n", "26 31 29 28 70 60 ⋯\n", "27 34 31 29 70 60 ⋯\n", "28 42 35 27 76 65 ⋯\n", "29 26 20 10 64 51 ⋯\n", "30 10 4 -6 50 38 ⋯\n", "⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋱\n", "374 NA NA NA NA NA ⋯\n", "375 NA NA NA NA NA ⋯\n", "376 NA NA NA NA NA ⋯\n", "377 NA NA NA NA NA ⋯\n", "378 NA NA NA NA NA ⋯\n", "379 NA NA NA NA NA ⋯\n", "380 NA NA NA NA NA ⋯\n", "381 NA NA NA NA NA ⋯\n", "382 NA NA NA NA NA ⋯\n", "383 NA NA NA NA NA ⋯\n", "384 NA NA NA NA NA ⋯\n", "385 NA NA NA NA NA ⋯\n", "386 NA NA NA NA NA ⋯\n", "387 NA NA NA NA NA ⋯\n", "388 NA NA NA NA NA ⋯\n", "389 NA NA NA NA NA ⋯\n", "390 NA NA NA NA NA ⋯\n", "391 NA NA NA NA NA ⋯\n", "392 NA NA NA NA NA ⋯\n", "393 NA NA NA NA NA ⋯\n", "394 NA NA NA NA NA ⋯\n", "395 NA NA NA NA NA ⋯\n", "396 NA NA NA NA NA ⋯\n", "397 NA NA NA NA NA ⋯\n", "398 NA NA NA NA NA ⋯\n", "399 NA NA NA NA NA ⋯\n", "400 NA NA NA NA NA ⋯\n", "401 NA NA NA NA NA ⋯\n", "402 NA NA NA NA NA ⋯\n", "403 NA NA NA NA NA ⋯\n", " Min.Sea.Level.PressureIn Max.VisibilityMiles Mean.VisibilityMiles\n", "1 30.01 10 10 \n", "2 30.4 10 8 \n", "3 29.87 10 5 \n", "4 30.09 10 10 \n", "5 30.45 10 10 \n", "6 30.16 10 4 \n", "7 30.24 10 10 \n", "8 30.51 10 8 \n", "9 29.49 10 2 \n", "10 29.43 10 3 \n", "11 29.44 10 7 \n", "12 29.81 10 10 \n", "13 29.78 10 10 \n", "14 29.78 10 10 \n", "15 29.91 10 10 \n", "16 29.92 10 9 \n", "17 29.69 10 6 \n", "18 29.71 10 10 \n", "19 29.86 10 10 \n", "20 30.17 10 10 \n", "21 30.28 10 9 \n", "22 30.3 10 10 \n", "23 30.16 10 5 \n", "24 29.55 2 1 \n", "25 29.47 10 8 \n", "26 29.99 10 10 \n", "27 30.03 10 10 \n", "28 29.77 10 10 \n", "29 30 10 10 \n", "30 30.23 10 10 \n", "⋮ ⋮ ⋮ ⋮ \n", "374 NA NA NA \n", "375 NA NA NA \n", "376 NA NA NA \n", "377 NA NA NA \n", "378 NA NA NA \n", "379 NA NA NA \n", "380 NA NA NA \n", "381 NA NA NA \n", "382 NA NA NA \n", "383 NA NA NA \n", "384 NA NA NA \n", "385 NA NA NA \n", "386 NA NA NA \n", "387 NA NA NA \n", "388 NA NA NA \n", "389 NA NA NA \n", "390 NA NA NA \n", "391 NA NA NA \n", "392 NA NA NA \n", "393 NA NA NA \n", "394 NA NA NA \n", "395 NA NA NA \n", "396 NA NA NA \n", "397 NA NA NA \n", "398 NA NA NA \n", "399 NA NA NA \n", "400 NA NA NA \n", "401 NA NA NA \n", "402 NA NA NA \n", "403 NA NA NA \n", " Min.VisibilityMiles Max.Wind.SpeedMPH Mean.Wind.SpeedMPH Max.Gust.SpeedMPH\n", "1 10 22 13 29 \n", "2 2 24 15 29 \n", "3 1 29 12 38 \n", "4 10 25 12 33 \n", "5 5 22 10 26 \n", "6 0 22 8 25 \n", "7 5 25 15 32 \n", "8 2 21 13 28 \n", "9 1 38 20 52 \n", "10 1 23 13 29 \n", "11 1 21 13 28 \n", "12 7 16 11 21 \n", "13 10 17 12 23 \n", "14 10 15 10 20 \n", "15 10 15 6 21 \n", "16 5 8 4 10 \n", "17 1 20 11 26 \n", "18 10 23 14 30 \n", "19 10 17 11 23 \n", "20 7 21 10 26 \n", "21 6 16 9 20 \n", "22 4 18 8 22 \n", "23 1 20 13 25 \n", "24 0 13 6 15 \n", "25 1 28 14 40 \n", "26 10 18 11 25 \n", "27 10 17 9 21 \n", "28 10 22 14 31 \n", "29 10 15 9 22 \n", "30 10 16 10 21 \n", "⋮ ⋮ ⋮ ⋮ ⋮ \n", "374 NA NA NA NA \n", "375 NA NA NA NA \n", "376 NA NA NA NA \n", "377 NA NA NA NA \n", "378 NA NA NA NA \n", "379 NA NA NA NA \n", "380 NA NA NA NA \n", "381 NA NA NA NA \n", "382 NA NA NA NA \n", "383 NA NA NA NA \n", "384 NA NA NA NA \n", "385 NA NA NA NA \n", "386 NA NA NA NA \n", "387 NA NA NA NA \n", "388 NA NA NA NA \n", "389 NA NA NA NA \n", "390 NA NA NA NA \n", "391 NA NA NA NA \n", "392 NA NA NA NA \n", "393 NA NA NA NA \n", "394 NA NA NA NA \n", "395 NA NA NA NA \n", "396 NA NA NA NA \n", "397 NA NA NA NA \n", "398 NA NA NA NA \n", "399 NA NA NA NA \n", "400 NA NA NA NA \n", "401 NA NA NA NA \n", "402 NA NA NA NA \n", "403 NA NA NA NA \n", " PrecipitationIn CloudCover WindDirDegrees\n", "1 0.01 6 268 \n", "2 0.10 7 62 \n", "3 0.44 8 254 \n", "4 0.00 3 292 \n", "5 0.11 5 61 \n", "6 1.09 8 313 \n", "7 0.13 6 350 \n", "8 0.03 8 354 \n", "9 2.90 8 38 \n", "10 0.28 8 357 \n", "11 0.02 8 230 \n", "12 T 7 286 \n", "13 T 5 298 \n", "14 0.00 4 306 \n", "15 0.00 2 324 \n", "16 T 8 79 \n", "17 0.43 8 311 \n", "18 0.01 7 281 \n", "19 0.00 4 305 \n", "20 T 6 350 \n", "21 T 8 2 \n", "22 0.05 7 24 \n", "23 0.25 8 63 \n", "24 0.56 8 12 \n", "25 0.14 6 250 \n", "26 0.00 1 255 \n", "27 0.00 3 251 \n", "28 0.01 8 252 \n", "29 0.00 4 288 \n", "30 0.00 2 313 \n", "⋮ ⋮ ⋮ ⋮ \n", "374 NA NA NA \n", "375 NA NA NA \n", "376 NA NA NA \n", "377 NA NA NA \n", "378 NA NA NA \n", "379 NA NA NA \n", "380 NA NA NA \n", "381 NA NA NA \n", "382 NA NA NA \n", "383 NA NA NA \n", "384 NA NA NA \n", "385 NA NA NA \n", "386 NA NA NA \n", "387 NA NA NA \n", "388 NA NA NA \n", "389 NA NA NA \n", "390 NA NA NA \n", "391 NA NA NA \n", "392 NA NA NA \n", "393 NA NA NA \n", "394 NA NA NA \n", "395 NA NA NA \n", "396 NA NA NA \n", "397 NA NA NA \n", "398 NA NA NA \n", "399 NA NA NA \n", "400 NA NA NA \n", "401 NA NA NA \n", "402 NA NA NA \n", "403 NA NA NA " ], "text/latex": "A tibble: 403 × 23\n\\begin{tabular}{lllllllllllllllllllll}\n date & Events & Max.TemperatureF & Mean.TemperatureF & Min.TemperatureF & Max.Dew.PointF & MeanDew.PointF & Min.DewpointF & Max.Humidity & Mean.Humidity & ⋯ & Min.Sea.Level.PressureIn & Max.VisibilityMiles & Mean.VisibilityMiles & Min.VisibilityMiles & Max.Wind.SpeedMPH & Mean.Wind.SpeedMPH & Max.Gust.SpeedMPH & PrecipitationIn & CloudCover & WindDirDegrees\\\\\n & & & & & & & & & & ⋯ & & & & & & & & & & \\\\\n\\hline\n\t 1-12-2014 & Rain & 64 & 52 & 39 & 46 & 40 & 26 & 74 & 63 & ⋯ & 30.01 & 10 & 10 & 10 & 22 & 13 & 29 & 0.01 & 6 & 268\\\\\n\t 2-12-2014 & Rain-Snow & 42 & 38 & 33 & 40 & 27 & 17 & 92 & 72 & ⋯ & 30.4 & 10 & 8 & 2 & 24 & 15 & 29 & 0.10 & 7 & 62 \\\\\n\t 3-12-2014 & Rain & 51 & 44 & 37 & 49 & 42 & 24 & 100 & 79 & ⋯ & 29.87 & 10 & 5 & 1 & 29 & 12 & 38 & 0.44 & 8 & 254\\\\\n\t 4-12-2014 & & 43 & 37 & 30 & 24 & 21 & 13 & 69 & 54 & ⋯ & 30.09 & 10 & 10 & 10 & 25 & 12 & 33 & 0.00 & 3 & 292\\\\\n\t 5-12-2014 & Rain & 42 & 34 & 26 & 37 & 25 & 12 & 85 & 66 & ⋯ & 30.45 & 10 & 10 & 5 & 22 & 10 & 26 & 0.11 & 5 & 61 \\\\\n\t 6-12-2014 & Rain & 45 & 42 & 38 & 45 & 40 & 36 & 100 & 93 & ⋯ & 30.16 & 10 & 4 & 0 & 22 & 8 & 25 & 1.09 & 8 & 313\\\\\n\t 7-12-2014 & Rain & 38 & 30 & 21 & 36 & 20 & -3 & 92 & 61 & ⋯ & 30.24 & 10 & 10 & 5 & 25 & 15 & 32 & 0.13 & 6 & 350\\\\\n\t 8-12-2014 & Snow & 29 & 24 & 18 & 28 & 16 & 3 & 92 & 70 & ⋯ & 30.51 & 10 & 8 & 2 & 21 & 13 & 28 & 0.03 & 8 & 354\\\\\n\t 9-12-2014 & Rain & 49 & 39 & 29 & 49 & 41 & 28 & 100 & 93 & ⋯ & 29.49 & 10 & 2 & 1 & 38 & 20 & 52 & 2.90 & 8 & 38 \\\\\n\t 10-12-2014 & Rain & 48 & 43 & 38 & 45 & 39 & 37 & 100 & 95 & ⋯ & 29.43 & 10 & 3 & 1 & 23 & 13 & 29 & 0.28 & 8 & 357\\\\\n\t 11-12-2014 & Rain-Snow & 39 & 36 & 32 & 37 & 31 & 27 & 92 & 87 & ⋯ & 29.44 & 10 & 7 & 1 & 21 & 13 & 28 & 0.02 & 8 & 230\\\\\n\t 12-12-2014 & Snow & 39 & 35 & 31 & 28 & 27 & 25 & 85 & 75 & ⋯ & 29.81 & 10 & 10 & 7 & 16 & 11 & 21 & T & 7 & 286\\\\\n\t 13-12-2014 & & 42 & 37 & 32 & 28 & 26 & 24 & 75 & 65 & ⋯ & 29.78 & 10 & 10 & 10 & 17 & 12 & 23 & T & 5 & 298\\\\\n\t 14-12-2014 & & 45 & 39 & 33 & 29 & 27 & 25 & 82 & 68 & ⋯ & 29.78 & 10 & 10 & 10 & 15 & 10 & 20 & 0.00 & 4 & 306\\\\\n\t 15-12-2014 & & 42 & 37 & 32 & 33 & 29 & 27 & 89 & 75 & ⋯ & 29.91 & 10 & 10 & 10 & 15 & 6 & 21 & 0.00 & 2 & 324\\\\\n\t 16-12-2014 & Rain & 44 & 40 & 35 & 42 & 36 & 30 & 96 & 85 & ⋯ & 29.92 & 10 & 9 & 5 & 8 & 4 & 10 & T & 8 & 79 \\\\\n\t 17-12-2014 & Rain & 49 & 45 & 41 & 46 & 41 & 32 & 100 & 85 & ⋯ & 29.69 & 10 & 6 & 1 & 20 & 11 & 26 & 0.43 & 8 & 311\\\\\n\t 18-12-2014 & Rain & 44 & 40 & 36 & 34 & 30 & 26 & 89 & 73 & ⋯ & 29.71 & 10 & 10 & 10 & 23 & 14 & 30 & 0.01 & 7 & 281\\\\\n\t 19-12-2014 & & 37 & 33 & 29 & 25 & 22 & 20 & 69 & 63 & ⋯ & 29.86 & 10 & 10 & 10 & 17 & 11 & 23 & 0.00 & 4 & 305\\\\\n\t 20-12-2014 & Snow & 36 & 32 & 27 & 30 & 24 & 20 & 89 & 79 & ⋯ & 30.17 & 10 & 10 & 7 & 21 & 10 & 26 & T & 6 & 350\\\\\n\t 21-12-2014 & Snow & 36 & 33 & 30 & 30 & 27 & 25 & 85 & 77 & ⋯ & 30.28 & 10 & 9 & 6 & 16 & 9 & 20 & T & 8 & 2 \\\\\n\t 22-12-2014 & Rain & 44 & 39 & 33 & 39 & 34 & 25 & 89 & 79 & ⋯ & 30.3 & 10 & 10 & 4 & 18 & 8 & 22 & 0.05 & 7 & 24 \\\\\n\t 23-12-2014 & Rain & 47 & 45 & 42 & 45 & 42 & 37 & 100 & 91 & ⋯ & 30.16 & 10 & 5 & 1 & 20 & 13 & 25 & 0.25 & 8 & 63 \\\\\n\t 24-12-2014 & Fog-Rain & 46 & 44 & 41 & 46 & 44 & 41 & 100 & 98 & ⋯ & 29.55 & 2 & 1 & 0 & 13 & 6 & 15 & 0.56 & 8 & 12 \\\\\n\t 25-12-2014 & Rain & 59 & 52 & 44 & 58 & 43 & 29 & 100 & 75 & ⋯ & 29.47 & 10 & 8 & 1 & 28 & 14 & 40 & 0.14 & 6 & 250\\\\\n\t 26-12-2014 & & 50 & 44 & 37 & 31 & 29 & 28 & 70 & 60 & ⋯ & 29.99 & 10 & 10 & 10 & 18 & 11 & 25 & 0.00 & 1 & 255\\\\\n\t 27-12-2014 & & 52 & 45 & 38 & 34 & 31 & 29 & 70 & 60 & ⋯ & 30.03 & 10 & 10 & 10 & 17 & 9 & 21 & 0.00 & 3 & 251\\\\\n\t 28-12-2014 & Rain & 52 & 46 & 40 & 42 & 35 & 27 & 76 & 65 & ⋯ & 29.77 & 10 & 10 & 10 & 22 & 14 & 31 & 0.01 & 8 & 252\\\\\n\t 29-12-2014 & & 41 & 36 & 30 & 26 & 20 & 10 & 64 & 51 & ⋯ & 30 & 10 & 10 & 10 & 15 & 9 & 22 & 0.00 & 4 & 288\\\\\n\t 30-12-2014 & & 30 & 26 & 22 & 10 & 4 & -6 & 50 & 38 & ⋯ & 30.23 & 10 & 10 & 10 & 16 & 10 & 21 & 0.00 & 2 & 313\\\\\n\t ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋱ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮\\\\\n\t 2-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 3-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 4-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 5-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 6-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 7-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 8-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 9-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 10-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 11-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 12-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 13-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 14-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 15-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 16-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 17-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 18-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 19-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 20-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 21-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 22-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 23-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 24-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 25-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 26-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 27-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 28-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 29-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 30-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\t 31-12-2015 & NA & NA & NA & NA & NA & NA & NA & NA & NA & ⋯ & NA & NA & NA & NA & NA & NA & NA & NA & NA & NA\\\\\n\\end{tabular}\n", "text/markdown": "\nA tibble: 403 × 23\n\n| date <chr> | Events <chr> | Max.TemperatureF <chr> | Mean.TemperatureF <chr> | Min.TemperatureF <chr> | Max.Dew.PointF <chr> | MeanDew.PointF <chr> | Min.DewpointF <chr> | Max.Humidity <chr> | Mean.Humidity <chr> | ⋯ ⋯ | Min.Sea.Level.PressureIn <chr> | Max.VisibilityMiles <chr> | Mean.VisibilityMiles <chr> | Min.VisibilityMiles <chr> | Max.Wind.SpeedMPH <chr> | Mean.Wind.SpeedMPH <chr> | Max.Gust.SpeedMPH <chr> | PrecipitationIn <chr> | CloudCover <chr> | WindDirDegrees <chr> |\n|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n| 1-12-2014 | Rain | 64 | 52 | 39 | 46 | 40 | 26 | 74 | 63 | ⋯ | 30.01 | 10 | 10 | 10 | 22 | 13 | 29 | 0.01 | 6 | 268 |\n| 2-12-2014 | Rain-Snow | 42 | 38 | 33 | 40 | 27 | 17 | 92 | 72 | ⋯ | 30.4 | 10 | 8 | 2 | 24 | 15 | 29 | 0.10 | 7 | 62 |\n| 3-12-2014 | Rain | 51 | 44 | 37 | 49 | 42 | 24 | 100 | 79 | ⋯ | 29.87 | 10 | 5 | 1 | 29 | 12 | 38 | 0.44 | 8 | 254 |\n| 4-12-2014 | | 43 | 37 | 30 | 24 | 21 | 13 | 69 | 54 | ⋯ | 30.09 | 10 | 10 | 10 | 25 | 12 | 33 | 0.00 | 3 | 292 |\n| 5-12-2014 | Rain | 42 | 34 | 26 | 37 | 25 | 12 | 85 | 66 | ⋯ | 30.45 | 10 | 10 | 5 | 22 | 10 | 26 | 0.11 | 5 | 61 |\n| 6-12-2014 | Rain | 45 | 42 | 38 | 45 | 40 | 36 | 100 | 93 | ⋯ | 30.16 | 10 | 4 | 0 | 22 | 8 | 25 | 1.09 | 8 | 313 |\n| 7-12-2014 | Rain | 38 | 30 | 21 | 36 | 20 | -3 | 92 | 61 | ⋯ | 30.24 | 10 | 10 | 5 | 25 | 15 | 32 | 0.13 | 6 | 350 |\n| 8-12-2014 | Snow | 29 | 24 | 18 | 28 | 16 | 3 | 92 | 70 | ⋯ | 30.51 | 10 | 8 | 2 | 21 | 13 | 28 | 0.03 | 8 | 354 |\n| 9-12-2014 | Rain | 49 | 39 | 29 | 49 | 41 | 28 | 100 | 93 | ⋯ | 29.49 | 10 | 2 | 1 | 38 | 20 | 52 | 2.90 | 8 | 38 |\n| 10-12-2014 | Rain | 48 | 43 | 38 | 45 | 39 | 37 | 100 | 95 | ⋯ | 29.43 | 10 | 3 | 1 | 23 | 13 | 29 | 0.28 | 8 | 357 |\n| 11-12-2014 | Rain-Snow | 39 | 36 | 32 | 37 | 31 | 27 | 92 | 87 | ⋯ | 29.44 | 10 | 7 | 1 | 21 | 13 | 28 | 0.02 | 8 | 230 |\n| 12-12-2014 | Snow | 39 | 35 | 31 | 28 | 27 | 25 | 85 | 75 | ⋯ | 29.81 | 10 | 10 | 7 | 16 | 11 | 21 | T | 7 | 286 |\n| 13-12-2014 | | 42 | 37 | 32 | 28 | 26 | 24 | 75 | 65 | ⋯ | 29.78 | 10 | 10 | 10 | 17 | 12 | 23 | T | 5 | 298 |\n| 14-12-2014 | | 45 | 39 | 33 | 29 | 27 | 25 | 82 | 68 | ⋯ | 29.78 | 10 | 10 | 10 | 15 | 10 | 20 | 0.00 | 4 | 306 |\n| 15-12-2014 | | 42 | 37 | 32 | 33 | 29 | 27 | 89 | 75 | ⋯ | 29.91 | 10 | 10 | 10 | 15 | 6 | 21 | 0.00 | 2 | 324 |\n| 16-12-2014 | Rain | 44 | 40 | 35 | 42 | 36 | 30 | 96 | 85 | ⋯ | 29.92 | 10 | 9 | 5 | 8 | 4 | 10 | T | 8 | 79 |\n| 17-12-2014 | Rain | 49 | 45 | 41 | 46 | 41 | 32 | 100 | 85 | ⋯ | 29.69 | 10 | 6 | 1 | 20 | 11 | 26 | 0.43 | 8 | 311 |\n| 18-12-2014 | Rain | 44 | 40 | 36 | 34 | 30 | 26 | 89 | 73 | ⋯ | 29.71 | 10 | 10 | 10 | 23 | 14 | 30 | 0.01 | 7 | 281 |\n| 19-12-2014 | | 37 | 33 | 29 | 25 | 22 | 20 | 69 | 63 | ⋯ | 29.86 | 10 | 10 | 10 | 17 | 11 | 23 | 0.00 | 4 | 305 |\n| 20-12-2014 | Snow | 36 | 32 | 27 | 30 | 24 | 20 | 89 | 79 | ⋯ | 30.17 | 10 | 10 | 7 | 21 | 10 | 26 | T | 6 | 350 |\n| 21-12-2014 | Snow | 36 | 33 | 30 | 30 | 27 | 25 | 85 | 77 | ⋯ | 30.28 | 10 | 9 | 6 | 16 | 9 | 20 | T | 8 | 2 |\n| 22-12-2014 | Rain | 44 | 39 | 33 | 39 | 34 | 25 | 89 | 79 | ⋯ | 30.3 | 10 | 10 | 4 | 18 | 8 | 22 | 0.05 | 7 | 24 |\n| 23-12-2014 | Rain | 47 | 45 | 42 | 45 | 42 | 37 | 100 | 91 | ⋯ | 30.16 | 10 | 5 | 1 | 20 | 13 | 25 | 0.25 | 8 | 63 |\n| 24-12-2014 | Fog-Rain | 46 | 44 | 41 | 46 | 44 | 41 | 100 | 98 | ⋯ | 29.55 | 2 | 1 | 0 | 13 | 6 | 15 | 0.56 | 8 | 12 |\n| 25-12-2014 | Rain | 59 | 52 | 44 | 58 | 43 | 29 | 100 | 75 | ⋯ | 29.47 | 10 | 8 | 1 | 28 | 14 | 40 | 0.14 | 6 | 250 |\n| 26-12-2014 | | 50 | 44 | 37 | 31 | 29 | 28 | 70 | 60 | ⋯ | 29.99 | 10 | 10 | 10 | 18 | 11 | 25 | 0.00 | 1 | 255 |\n| 27-12-2014 | | 52 | 45 | 38 | 34 | 31 | 29 | 70 | 60 | ⋯ | 30.03 | 10 | 10 | 10 | 17 | 9 | 21 | 0.00 | 3 | 251 |\n| 28-12-2014 | Rain | 52 | 46 | 40 | 42 | 35 | 27 | 76 | 65 | ⋯ | 29.77 | 10 | 10 | 10 | 22 | 14 | 31 | 0.01 | 8 | 252 |\n| 29-12-2014 | | 41 | 36 | 30 | 26 | 20 | 10 | 64 | 51 | ⋯ | 30 | 10 | 10 | 10 | 15 | 9 | 22 | 0.00 | 4 | 288 |\n| 30-12-2014 | | 30 | 26 | 22 | 10 | 4 | -6 | 50 | 38 | ⋯ | 30.23 | 10 | 10 | 10 | 16 | 10 | 21 | 0.00 | 2 | 313 |\n| ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋱ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ |\n| 2-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 3-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 4-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 5-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 6-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 7-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 8-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 9-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 10-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 11-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 12-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 13-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 14-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 15-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 16-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 17-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 18-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 19-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 20-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 21-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 22-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 23-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 24-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 25-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 26-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 27-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 28-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 29-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 30-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n| 31-12-2015 | NA | NA | NA | NA | NA | NA | NA | NA | NA | ⋯ | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA |\n\n", "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 403 × 23
dateEventsMax.TemperatureFMean.TemperatureFMin.TemperatureFMax.Dew.PointFMeanDew.PointFMin.DewpointFMax.HumidityMean.HumidityMin.Sea.Level.PressureInMax.VisibilityMilesMean.VisibilityMilesMin.VisibilityMilesMax.Wind.SpeedMPHMean.Wind.SpeedMPHMax.Gust.SpeedMPHPrecipitationInCloudCoverWindDirDegrees
<chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr>
1-12-2014 Rain 64523946402674 6330.011010102213290.016268
2-12-2014 Rain-Snow42383340271792 7230.4 108 2 2415290.10762
3-12-2014 Rain 5144374942241007929.87105 1 2912380.448254
4-12-2014 43373024211369 5430.091010102512330.003292
5-12-2014 Rain 42342637251285 6630.4510105 2210260.11561
6-12-2014 Rain 4542384540361009330.16104 0 228 251.098313
7-12-2014 Rain 3830213620-392 6130.2410105 2515320.136350
8-12-2014 Snow 29241828163 92 7030.51108 2 2113280.038354
9-12-2014 Rain 4939294941281009329.49102 1 3820522.90838
10-12-2014Rain 4843384539371009529.43103 1 2313290.288357
11-12-2014Rain-Snow39363237312792 8729.44107 1 2113280.028230
12-12-2014Snow 39353128272585 7529.8110107 161121T 7286
13-12-2014 42373228262475 6529.78101010171223T 5298
14-12-2014 45393329272582 6829.781010101510200.004306
15-12-2014 42373233292789 7529.91101010156 210.002324
16-12-2014Rain 44403542363096 8529.92109 5 8 4 10T 879
17-12-2014Rain 4945414641321008529.69106 1 2011260.438311
18-12-2014Rain 44403634302689 7329.711010102314300.017281
19-12-2014 37332925222069 6329.861010101711230.004305
20-12-2014Snow 36322730242089 7930.1710107 211026T 6350
21-12-2014Snow 36333030272585 7730.28109 6 169 20T 82
22-12-2014Rain 44393339342589 7930.3 10104 188 220.05724
23-12-2014Rain 4745424542371009130.16105 1 2013250.25863
24-12-2014Fog-Rain 4644414644411009829.552 1 0 136 150.56812
25-12-2014Rain 5952445843291007529.47108 1 2814400.146250
26-12-2014 50443731292870 6029.991010101811250.001255
27-12-2014 52453834312970 6030.03101010179 210.003251
28-12-2014Rain 52464042352776 6529.771010102214310.018252
29-12-2014 41363026201064 5130 101010159 220.004288
30-12-2014 302622104 -650 3830.231010101610210.002313
2-12-2015 NANANANANANANANANANANANANANANANANANANA
3-12-2015 NANANANANANANANANANANANANANANANANANANA
4-12-2015 NANANANANANANANANANANANANANANANANANANA
5-12-2015 NANANANANANANANANANANANANANANANANANANA
6-12-2015 NANANANANANANANANANANANANANANANANANANA
7-12-2015 NANANANANANANANANANANANANANANANANANANA
8-12-2015 NANANANANANANANANANANANANANANANANANANA
9-12-2015 NANANANANANANANANANANANANANANANANANANA
10-12-2015NANANANANANANANANANANANANANANANANANANA
11-12-2015NANANANANANANANANANANANANANANANANANANA
12-12-2015NANANANANANANANANANANANANANANANANANANA
13-12-2015NANANANANANANANANANANANANANANANANANANA
14-12-2015NANANANANANANANANANANANANANANANANANANA
15-12-2015NANANANANANANANANANANANANANANANANANANA
16-12-2015NANANANANANANANANANANANANANANANANANANA
17-12-2015NANANANANANANANANANANANANANANANANANANA
18-12-2015NANANANANANANANANANANANANANANANANANANA
19-12-2015NANANANANANANANANANANANANANANANANANANA
20-12-2015NANANANANANANANANANANANANANANANANANANA
21-12-2015NANANANANANANANANANANANANANANANANANANA
22-12-2015NANANANANANANANANANANANANANANANANANANA
23-12-2015NANANANANANANANANANANANANANANANANANANA
24-12-2015NANANANANANANANANANANANANANANANANANANA
25-12-2015NANANANANANANANANANANANANANANANANANANA
26-12-2015NANANANANANANANANANANANANANANANANANANA
27-12-2015NANANANANANANANANANANANANANANANANANANA
28-12-2015NANANANANANANANANANANANANANANANANANANA
29-12-2015NANANANANANANANANANANANANANANANANANANA
30-12-2015NANANANANANANANANANANANANANANANANANANA
31-12-2015NANANANANANANANANANANANANANANANANANANA
\n" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "8ZGh2sE7a4Y9" }, "source": [ "#### Exercise 4: `PrecipitationIn` has “T”s (Trace). “Traces” in precipitation are defined as less than 0.005 inch. So, in this case, we need to map “T”s to 0." ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 396 }, "id": "dzc3aEwhjLKH", "outputId": "bd2a82e6-0ba7-4623-e6f2-6d140f9d75ad" }, "source": [ "look = tidy_weather %>% filter(PrecipitationIn == \"T\")\n", "look %>% head" ], "execution_count": 219, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ " date Events Max.TemperatureF Mean.TemperatureF Min.TemperatureF\n", "1 12-12-2014 Snow 39 35 31 \n", "2 13-12-2014 42 37 32 \n", "3 16-12-2014 Rain 44 40 35 \n", "4 20-12-2014 Snow 36 32 27 \n", "5 21-12-2014 Snow 36 33 30 \n", "6 7-1-2015 Snow 26 15 4 \n", " Max.Dew.PointF MeanDew.PointF Min.DewpointF Max.Humidity Mean.Humidity ⋯\n", "1 28 27 25 85 75 ⋯\n", "2 28 26 24 75 65 ⋯\n", "3 42 36 30 96 85 ⋯\n", "4 30 24 20 89 79 ⋯\n", "5 30 27 25 85 77 ⋯\n", "6 12 3 -13 88 58 ⋯\n", " Min.Sea.Level.PressureIn Max.VisibilityMiles Mean.VisibilityMiles\n", "1 29.81 10 10 \n", "2 29.78 10 10 \n", "3 29.92 10 9 \n", "4 30.17 10 10 \n", "5 30.28 10 9 \n", "6 29.76 10 9 \n", " Min.VisibilityMiles Max.Wind.SpeedMPH Mean.Wind.SpeedMPH Max.Gust.SpeedMPH\n", "1 7 16 11 21 \n", "2 10 17 12 23 \n", "3 5 8 4 10 \n", "4 7 21 10 26 \n", "5 6 16 9 20 \n", "6 2 31 16 40 \n", " PrecipitationIn CloudCover WindDirDegrees\n", "1 T 7 286 \n", "2 T 5 298 \n", "3 T 8 79 \n", "4 T 6 350 \n", "5 T 8 2 \n", "6 T 3 272 " ], "text/latex": "A tibble: 6 × 23\n\\begin{tabular}{lllllllllllllllllllll}\n date & Events & Max.TemperatureF & Mean.TemperatureF & Min.TemperatureF & Max.Dew.PointF & MeanDew.PointF & Min.DewpointF & Max.Humidity & Mean.Humidity & ⋯ & Min.Sea.Level.PressureIn & Max.VisibilityMiles & Mean.VisibilityMiles & Min.VisibilityMiles & Max.Wind.SpeedMPH & Mean.Wind.SpeedMPH & Max.Gust.SpeedMPH & PrecipitationIn & CloudCover & WindDirDegrees\\\\\n & & & & & & & & & & ⋯ & & & & & & & & & & \\\\\n\\hline\n\t 12-12-2014 & Snow & 39 & 35 & 31 & 28 & 27 & 25 & 85 & 75 & ⋯ & 29.81 & 10 & 10 & 7 & 16 & 11 & 21 & T & 7 & 286\\\\\n\t 13-12-2014 & & 42 & 37 & 32 & 28 & 26 & 24 & 75 & 65 & ⋯ & 29.78 & 10 & 10 & 10 & 17 & 12 & 23 & T & 5 & 298\\\\\n\t 16-12-2014 & Rain & 44 & 40 & 35 & 42 & 36 & 30 & 96 & 85 & ⋯ & 29.92 & 10 & 9 & 5 & 8 & 4 & 10 & T & 8 & 79 \\\\\n\t 20-12-2014 & Snow & 36 & 32 & 27 & 30 & 24 & 20 & 89 & 79 & ⋯ & 30.17 & 10 & 10 & 7 & 21 & 10 & 26 & T & 6 & 350\\\\\n\t 21-12-2014 & Snow & 36 & 33 & 30 & 30 & 27 & 25 & 85 & 77 & ⋯ & 30.28 & 10 & 9 & 6 & 16 & 9 & 20 & T & 8 & 2 \\\\\n\t 7-1-2015 & Snow & 26 & 15 & 4 & 12 & 3 & -13 & 88 & 58 & ⋯ & 29.76 & 10 & 9 & 2 & 31 & 16 & 40 & T & 3 & 272\\\\\n\\end{tabular}\n", "text/markdown": "\nA tibble: 6 × 23\n\n| date <chr> | Events <chr> | Max.TemperatureF <chr> | Mean.TemperatureF <chr> | Min.TemperatureF <chr> | Max.Dew.PointF <chr> | MeanDew.PointF <chr> | Min.DewpointF <chr> | Max.Humidity <chr> | Mean.Humidity <chr> | ⋯ ⋯ | Min.Sea.Level.PressureIn <chr> | Max.VisibilityMiles <chr> | Mean.VisibilityMiles <chr> | Min.VisibilityMiles <chr> | Max.Wind.SpeedMPH <chr> | Mean.Wind.SpeedMPH <chr> | Max.Gust.SpeedMPH <chr> | PrecipitationIn <chr> | CloudCover <chr> | WindDirDegrees <chr> |\n|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n| 12-12-2014 | Snow | 39 | 35 | 31 | 28 | 27 | 25 | 85 | 75 | ⋯ | 29.81 | 10 | 10 | 7 | 16 | 11 | 21 | T | 7 | 286 |\n| 13-12-2014 | | 42 | 37 | 32 | 28 | 26 | 24 | 75 | 65 | ⋯ | 29.78 | 10 | 10 | 10 | 17 | 12 | 23 | T | 5 | 298 |\n| 16-12-2014 | Rain | 44 | 40 | 35 | 42 | 36 | 30 | 96 | 85 | ⋯ | 29.92 | 10 | 9 | 5 | 8 | 4 | 10 | T | 8 | 79 |\n| 20-12-2014 | Snow | 36 | 32 | 27 | 30 | 24 | 20 | 89 | 79 | ⋯ | 30.17 | 10 | 10 | 7 | 21 | 10 | 26 | T | 6 | 350 |\n| 21-12-2014 | Snow | 36 | 33 | 30 | 30 | 27 | 25 | 85 | 77 | ⋯ | 30.28 | 10 | 9 | 6 | 16 | 9 | 20 | T | 8 | 2 |\n| 7-1-2015 | Snow | 26 | 15 | 4 | 12 | 3 | -13 | 88 | 58 | ⋯ | 29.76 | 10 | 9 | 2 | 31 | 16 | 40 | T | 3 | 272 |\n\n", "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 6 × 23
dateEventsMax.TemperatureFMean.TemperatureFMin.TemperatureFMax.Dew.PointFMeanDew.PointFMin.DewpointFMax.HumidityMean.HumidityMin.Sea.Level.PressureInMax.VisibilityMilesMean.VisibilityMilesMin.VisibilityMilesMax.Wind.SpeedMPHMean.Wind.SpeedMPHMax.Gust.SpeedMPHPrecipitationInCloudCoverWindDirDegrees
<chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr>
12-12-2014Snow393531282725 857529.8110107 161121T7286
13-12-2014 423732282624 756529.78101010171223T5298
16-12-2014Rain444035423630 968529.92109 5 8 4 10T879
20-12-2014Snow363227302420 897930.1710107 211026T6350
21-12-2014Snow363330302725 857730.28109 6 169 20T82
7-1-2015 Snow26154 123 -13885829.76109 2 311640T3272
\n" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "fgeHvRCJa4ZH" }, "source": [ "tidy_weather = tidy_weather %>% \n", "mutate(PrecipitationIn = ifelse(PrecipitationIn == \"T\", \"0\", PrecipitationIn))" ], "execution_count": 220, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 245 }, "id": "TDGkTyfYa4ZJ", "outputId": "ea76767c-e456-4423-e945-3c7923ea66bb" }, "source": [ "test = tidy_weather %>% filter(PrecipitationIn == \"T\")\n", "test %>% head" ], "execution_count": 222, "outputs": [ { "output_type": "stream", "text": [ "Warning message in cbind(parts$left, ellip_h, parts$right, deparse.level = 0L):\n", "“number of rows of result is not a multiple of vector length (arg 2)”\n", "Warning message in cbind(parts$left, ellip_h, parts$right, deparse.level = 0L):\n", "“number of rows of result is not a multiple of vector length (arg 2)”\n", "Warning message in cbind(parts$left, ellip_h, parts$right, deparse.level = 0L):\n", "“number of rows of result is not a multiple of vector length (arg 2)”\n", "Warning message in cbind(parts$left, ellip_h, parts$right, deparse.level = 0L):\n", "“number of rows of result is not a multiple of vector length (arg 2)”\n" ], "name": "stderr" }, { "output_type": "display_data", "data": { "text/plain": [ " date Events Max.TemperatureF Mean.TemperatureF Min.TemperatureF\n", " Max.Dew.PointF MeanDew.PointF Min.DewpointF Max.Humidity Mean.Humidity ⋯\n", " Min.Sea.Level.PressureIn Max.VisibilityMiles Mean.VisibilityMiles\n", " Min.VisibilityMiles Max.Wind.SpeedMPH Mean.Wind.SpeedMPH Max.Gust.SpeedMPH\n", " PrecipitationIn CloudCover WindDirDegrees" ], "text/latex": "A tibble: 0 × 23\n\\begin{tabular}{lllllllllllllllllllll}\n date & Events & Max.TemperatureF & Mean.TemperatureF & Min.TemperatureF & Max.Dew.PointF & MeanDew.PointF & Min.DewpointF & Max.Humidity & Mean.Humidity & ⋯ & Min.Sea.Level.PressureIn & Max.VisibilityMiles & Mean.VisibilityMiles & Min.VisibilityMiles & Max.Wind.SpeedMPH & Mean.Wind.SpeedMPH & Max.Gust.SpeedMPH & PrecipitationIn & CloudCover & WindDirDegrees\\\\\n & & & & & & & & & & ⋯ & & & & & & & & & & \\\\\n\\hline\n\\end{tabular}\n", "text/markdown": "\nA tibble: 0 × 23\n\n| date <chr> | Events <chr> | Max.TemperatureF <chr> | Mean.TemperatureF <chr> | Min.TemperatureF <chr> | Max.Dew.PointF <chr> | MeanDew.PointF <chr> | Min.DewpointF <chr> | Max.Humidity <chr> | Mean.Humidity <chr> | ⋯ ⋯ | Min.Sea.Level.PressureIn <chr> | Max.VisibilityMiles <chr> | Mean.VisibilityMiles <chr> | Min.VisibilityMiles <chr> | Max.Wind.SpeedMPH <chr> | Mean.Wind.SpeedMPH <chr> | Max.Gust.SpeedMPH <chr> | PrecipitationIn <chr> | CloudCover <chr> | WindDirDegrees <chr> |\n|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n\n", "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\n", "
A tibble: 0 × 23
dateEventsMax.TemperatureFMean.TemperatureFMin.TemperatureFMax.Dew.PointFMeanDew.PointFMin.DewpointFMax.HumidityMean.HumidityMin.Sea.Level.PressureInMax.VisibilityMilesMean.VisibilityMilesMin.VisibilityMilesMax.Wind.SpeedMPHMean.Wind.SpeedMPHMax.Gust.SpeedMPHPrecipitationInCloudCoverWindDirDegrees
<chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr><chr>
\n" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "AclKmyyVa4ZK" }, "source": [ "#### Exercise 5: Other then events, all measures are numeric but coded as chracter. Convert them to numeric" ] }, { "cell_type": "code", "metadata": { "scrolled": true, "colab": { "base_uri": "https://localhost:8080/", "height": 396 }, "id": "GeSgqHG5a4ZL", "outputId": "d7483f89-074f-4b3f-d5b4-ee24416ef98d" }, "source": [ "tidy_weather = tidy_weather %>% mutate_each(funs = list(as.numeric), Max.TemperatureF:WindDirDegrees)\n", "tidy_weather %>% head" ], "execution_count": 223, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ " date Events Max.TemperatureF Mean.TemperatureF Min.TemperatureF\n", "1 1-12-2014 Rain 64 52 39 \n", "2 2-12-2014 Rain-Snow 42 38 33 \n", "3 3-12-2014 Rain 51 44 37 \n", "4 4-12-2014 43 37 30 \n", "5 5-12-2014 Rain 42 34 26 \n", "6 6-12-2014 Rain 45 42 38 \n", " Max.Dew.PointF MeanDew.PointF Min.DewpointF Max.Humidity Mean.Humidity ⋯\n", "1 46 40 26 74 63 ⋯\n", "2 40 27 17 92 72 ⋯\n", "3 49 42 24 100 79 ⋯\n", "4 24 21 13 69 54 ⋯\n", "5 37 25 12 85 66 ⋯\n", "6 45 40 36 100 93 ⋯\n", " Min.Sea.Level.PressureIn Max.VisibilityMiles Mean.VisibilityMiles\n", "1 30.01 10 10 \n", "2 30.40 10 8 \n", "3 29.87 10 5 \n", "4 30.09 10 10 \n", "5 30.45 10 10 \n", "6 30.16 10 4 \n", " Min.VisibilityMiles Max.Wind.SpeedMPH Mean.Wind.SpeedMPH Max.Gust.SpeedMPH\n", "1 10 22 13 29 \n", "2 2 24 15 29 \n", "3 1 29 12 38 \n", "4 10 25 12 33 \n", "5 5 22 10 26 \n", "6 0 22 8 25 \n", " PrecipitationIn CloudCover WindDirDegrees\n", "1 0.01 6 268 \n", "2 0.10 7 62 \n", "3 0.44 8 254 \n", "4 0.00 3 292 \n", "5 0.11 5 61 \n", "6 1.09 8 313 " ], "text/latex": "A tibble: 6 × 23\n\\begin{tabular}{lllllllllllllllllllll}\n date & Events & Max.TemperatureF & Mean.TemperatureF & Min.TemperatureF & Max.Dew.PointF & MeanDew.PointF & Min.DewpointF & Max.Humidity & Mean.Humidity & ⋯ & Min.Sea.Level.PressureIn & Max.VisibilityMiles & Mean.VisibilityMiles & Min.VisibilityMiles & Max.Wind.SpeedMPH & Mean.Wind.SpeedMPH & Max.Gust.SpeedMPH & PrecipitationIn & CloudCover & WindDirDegrees\\\\\n & & & & & & & & & & ⋯ & & & & & & & & & & \\\\\n\\hline\n\t 1-12-2014 & Rain & 64 & 52 & 39 & 46 & 40 & 26 & 74 & 63 & ⋯ & 30.01 & 10 & 10 & 10 & 22 & 13 & 29 & 0.01 & 6 & 268\\\\\n\t 2-12-2014 & Rain-Snow & 42 & 38 & 33 & 40 & 27 & 17 & 92 & 72 & ⋯ & 30.40 & 10 & 8 & 2 & 24 & 15 & 29 & 0.10 & 7 & 62\\\\\n\t 3-12-2014 & Rain & 51 & 44 & 37 & 49 & 42 & 24 & 100 & 79 & ⋯ & 29.87 & 10 & 5 & 1 & 29 & 12 & 38 & 0.44 & 8 & 254\\\\\n\t 4-12-2014 & & 43 & 37 & 30 & 24 & 21 & 13 & 69 & 54 & ⋯ & 30.09 & 10 & 10 & 10 & 25 & 12 & 33 & 0.00 & 3 & 292\\\\\n\t 5-12-2014 & Rain & 42 & 34 & 26 & 37 & 25 & 12 & 85 & 66 & ⋯ & 30.45 & 10 & 10 & 5 & 22 & 10 & 26 & 0.11 & 5 & 61\\\\\n\t 6-12-2014 & Rain & 45 & 42 & 38 & 45 & 40 & 36 & 100 & 93 & ⋯ & 30.16 & 10 & 4 & 0 & 22 & 8 & 25 & 1.09 & 8 & 313\\\\\n\\end{tabular}\n", "text/markdown": "\nA tibble: 6 × 23\n\n| date <chr> | Events <chr> | Max.TemperatureF <dbl> | Mean.TemperatureF <dbl> | Min.TemperatureF <dbl> | Max.Dew.PointF <dbl> | MeanDew.PointF <dbl> | Min.DewpointF <dbl> | Max.Humidity <dbl> | Mean.Humidity <dbl> | ⋯ ⋯ | Min.Sea.Level.PressureIn <dbl> | Max.VisibilityMiles <dbl> | Mean.VisibilityMiles <dbl> | Min.VisibilityMiles <dbl> | Max.Wind.SpeedMPH <dbl> | Mean.Wind.SpeedMPH <dbl> | Max.Gust.SpeedMPH <dbl> | PrecipitationIn <dbl> | CloudCover <dbl> | WindDirDegrees <dbl> |\n|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n| 1-12-2014 | Rain | 64 | 52 | 39 | 46 | 40 | 26 | 74 | 63 | ⋯ | 30.01 | 10 | 10 | 10 | 22 | 13 | 29 | 0.01 | 6 | 268 |\n| 2-12-2014 | Rain-Snow | 42 | 38 | 33 | 40 | 27 | 17 | 92 | 72 | ⋯ | 30.40 | 10 | 8 | 2 | 24 | 15 | 29 | 0.10 | 7 | 62 |\n| 3-12-2014 | Rain | 51 | 44 | 37 | 49 | 42 | 24 | 100 | 79 | ⋯ | 29.87 | 10 | 5 | 1 | 29 | 12 | 38 | 0.44 | 8 | 254 |\n| 4-12-2014 | | 43 | 37 | 30 | 24 | 21 | 13 | 69 | 54 | ⋯ | 30.09 | 10 | 10 | 10 | 25 | 12 | 33 | 0.00 | 3 | 292 |\n| 5-12-2014 | Rain | 42 | 34 | 26 | 37 | 25 | 12 | 85 | 66 | ⋯ | 30.45 | 10 | 10 | 5 | 22 | 10 | 26 | 0.11 | 5 | 61 |\n| 6-12-2014 | Rain | 45 | 42 | 38 | 45 | 40 | 36 | 100 | 93 | ⋯ | 30.16 | 10 | 4 | 0 | 22 | 8 | 25 | 1.09 | 8 | 313 |\n\n", "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 6 × 23
dateEventsMax.TemperatureFMean.TemperatureFMin.TemperatureFMax.Dew.PointFMeanDew.PointFMin.DewpointFMax.HumidityMean.HumidityMin.Sea.Level.PressureInMax.VisibilityMilesMean.VisibilityMilesMin.VisibilityMilesMax.Wind.SpeedMPHMean.Wind.SpeedMPHMax.Gust.SpeedMPHPrecipitationInCloudCoverWindDirDegrees
<chr><chr><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl>
1-12-2014Rain 645239464026 746330.011010102213290.016268
2-12-2014Rain-Snow423833402717 927230.4010 8 22415290.107 62
3-12-2014Rain 5144374942241007929.8710 5 12912380.448254
4-12-2014 433730242113 695430.091010102512330.003292
5-12-2014Rain 423426372512 856630.451010 52210260.115 61
6-12-2014Rain 4542384540361009330.1610 4 022 8251.098313
\n" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "ra2kA0BRa4ZM" }, "source": [ "#### Exercise 6: What are the unique events in the dataset?" ] }, { "cell_type": "code", "metadata": { "scrolled": true, "colab": { "base_uri": "https://localhost:8080/", "height": 32 }, "id": "uxQsvr33a4ZM", "outputId": "178afbe0-5415-4d1d-e6ee-92c71cd17db8" }, "source": [ "tidy_weather %>% select(Events) %>% unique %>% deframe" ], "execution_count": 224, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ " [1] \"Rain\" \"Rain-Snow\" \n", " [3] \"\" \"Snow\" \n", " [5] \"Fog-Rain\" \"Fog-Snow\" \n", " [7] \"Fog-Rain-Snow\" NA \n", " [9] \"Fog-Rain-Thunderstorm\" \"Fog\" \n", "[11] \"Rain-Thunderstorm\" \"Thunderstorm\" \n", "[13] \"Fog-Rain-Hail-Thunderstorm\"" ], "text/latex": "\\begin{enumerate*}\n\\item 'Rain'\n\\item 'Rain-Snow'\n\\item ''\n\\item 'Snow'\n\\item 'Fog-Rain'\n\\item 'Fog-Snow'\n\\item 'Fog-Rain-Snow'\n\\item NA\n\\item 'Fog-Rain-Thunderstorm'\n\\item 'Fog'\n\\item 'Rain-Thunderstorm'\n\\item 'Thunderstorm'\n\\item 'Fog-Rain-Hail-Thunderstorm'\n\\end{enumerate*}\n", "text/markdown": "1. 'Rain'\n2. 'Rain-Snow'\n3. ''\n4. 'Snow'\n5. 'Fog-Rain'\n6. 'Fog-Snow'\n7. 'Fog-Rain-Snow'\n8. NA\n9. 'Fog-Rain-Thunderstorm'\n10. 'Fog'\n11. 'Rain-Thunderstorm'\n12. 'Thunderstorm'\n13. 'Fog-Rain-Hail-Thunderstorm'\n\n\n", "text/html": [ "\n", "
  1. 'Rain'
  2. 'Rain-Snow'
  3. ''
  4. 'Snow'
  5. 'Fog-Rain'
  6. 'Fog-Snow'
  7. 'Fog-Rain-Snow'
  8. NA
  9. 'Fog-Rain-Thunderstorm'
  10. 'Fog'
  11. 'Rain-Thunderstorm'
  12. 'Thunderstorm'
  13. 'Fog-Rain-Hail-Thunderstorm'
\n" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "NvrIm6uea4ZN" }, "source": [ "#### Exercise 7: Empty means, there is no event. Change it to `Clear`" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 32 }, "id": "7xVIjYWwa4ZO", "outputId": "f02d3374-64d1-490d-f07f-0419981f3fad" }, "source": [ "tidy_weather = tidy_weather %>% \n", "mutate(Events = ifelse(Events == \"\", \"Clear\", Events))\n", "\n", "tidy_weather %>% select(Events) %>% unique %>% deframe" ], "execution_count": 225, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ " [1] \"Rain\" \"Rain-Snow\" \n", " [3] \"Clear\" \"Snow\" \n", " [5] \"Fog-Rain\" \"Fog-Snow\" \n", " [7] \"Fog-Rain-Snow\" NA \n", " [9] \"Fog-Rain-Thunderstorm\" \"Fog\" \n", "[11] \"Rain-Thunderstorm\" \"Thunderstorm\" \n", "[13] \"Fog-Rain-Hail-Thunderstorm\"" ], "text/latex": "\\begin{enumerate*}\n\\item 'Rain'\n\\item 'Rain-Snow'\n\\item 'Clear'\n\\item 'Snow'\n\\item 'Fog-Rain'\n\\item 'Fog-Snow'\n\\item 'Fog-Rain-Snow'\n\\item NA\n\\item 'Fog-Rain-Thunderstorm'\n\\item 'Fog'\n\\item 'Rain-Thunderstorm'\n\\item 'Thunderstorm'\n\\item 'Fog-Rain-Hail-Thunderstorm'\n\\end{enumerate*}\n", "text/markdown": "1. 'Rain'\n2. 'Rain-Snow'\n3. 'Clear'\n4. 'Snow'\n5. 'Fog-Rain'\n6. 'Fog-Snow'\n7. 'Fog-Rain-Snow'\n8. NA\n9. 'Fog-Rain-Thunderstorm'\n10. 'Fog'\n11. 'Rain-Thunderstorm'\n12. 'Thunderstorm'\n13. 'Fog-Rain-Hail-Thunderstorm'\n\n\n", "text/html": [ "\n", "
  1. 'Rain'
  2. 'Rain-Snow'
  3. 'Clear'
  4. 'Snow'
  5. 'Fog-Rain'
  6. 'Fog-Snow'
  7. 'Fog-Rain-Snow'
  8. NA
  9. 'Fog-Rain-Thunderstorm'
  10. 'Fog'
  11. 'Rain-Thunderstorm'
  12. 'Thunderstorm'
  13. 'Fog-Rain-Hail-Thunderstorm'
\n" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "HLVBLiEua4ZP" }, "source": [ "Reference: [Cleaning Messy Weather Dataset with tidyverse](https://www.rpubs.com/justinhtet/cleaning-messy-weather-dataset-with-tidyverse)" ] } ] }