class: center, middle # Making Data Tidy ### ACE Annual Meeting ### Cincinnati, OH #### Christopher Wolfe, MS #### 2018-09-22 --- # Outline .pull-left[ This will be an refresher/introductory course in basic data wrangling and exploration techniques using a collection of R packages. We will cover the following topics: - What is 'tidy' data? - Tidyverse packages - Data visualization ] .pull-right[ ![](http://r4ds.had.co.nz/cover.png) ] --- class: # Tidy Data What makes data 'tidy?' - Each variable forms a column - Each row forms an observation - Each type of observational unit forms a table **Data cleaning can take a lot of time!** - The tidy data framework provides a standard way of data organization and facilitates data exploration and analysis. --- # 'Messy' Data <table> <thead> <tr> <th style="text-align:left;"> STNID </th> <th style="text-align:left;"> YEAR </th> <th style="text-align:left;"> MONTH </th> <th style="text-align:left;"> weather_var </th> <th style="text-align:right;"> 01 </th> <th style="text-align:right;"> 02 </th> <th style="text-align:right;"> 03 </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> ELEV_M </td> <td style="text-align:right;"> 269.1 </td> <td style="text-align:right;"> 269.1 </td> <td style="text-align:right;"> 269.1 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> PRCP </td> <td style="text-align:right;"> 0.0 </td> <td style="text-align:right;"> 0.0 </td> <td style="text-align:right;"> 1.3 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> RH </td> <td style="text-align:right;"> 70.0 </td> <td style="text-align:right;"> 82.1 </td> <td style="text-align:right;"> 85.7 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> TEMP </td> <td style="text-align:right;"> 24.3 </td> <td style="text-align:right;"> 22.9 </td> <td style="text-align:right;"> 23.0 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> VISIB </td> <td style="text-align:right;"> 16.1 </td> <td style="text-align:right;"> 15.3 </td> <td style="text-align:right;"> 14.6 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2018 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> ELEV_M </td> <td style="text-align:right;"> 269.1 </td> <td style="text-align:right;"> 269.1 </td> <td style="text-align:right;"> 269.1 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2018 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> PRCP </td> <td style="text-align:right;"> 3.0 </td> <td style="text-align:right;"> 0.0 </td> <td style="text-align:right;"> 0.0 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2018 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> RH </td> <td style="text-align:right;"> 84.6 </td> <td style="text-align:right;"> 85.2 </td> <td style="text-align:right;"> 79.3 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2018 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> TEMP </td> <td style="text-align:right;"> 21.9 </td> <td style="text-align:right;"> 22.4 </td> <td style="text-align:right;"> 23.8 </td> </tr> </tbody> </table> .footnote[Cincinnati weather data downloaded from R package `GSODR`.] --- ## How to get from messy data ... <table> <thead> <tr> <th style="text-align:left;"> STNID </th> <th style="text-align:left;"> YEAR </th> <th style="text-align:left;"> MONTH </th> <th style="text-align:left;"> weather_var </th> <th style="text-align:right;"> 01 </th> <th style="text-align:right;"> 02 </th> <th style="text-align:right;"> 03 </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> ELEV_M </td> <td style="text-align:right;"> 269.1 </td> <td style="text-align:right;"> 269.1 </td> <td style="text-align:right;"> 269.1 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> PRCP </td> <td style="text-align:right;"> 0.0 </td> <td style="text-align:right;"> 0.0 </td> <td style="text-align:right;"> 1.3 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> RH </td> <td style="text-align:right;"> 70.0 </td> <td style="text-align:right;"> 82.1 </td> <td style="text-align:right;"> 85.7 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> TEMP </td> <td style="text-align:right;"> 24.3 </td> <td style="text-align:right;"> 22.9 </td> <td style="text-align:right;"> 23.0 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> VISIB </td> <td style="text-align:right;"> 16.1 </td> <td style="text-align:right;"> 15.3 </td> <td style="text-align:right;"> 14.6 </td> </tr> </tbody> </table> ## to tidy data... <table> <thead> <tr> <th style="text-align:left;"> STNID </th> <th style="text-align:left;"> YEAR </th> <th style="text-align:left;"> MONTH </th> <th style="text-align:left;"> DAY </th> <th style="text-align:right;"> TEMP </th> <th style="text-align:right;"> ELEV_M </th> <th style="text-align:right;"> VISIB </th> <th style="text-align:right;"> PRCP </th> <th style="text-align:right;"> RH </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> 01 </td> <td style="text-align:right;"> 24.3 </td> <td style="text-align:right;"> 269.1 </td> <td style="text-align:right;"> 16.1 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 70.0 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> 02 </td> <td style="text-align:right;"> 22.9 </td> <td style="text-align:right;"> 269.1 </td> <td style="text-align:right;"> 15.3 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 82.1 </td> </tr> </tbody> </table> --- # Tidyverse The `tidyverse` package is a collection of packages designed to work with each other to facilitate data cleaning and transformation (or 'wrangling'). [https://www.tidyverse.org/](https://www.tidyverse.org/) ```r library(tidyverse) ``` - **`ggplot`** - **`tibble`** - **`tidyr`** - `readr` - **`purrr`** - **`dplyr`** - `stringr` - `forcats` --- # %>% The pipe operator (`%>%`) allows you to 'pipe' multiple operations together, i.e. it takes the output of one operation and makes it the input of the next operation. So, ```r my_other_function(my_function(X, Y), Z) ``` is equivalent to ```r my_function(X, Y) %>% my_other_function(Z) ``` The pipe always assumes that the output of the function will be supplied as the *first* argument of the other function. If this is not the case, you can specify where it should go with a `.` ```r my_function(X, Y) %>% my_other_function(Z, .) ``` --- # %>% *This, in turn:* - makes your code concise and easy to read - mitigates the need to create intermediate data sets **The following code chunks achieve the same results:** ```r my_df <- data.frame(x = 1:100) * even_nums <- subset(my_df, x %% 2 == 0) * even_nums$squared <- even_nums$x ^ 2 * plot(even_nums$x, even_nums$squared) ``` ```r * my_df %>% * filter(x %% 2 == 0) %>% * mutate(squared = x ^ 2) %>% * plot() ``` --- # `tibble` Tibbles are a type of data frame, but with stricter requirements and better formatting. Unlike `data.frame`, **`tibbles:`** - never change an input variables type - never change the names of variables, i.e. '`my variable`' will not become `my.variable`) - subsetting (`[ ]`) a tibble will always return a tibble - never do partial matching when extracting columns using `$` - display a description of the column type when printed Use `as_tibble()` or `tibble()` to coerce an object into a tibble. ``` # A tibble: 2 x 9 STNID YEAR MONTH DAY TEMP ELEV_M VISIB PRCP RH <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> 1 724210-93814 2017 08 01 24.3 269. 16.1 0 70 2 724210-93814 2017 08 02 22.9 269. 15.3 0 82.1 ``` --- # `dplyr` The `dplyr` package contains an array of very useful functions for data manipulation: - **`select()`** - **`mutate()`** - **`rename()`** - **`filter()`** - **`group_by()`** - **`summarise()`** Other functions: - `case_when()` - `bind_rows()`, `bind_cols` - `inner_join`, `full_join()`, `anti_join()` --- # `dplyr::select()` `select()` enables you to keep and drop variables that you specify The syntax when used with `%>%` is: ```r * select(var1, var2, var3) # THIS KEEPS COLUMNS YOU SPECIFY * select(-var3) # ADDING A '-' PRIOR TO A VARIABLE WILL DROP IT ``` The example below creates a new variable selects the weather station ID, date information, and temperature. ```r temp_info <- cincy_clean %>% select(STNID, YEAR, MONTH, DAY, TEMP) #'select(STNID:TEMP) ALSO WORKS' ``` <table> <thead> <tr> <th style="text-align:left;"> STNID </th> <th style="text-align:left;"> YEAR </th> <th style="text-align:left;"> MONTH </th> <th style="text-align:left;"> DAY </th> <th style="text-align:right;"> TEMP </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> 01 </td> <td style="text-align:right;"> 24.3 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> 02 </td> <td style="text-align:right;"> 22.9 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> 03 </td> <td style="text-align:right;"> 23.0 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> 04 </td> <td style="text-align:right;"> 22.7 </td> </tr> </tbody> </table> --- # `dplyr::mutate()` `mutate()` adds new variables to a data frame, while preserving the existing columns of data. The syntax when used with `%>%` is: ```r * mutate(new_variable = definition, ...) ``` The example below creates a new variable`temp_measured_in_farenheit`. ```r farenheit <- temp_info %>% mutate(temp_measured_in_farenheit = TEMP * 1.8 + 32) ``` <table> <thead> <tr> <th style="text-align:left;"> STNID </th> <th style="text-align:left;"> YEAR </th> <th style="text-align:left;"> MONTH </th> <th style="text-align:left;"> DAY </th> <th style="text-align:right;"> TEMP </th> <th style="text-align:right;"> temp_measured_in_farenheit </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> 01 </td> <td style="text-align:right;"> 24.3 </td> <td style="text-align:right;"> 75.74 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> 02 </td> <td style="text-align:right;"> 22.9 </td> <td style="text-align:right;"> 73.22 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> 03 </td> <td style="text-align:right;"> 23.0 </td> <td style="text-align:right;"> 73.40 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> 04 </td> <td style="text-align:right;"> 22.7 </td> <td style="text-align:right;"> 72.86 </td> </tr> </tbody> </table> --- # `dplyr::rename()` `rename()` allows you to rename a variable within a data frame. The syntax when used with `%>%` is: ```r * rename(new_variable_name = old_variable_name, ...) ``` The example below renames `temp_measured_in_farenheit` to `TEMP_F`. ```r farenheit2 <- farenheit %>% rename(TEMP_F = temp_measured_in_farenheit) ``` <table> <thead> <tr> <th style="text-align:left;"> STNID </th> <th style="text-align:left;"> YEAR </th> <th style="text-align:left;"> MONTH </th> <th style="text-align:left;"> DAY </th> <th style="text-align:right;"> TEMP </th> <th style="text-align:right;"> TEMP_F </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> 01 </td> <td style="text-align:right;"> 24.3 </td> <td style="text-align:right;"> 75.74 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> 02 </td> <td style="text-align:right;"> 22.9 </td> <td style="text-align:right;"> 73.22 </td> </tr> </tbody> </table> --- # `dplyr::filter()` `filter()` allows you to filter a data frame based on specified conditions. The syntax when used with `%>%` is: ```r * filter(my_variable, condition) ``` The example below filters our data frame based on values of `TEMP_F`. ```r farenheit_filter <- farenheit2 %>% filter(TEMP_F > 79) ``` <table> <thead> <tr> <th style="text-align:left;"> STNID </th> <th style="text-align:left;"> YEAR </th> <th style="text-align:left;"> MONTH </th> <th style="text-align:left;"> DAY </th> <th style="text-align:right;"> TEMP </th> <th style="text-align:right;"> TEMP_F </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> 21 </td> <td style="text-align:right;"> 26.4 </td> <td style="text-align:right;"> 79.52 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2018 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> 04 </td> <td style="text-align:right;"> 26.2 </td> <td style="text-align:right;"> 79.16 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2018 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> 05 </td> <td style="text-align:right;"> 26.7 </td> <td style="text-align:right;"> 80.06 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2018 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> 06 </td> <td style="text-align:right;"> 26.4 </td> <td style="text-align:right;"> 79.52 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2018 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> 27 </td> <td style="text-align:right;"> 27.1 </td> <td style="text-align:right;"> 80.78 </td> </tr> </tbody> </table> --- ## `dplyr::group_by()` & `summarise()` `group_by()` takes an existing data frame and creates a 'grouped' table based on specified conditions--any functions or operations applied to the table are performed on each group `summarise()` collapses observations in a data frame to a single summary statistic. `group_by()` and `summarise()` make work well together. The syntax when used with `%>%` is: ```r * group_by(my_group_variable) %>% * summarise(new_variable = a_function(another_variable)) # SUMMARISE TAKES COMMON SUMMARY FUNCTIONS LIKE: # MEAN(), MEDIAN(), ETC. ``` --- ## `dplyr::group_by()` & `summarise()` The code below: 1. groups the weather data by year 2. computes the number of observations for each year and the mean and standard deviation of the temperatures: ```r temp_summary <- farenheit2 %>% group_by(YEAR) %>% summarise(n = n(), mean_tempF = mean(TEMP_F, na.rm = TRUE), sd_tempF = sd(TEMP_F)) ``` <table> <thead> <tr> <th style="text-align:left;"> YEAR </th> <th style="text-align:right;"> n </th> <th style="text-align:right;"> mean_tempF </th> <th style="text-align:right;"> sd_tempF </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 2017 </td> <td style="text-align:right;"> 31 </td> <td style="text-align:right;"> 72.52323 </td> <td style="text-align:right;"> 3.926515 </td> </tr> <tr> <td style="text-align:left;"> 2018 </td> <td style="text-align:right;"> 31 </td> <td style="text-align:right;"> 75.37419 </td> <td style="text-align:right;"> 3.354150 </td> </tr> </tbody> </table> --- # `tidyr` The `tidyr` was designed specifically for data tidying and has many functions that interplay with `dplyr` functions: - **`spread()`** - **`gather()`** - **`unite()`** Other functions: - `separate()` - `nest()` - `drop_na()` --- # `tidyr::gather()` `gather()` takes multiple columns and collapses them into 'key-value' pairs. The `gather()` funtion is especially useful when you have columns that are not variables. The syntax when used with `%>%` is: ```r * gather(key, value, columns_to_gather) # THE 'KEY' DESCRIBES THE COLUMN NAMES COLLECTED # THE 'VALUE' DESCRIBES THE DATA WITHIN EACH COLUMN COLLECTED ``` <table> <thead> <tr> <th style="text-align:left;"> STNID </th> <th style="text-align:left;"> YEAR </th> <th style="text-align:left;"> MONTH </th> <th style="text-align:left;"> weather_var </th> <th style="text-align:right;"> 01 </th> <th style="text-align:right;"> 02 </th> <th style="text-align:right;"> 03 </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> RH </td> <td style="text-align:right;"> 70.0 </td> <td style="text-align:right;"> 82.1 </td> <td style="text-align:right;"> 85.7 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> TEMP </td> <td style="text-align:right;"> 24.3 </td> <td style="text-align:right;"> 22.9 </td> <td style="text-align:right;"> 23.0 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2018 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> RH </td> <td style="text-align:right;"> 84.6 </td> <td style="text-align:right;"> 85.2 </td> <td style="text-align:right;"> 79.3 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2018 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> TEMP </td> <td style="text-align:right;"> 21.9 </td> <td style="text-align:right;"> 22.4 </td> <td style="text-align:right;"> 23.8 </td> </tr> </tbody> </table> --- # `tidyr::gather()` <table> <thead> <tr> <th style="text-align:left;"> STNID </th> <th style="text-align:left;"> YEAR </th> <th style="text-align:left;"> MONTH </th> <th style="text-align:left;"> weather_var </th> <th style="text-align:right;"> 01 </th> <th style="text-align:right;"> 02 </th> <th style="text-align:right;"> 03 </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> RH </td> <td style="text-align:right;"> 70.0 </td> <td style="text-align:right;"> 82.1 </td> <td style="text-align:right;"> 85.7 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> TEMP </td> <td style="text-align:right;"> 24.3 </td> <td style="text-align:right;"> 22.9 </td> <td style="text-align:right;"> 23.0 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2018 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> RH </td> <td style="text-align:right;"> 84.6 </td> <td style="text-align:right;"> 85.2 </td> <td style="text-align:right;"> 79.3 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2018 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> TEMP </td> <td style="text-align:right;"> 21.9 </td> <td style="text-align:right;"> 22.4 </td> <td style="text-align:right;"> 23.8 </td> </tr> </tbody> </table> ```r day_gather <- messy_temp %>% gather(key = DAY, weather_value, 5:7) ``` <table> <thead> <tr> <th style="text-align:left;"> STNID </th> <th style="text-align:left;"> YEAR </th> <th style="text-align:left;"> MONTH </th> <th style="text-align:left;"> weather_var </th> <th style="text-align:left;"> DAY </th> <th style="text-align:right;"> weather_value </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> RH </td> <td style="text-align:left;"> 01 </td> <td style="text-align:right;"> 70.0 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> TEMP </td> <td style="text-align:left;"> 01 </td> <td style="text-align:right;"> 24.3 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2018 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> RH </td> <td style="text-align:left;"> 01 </td> <td style="text-align:right;"> 84.6 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2018 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> TEMP </td> <td style="text-align:left;"> 01 </td> <td style="text-align:right;"> 21.9 </td> </tr> </tbody> </table> --- # `tidyr::spread()` `spread()` will extend a 'key-value' pair across multiple columns. Use `spread()` to put your data in 'wide' format. The syntax when used with `%>%` is: ```r * spread(key, value, ...) # THE 'KEY' IS A COLUMN THAT DESCRIBES THE INFORMATION # THE 'VALUE' IS THE DATA THAT IS TO BE SPREAD ``` <table> <thead> <tr> <th style="text-align:left;"> STNID </th> <th style="text-align:left;"> YEAR </th> <th style="text-align:left;"> MONTH </th> <th style="text-align:left;"> weather_var </th> <th style="text-align:left;"> DAY </th> <th style="text-align:right;"> weather_value </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> RH </td> <td style="text-align:left;"> 01 </td> <td style="text-align:right;"> 70.0 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> TEMP </td> <td style="text-align:left;"> 01 </td> <td style="text-align:right;"> 24.3 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2018 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> RH </td> <td style="text-align:left;"> 01 </td> <td style="text-align:right;"> 84.6 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2018 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> TEMP </td> <td style="text-align:left;"> 01 </td> <td style="text-align:right;"> 21.9 </td> </tr> </tbody> </table> --- # `tidyr::spread()` <table> <thead> <tr> <th style="text-align:left;"> STNID </th> <th style="text-align:left;"> YEAR </th> <th style="text-align:left;"> MONTH </th> <th style="text-align:left;"> weather_var </th> <th style="text-align:left;"> DAY </th> <th style="text-align:right;"> weather_value </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> RH </td> <td style="text-align:left;"> 01 </td> <td style="text-align:right;"> 70.0 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> TEMP </td> <td style="text-align:left;"> 01 </td> <td style="text-align:right;"> 24.3 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2018 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> RH </td> <td style="text-align:left;"> 01 </td> <td style="text-align:right;"> 84.6 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2018 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> TEMP </td> <td style="text-align:left;"> 01 </td> <td style="text-align:right;"> 21.9 </td> </tr> </tbody> </table> ```r spread_weather <- day_gather %>% spread(key = weather_var, weather_value) ``` <table> <thead> <tr> <th style="text-align:left;"> STNID </th> <th style="text-align:left;"> YEAR </th> <th style="text-align:left;"> MONTH </th> <th style="text-align:left;"> DAY </th> <th style="text-align:right;"> RH </th> <th style="text-align:right;"> TEMP </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> 01 </td> <td style="text-align:right;"> 70.0 </td> <td style="text-align:right;"> 24.3 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> 02 </td> <td style="text-align:right;"> 82.1 </td> <td style="text-align:right;"> 22.9 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> 03 </td> <td style="text-align:right;"> 85.7 </td> <td style="text-align:right;"> 23.0 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2018 </td> <td style="text-align:left;"> 08 </td> <td style="text-align:left;"> 01 </td> <td style="text-align:right;"> 84.6 </td> <td style="text-align:right;"> 21.9 </td> </tr> </tbody> </table> --- # `tidyr::unite()` `unite()` pastes data from multiple columns into one column. The syntax when used with `%>%` is: ```r * unite(name_of_new_column, columns_to_unite, sep = " ", ...) ``` There separate colmuns for `YEAR`, `MONTH`, and `DAY`--`unite()` can be used to create one `DATE` variable. ```r date_unite <- spread_weather %>% unite(DATE, YEAR:DAY, sep = "-") ``` <table> <thead> <tr> <th style="text-align:left;"> STNID </th> <th style="text-align:left;"> DATE </th> <th style="text-align:right;"> RH </th> <th style="text-align:right;"> TEMP </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017-08-01 </td> <td style="text-align:right;"> 70.0 </td> <td style="text-align:right;"> 24.3 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017-08-02 </td> <td style="text-align:right;"> 82.1 </td> <td style="text-align:right;"> 22.9 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2017-08-03 </td> <td style="text-align:right;"> 85.7 </td> <td style="text-align:right;"> 23.0 </td> </tr> <tr> <td style="text-align:left;"> 724210-93814 </td> <td style="text-align:left;"> 2018-08-01 </td> <td style="text-align:right;"> 84.6 </td> <td style="text-align:right;"> 21.9 </td> </tr> </tbody> </table> --- # `purrr::map()` The `purrr` packaged consists of tools for functional programming and working with vectors. One of the most useful *(in my opinion)* is `map()`, which allows you to apply a function to each element of a vector. `map()` is great for simplifying code for iterations. Here is the syntax: ```r * map(.x, .fun, ...) ``` - `.x` is the list or vector you with to map over - `.f` is a function, formula, or vector - formulas are converted to functions and vectors are converted to extractor functions - `...` contains additional arguments passed on to `.f` See `?purrr::map` for details on functions as formulas and methods for specifying extractor functions --- # `purrr::map()` - `map()` will *always* return a list - `map()` derivatives, e.g. `map_lgl()`, `map_dbl()`, are type strict and will always return the specified type or die trying - others include: `map_if()`, `map_at()`, `walk()` --- # `purrr::map()` Let's say I want to know the mean of each weather value in my data frame: ```r date_unite %>% select(TEMP, RH) %>% map_dbl(mean) ``` ``` TEMP RH 23.05 81.15 ``` --- # `purrr::map()` `map()` can also be used to apply a linear model or other function such as a correlation. The following code divides our weather data frame by 'YEAR' and then calculates the correlation between temperature and relative humidity for each year ```r cincy_clean %>% split(.$YEAR) %>% # SPLIT() DIVIDES THE DATA BASED ON A CONDITION map(~cor(.$TEMP, .$RH)) ``` ``` $`2017` [1] 0.2638113 $`2018` [1] 0.01738311 ``` --- # `stringr`, `readr` & `forcats` The `stringr` packaged enables you to manipulate text and strings of text easily - `str_detect` - `str_replace` - `str_remove` - `str_trim` - `str_squish` - `str_sort` The `readr` package enables you to manipulate text and strings of text easily - `read_csv` - `read_tsv` - `write_csv` The `forcats` package for reordering and modifying factor levels - `fct_count` - `fct_lump` --- # `ggplot2` The `ggplot2` is a versatile data visualization and graphics package. R has base graphing funtions, but `ggplot2` is far superior (*in my opinion*). With `ggplot2`, you begin a plot with the function `ggplot()`. - `ggplot()` creates a coordinate system that you can add layers to. - The first argument of `ggplot()` is the dataset to use in the graph. ```r * ggplot2::ggplot(data = my_data) # THIS CREATES A BLANK TEMPLATE ``` From there, you can add one or more layers to the template. Layers are added through 'geom functions'. Each geom function is preceded by a plus sign (+). For `ggplot` the plus sign act similarly to the `%>%` opearator. ```r * ggplot2::ggplot(data = my_data) + * geom_point() # THIS CREATES A SCATTER PLOT ``` --- # `ggplot2` - each geom function takes a `asthetic` argument, which defines how variables in your data are mapped to visual properties - when specified within `ggplot()`, all other layers in the plot will inherit it. - `x` and `y` arguments of `aes()` specify which variables to map to the X and Y axes. - you can also map a third variable to your asthetic, to distinguish specific points or visually evaluate a hypothesis. - you can specify this third variable to be a specific color, shape, size, etc. --- ##### The following code creates a scatter plot of temperature and humidity: ```r ggplot2::ggplot(data = cincy_clean, aes(x = TEMP, y = RH)) + geom_point() ``` ![](data:image/png;base64,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)<!-- --> --- ```r ggplot2::ggplot(data = cincy_clean) + * geom_point(mapping = aes(x = TEMP, y = RH, color = YEAR)) ``` ![](data:image/png;base64,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)<!-- --> --- ```r ggplot2::ggplot(data = cincy_clean, aes(x = TEMP, y = RH)) + geom_point() + * facet_wrap(~YEAR) ``` ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfgAAAH4CAYAAACmKP9/AAAEGWlDQ1BrQ0dDb2xvclNwYWNlR2VuZXJpY1JHQgAAOI2NVV1oHFUUPrtzZyMkzlNsNIV0qD8NJQ2TVjShtLp/3d02bpZJNtoi6GT27s6Yyc44M7v9oU9FUHwx6psUxL+3gCAo9Q/bPrQvlQol2tQgKD60+INQ6Ium65k7M5lpurHeZe58853vnnvuuWfvBei5qliWkRQBFpquLRcy4nOHj4g9K5CEh6AXBqFXUR0rXalMAjZPC3e1W99Dwntf2dXd/p+tt0YdFSBxH2Kz5qgLiI8B8KdVy3YBevqRHz/qWh72Yui3MUDEL3q44WPXw3M+fo1pZuQs4tOIBVVTaoiXEI/MxfhGDPsxsNZfoE1q66ro5aJim3XdoLFw72H+n23BaIXzbcOnz5mfPoTvYVz7KzUl5+FRxEuqkp9G/Ajia219thzg25abkRE/BpDc3pqvphHvRFys2weqvp+krbWKIX7nhDbzLOItiM8358pTwdirqpPFnMF2xLc1WvLyOwTAibpbmvHHcvttU57y5+XqNZrLe3lE/Pq8eUj2fXKfOe3pfOjzhJYtB/yll5SDFcSDiH+hRkH25+L+sdxKEAMZahrlSX8ukqMOWy/jXW2m6M9LDBc31B9LFuv6gVKg/0Szi3KAr1kGq1GMjU/aLbnq6/lRxc4XfJ98hTargX++DbMJBSiYMIe9Ck1YAxFkKEAG3xbYaKmDDgYyFK0UGYpfoWYXG+fAPPI6tJnNwb7ClP7IyF+D+bjOtCpkhz6CFrIa/I6sFtNl8auFXGMTP34sNwI/JhkgEtmDz14ySfaRcTIBInmKPE32kxyyE2Tv+thKbEVePDfW/byMM1Kmm0XdObS7oGD/MypMXFPXrCwOtoYjyyn7BV29/MZfsVzpLDdRtuIZnbpXzvlf+ev8MvYr/Gqk4H/kV/G3csdazLuyTMPsbFhzd1UabQbjFvDRmcWJxR3zcfHkVw9GfpbJmeev9F08WW8uDkaslwX6avlWGU6NRKz0g/SHtCy9J30o/ca9zX3Kfc19zn3BXQKRO8ud477hLnAfc1/G9mrzGlrfexZ5GLdn6ZZrrEohI2wVHhZywjbhUWEy8icMCGNCUdiBlq3r+xafL549HQ5jH+an+1y+LlYBifuxAvRN/lVVVOlwlCkdVm9NOL5BE4wkQ2SMlDZU97hX86EilU/lUmkQUztTE6mx1EEPh7OmdqBtAvv8HdWpbrJS6tJj3n0CWdM6busNzRV3S9KTYhqvNiqWmuroiKgYhshMjmhTh9ptWhsF7970j/SbMrsPE1suR5z7DMC+P/Hs+y7ijrQAlhyAgccjbhjPygfeBTjzhNqy28EdkUh8C+DU9+z2v/oyeH791OncxHOs5y2AtTc7nb/f73TWPkD/qwBnjX8BoJ98VQNcC+8AAEAASURBVHgB7d0JvF3T3f/x381wb+Z5HoSQGIIQIUEJMRRJkNC0hpZSY4xVKlQ06ZNqtaXRVgU1NEiJKKn+1VTUVFENQSVkRiTIPA8393+/63n26bnXGe6wz57OZ71e955z9j5nr7Xea539O3tau6SiMhkJAQQQQAABBBIl0CBRtaEyCCCAAAIIIOAECPB0BAQQQAABBBIoQIBPYKNSJQQQQAABBAjw9AEEEEAAAQQSKNAoCnVavXq1bdq0KQpFoQwIIPB/Al27ds1o8dlnn2WczkQEEAhHoEWLFtayZcuvZB6JAL9mzRpTkCchgEB0BLIF+M8//zw6haQkCCDgBDIFeHbR0zkQQAABBBBIoAABPoGNSpUQQAABBBAgwNMHEEAAAQQQSKAAAT6BjUqVEEAAAQQQIMDTB2osUF5ebu+//76tXbs29RlNe/fdd+2LL75ITdOTrVu32qJFi9y0ZcuW2QcffJD6+/LLL910/iGAQOEEVqxYYXPmzKmSwfz5823BggVVpunF3LlzU9N27Njhvufr169PTeNJPAUa/rgyhV10nUW/efPmsItB/jkEFMivueYa0+UY06dPt9atW1uXLl3sxhtvtJKSEnvooYesb9++1rZtW9u4caP9/Oc/NwXyAQMG2OzZs23WrFn28ccf25/+9Cfr2LGj9e7dO0duzIqCgNo3U1q+fHmmyUyLkMCzzz5rf/3rX2379u02depUGzp0qN177702b948e/311913tE+fPqZbkeg7qe/0CSec4Gpw3XXXWbNmzWzKlCm25557uu96hKpGUTIING/ePLqXyWUoL5MiJqBgPWrUKDv00ENNK4ZnnnnG1KkUBL75zW/aPvvsY0899ZSNGTPG7rzzTuvVq5dbuagahxxyiPvTlsPixYvt6KOPjljtKA4CyRLYtm2bXX755dakSRN78803TVvzb7/9tk2aNMl9L3/wgx/Y8ccfbzNmzLCysjL3I10CGzZscGOSnHTSSW6aPtOzZ89k4RRRbSJxHXwRece2qp07dzb9aUv+0UcfteOOO860693bytM8b8vuiiuucFvtM2fOrFLfyZMnu5VOlYm8QAAB3wW8rXEdGtPhsgYNGqS2xBs1apT68a1ArvTiiy+6R/1o1w/4Cy+80H3utttuc9P5F08BjsHHs91CKbV29/30pz91u90HDRrkVho6XqekwK+thWxp6dKlphVLt27dsr2F6Qgg4KPAO++8Y/pRPW7cOGvYsKF531Vloe9ipqS9bPqu3nrrrW6P3cMPP5zpbUyLiQABPiYNFXYxtXL4yU9+YkOGDLERI0a44uy0005ul7teaNd7rl15r7zyih155JFhV4P8ESgKAe1aV3CeOHGiOy+mVatWqZNjtRu+adOmGR3WrVvnzqXRfB12W7VqVcb3MTEeApl/xsWj7JQyQIEXXnjBnS2vM2ufeOIJ9+U/++yzrV27dm6rXsf4xo8fn7VEOqN+4MCBWeczAwEE/BPQFrhOiNXWu9JVV13ltsj1I11B+9xzz82YWf/+/e3555837ZrX8OHf/va3M76PifEQKKk8i7Ii7KJq64+x6MNuhbrnr2N8paWldV8An4ykgFb2mZJ2/ZLiKaDDbDoer79cie90Lp3ozevUqZNluncEW/DRa6vYlYjgHrsmo8BFKpDt2Ht1Dr7T1UXi+Tr3z7h41olSI4AAAgggUPQCBPii7wIAIIAAAggkUYAAn8RWpU4IIIAAAkUvEIlj8Br2VKMp+Zk0YIMuBwkyqQ76Sx+rPYj8df35li1b3LCTQeTn5dGhQwc3HK33OohHDYur+m7atCmI7FJ5tGzZ0jQ6WNBDKofRj3X8NdtlVALRoEZ+JuUl16DP9w2j/+rkNvkG3Y90mZzWEfoLMoXZfzUEepBJ636dxKgxQYJM7du3z9qukQjw+mL7/eVWIPB7mfkaTXnqCxxGvipb0Pl6J+wEnW8Ybat2DSPfMPJUX9LAKNmS3+3t1dHv5WYrv6YrT/XfIPNUvsrPq69eB5WKqf/KN6z1sNo36D6lfpztByO76IP6hpEPAggggAACAQoQ4APEJisEEEAAAQSCEiDAByVNPggggAACCAQoQIAPEJusEEAAAQQQCEqAAB+UNPkggAACCCAQoAABPkBsskIAAQQQQCAoAQJ8UNLkgwACCCCAQIACBPgAsckKAQQQQACBoAQI8EFJkw8CCCCAAAIBChDgA8QmKwQQQAABBIISIMAHJU0+CCCAAAIIBChAgA8Qm6wQQAABBBAISoAAH5Q0+SCAAAIIIBCgAAE+QGyyQgABBBBAICgBAnxQ0uSDAAIIIIBAgAIE+ACxyQoBBBBAAIGgBAjwQUmTDwIIIFBHge3bt9v1119vRxxxhB100EG2du3aOi6JjxWTAAG+mFqbuiKAQCwFxowZY1OmTLEPP/zQPvnkE7vkkktiWQ8KHawAAT5Yb3JDAAEEai3w5ZdfmrbivTR//nzvKY8IZBUgwGelYQYCCCAQDYHDDz/cSktLXWEaNGhgJSUl0SgYpYi0QKNIl47CIYAAAgjYpZdeaosWLbL33nvP+vfvbxMmTEAFgbwCBPi8RLwBAQQQCFdAW+233npruIUg99gJsIs+dk1GgRFAAAEEEMgvQIDPb8Q7EEAAAQQQiJ0AAT52TUaBEUAAAQQQyC9AgM9vxDsQQAABBBCInQABPnZNRoERQAABBBDIL0CAz2/EOxBAAAEEEIidAAE+dk1GgRFAAAEEEMgvQIDPb8Q7EEAAAQQQiJ1AJAa6adiwobVs2dJXPA3r6Pcy8xWwUaNGpr+g823cuLHLt6KiIl8RfZ/fokUL35eZb4Gqrwb+CDKpXTU8qPpqkCmMfqw65qqn3/07jPb02tDvunjLzfaoPqS+lMs322frM115NmnSxOVdn+XU9rNh9t+g21bG6sthrIezDV0ciQBfXl5uGzZsqG3fyfl+Ne66detyvsfvmU2bNnVfoqDzbdasmW3evNl27Njhd5VyLk/Bff369YF2aHVk1dfv/pKzopUztULeunWrbdy4Md9bfZ0fRj8uKytz9c0WhPzu382bN3euQa4Y1Y/Uf/2uS77G1w9TBdqg+5GCj9YRmzZtyldEX+eH0X/lK+eg21brf60jFM+CTPr+ZPvuBLsZFGStyQsBBBBAAIEiFiDAF3HjU3UEEEAAgeQKEOCT27bUDAEEEECgiAUI8EXc+FQdAQQQQCC5AgT45LYtNUMAAQQQKGIBAnwRNz5VRwABBBBIrgABPrltS80QQAABBIpYgABfxI1P1RFAAAEEkitAgE9u21IzBBBAAIEiFiDAF3HjU3UEEEAAgeQKEOCT27bUDAEEEECgiAUI8EXc+FQdAQQQQCC5AgT45LYtNUMAAQQQKGKBSNxNroj9qToCCCBQ1ALbt2+3J5980t39rUePHrZw4ULbZZdd7MgjjyxqFz8qT4D3Q5FlIIAAAgjUSeCMM86wf//736lb6OrWp+3atbNLLrnELrzwwjotkw/9rwC76OkJCCCAAAKhCHz00Uc2Z84c27Bhg7unuXdf85UrV9q0adNCKVOSMiXAJ6k1qQsCCCAQI4GmTZtakyZNMpZ42bJlGaczseYCBPiaW/FOBBBAAAEfBXTM/ZxzzrGysjLr1KmTW3Lnzp2tS5cudvfdd/uYU3EuimPwxdnu1BoBBBCIhMAFF1xgRxxxhDsG3717d3eSnR4V/En1EyDA18+PTyOAAAII1FNg9913Ty3B25JPTeBJnQXYRV9nOj6IAAIIIIBAdAUI8NFtG0qGAAIIIIBAnQUI8HWm44MIIIAAAghEV4AAH922oWQIIIAAAgjUWYAAX2c6PogAAggggEB0BQjw0W0bSoYAAggggECdBQjwdabjgwgggAACCERXgAAf3bahZAgggAACCNRZgABfZzo+iAACCCCAQHQFCPABtc3cuXNt5syZtmXLloByJBsEEEAAgWIWYKjaAFp/ypQpduutt1p5ebkbb/mNN95w9zsOIGuyQAABBBAoUgG24Avc8CtWrLDx48ebbn34xRdfuAA/efLkAufK4hFAAAEEil2AAF/gHrBt27bUbRCVVUVFhX322WcFzpXFI4AAAggUuwABvo49QFvks2fPdlvkuRah+xofcsghVlpaaiUlJe7xyiuvzPUR5iGAAAIIIFBvAY7B14HwrbfeMt3DWEmB/l//+pcpkGdLv/zlL23o0KG2evVqGzx4sO2yyy7Z3sp0BBBAAAEEfBEgwNeB8cwzz7Q1a9akPnnTTTfZpEmTUq8zPTnhhBMyTWYaAggggAACBRFgF30dWKtvrc+fP78OS+EjCCCAAAIIFE6AAF8H25NOOslat27tPtm0aVO79NJL67AUPoIAAggggEDhBNhFXwfbK664wh1HX7x4sR144IF28MEH12EpfAQBBBBAAIHCCRDg62irrXgSAggggAACURVgF31UW4ZyIYAAAgggUA8BAnw98PgoAggggAACURUgwEe1ZSgXAggggAAC9RAgwNcDj48igAACCCAQVQECfFRb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gAH2/vvvB/4DNQzUMWPG2NChQ+2UU04JI/tA89SGx0MPPWT3339/oPmGldm+++7rgnznzp2/UgR20X+FhAkIIIAAAgjEX6DhjytT/KsRjRpobOvddtst8N1gYdReuzV79uxpe+21V+A3fgmjvh06dLC+fftapt1gYZSnkHlqTO1dd93VevXqVchsQl22dqeqfnvuuae7iVCohQkg844dO9ruu+9urVu3DiC3cLPQvSq0Htb6qRiStx7OdCMhdtEXQw+gjggggAACRScQibvJxU1dJyDpjlveCSs6Hq1jeV27dnUnslSvj076+Oyzz2zvvfcO/DaR1ctS29dffvml6aQrbel4KdM0b96HH35o8lDaeeed3Z3fvHlRf9RJmf/5z3/cll2rVq1ccfPVZ968ee592mKIW0rvx2qzuXPnVqmCzrHw0pYtW2z+/PneS7fnJvUiwk8y9dVc30cdm58zZ47tsccesTu3JFP/1V3rPvroI9deupVpelq1apVbL2mazqOJ2x6b9P6rOuSrT6521+ejnKq3o9Y7+k56aZdddqmyrvXWW+yi94Rq+PiLX/zCVqxYYW+//bYLBvvtt59df/31bjffAw884FYM7dq1Sy3tzTfftD/84Q/u9pA6a/ewww5LzYv6k7/97W82Y8YMF7BVN50xn2maVw91uKuuusq9XLJkiVthBH1PZq8stX3UylEn0qm8jzzyiDtjvn379jnrc9ddd7mV56uvvuraV7vw45Kq92MdavnLX/5iarf33nvPpk6dat/4xjdS1dFZ2DppSSsavWfgwIGpeVF9kqmv5vo+rly50q677jq3otR3NowrROpqman/atqECRPcYSWd+Hv44Ye7DRMvjylTprj1mAKf2lW78OOSqvdfXbmUqz652j3qdf7444+/0o4vv/yyKYjraoHf/va3duyxx7p1l+qSvh7WfWRJNRSo/MJUPProo+7dlZf1VZx99tkVH3zwQcWvf/1rN61yxZh67i3ymmuuqVi7dq17+YMf/KBizZo13qzIP1YG94rK+0e7clYGv4rKLfmKTNO8ilRu/VbcfvvtFZUrSm9SbB6XLVtW8dJLL7nyVl4SV3HzzTdX5KvPRRdd5N6vvuA9j0OFM/Xj9HKPHz++4t13302fVPHggw9WvPbaaxWVW0lVpkf5Raa+muv7WHnmdaoPVAaL1PMo19Er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)<!-- --> --- # `ggplot2` `ggplot2` can be a lot more exciting! Other common geoms include: - `geom_boxplot()` - `geom_line()` - `geom_boxplot()` - `geom_bar()` - `geom_histogram()` - `geom_density()` - **`geom_sf()`** If you are looking to visually display your data, it is likely that `ggplot2` can do it. --- # Other Packages ```r library(ggrepel) library(viridis) library(readxl) library(lubridate) ``` - `lubridate`: collection of functions that makes working with dates and time easy - `ggrepel`: annotate plots--great for timeseries data - `viridis`: color palette--sharp, virbrant colors that print well in grey scale - `readxl`: import *.xlsx* in tidy format --- # `tidycensus` `tidycensus` is an R packaged designed to easily retrieve US Census data from the Census API in a tidy format. - Data from the 5-year American Community Survey is can also be downloaded `tidycensus` also can be used to download corresponding spatial data such as census tract and county polygons using the `tigris` package. - Spatial data is returned with simple feature (`sf`) geometry. **`tidycensus` was designed to be used with `tidyverse` packages so that data can be manipulated, analyzed, and displayed clearly and easily.** --- # `tidycensus` To start, you must obtain a Census API key from: http://api.census.gov/data/key_signup.html The two basic functions for retrieving data are: 1. `get_decennial()` 2. `get_acs()` `get_decennial()` and `get_acs()` take similar options. Here is the syntax: ```r get_acs( * geography = , # "STATE", "COUNTY", "TRACT" * variables = , # NAME OF GEOGRAPHIC OR DEMOGRAPHIC VARIABLE(S) TO RETRIEVE * year = , # YEAR OF CENSUS * geometry = ) # LOGICAL - IF TRUE, RETURNS SIMPLE FEATURE GEOMETRY ``` .footnote[ https://walkerke.github.io/tidycensus/articles/basic-usage.html ] --- # `tidycensus` `tidycensus` provides includes a command to search census tract and ACS variables: `tidycensus::load_variables()` The following code pulls down a table of ACS variables from 2010: ```r *acs_vars <- tidycensus::load_variables("2010", "acs5") ``` *There are over 20K variables that get returned!* To search for ACS variables, open the `acs_vars` data frame in the RStudio viewr and use the filter function or search box. <table> <thead> <tr> <th style="text-align:left;"> name </th> <th style="text-align:left;"> label </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> B06011_001 </td> <td style="text-align:left;"> Estimate!!Median income in the past 12 months!!Total </td> </tr> <tr> <td style="text-align:left;"> B06011_002 </td> <td style="text-align:left;"> Estimate!!Median income in the past 12 months!!Total!!Born in state of residence </td> </tr> <tr> <td style="text-align:left;"> B06011_003 </td> <td style="text-align:left;"> Estimate!!Median income in the past 12 months!!Total!!Born in other state of the United States </td> </tr> </tbody> </table> --- # `tidycensus` The following code downloads the median houshold income for every county in Ohio: ```r county_income <- get_acs( geography = "county", state = "ohio", year = 2010, * variables = "B06011_001") ``` <table> <thead> <tr> <th style="text-align:left;"> GEOID </th> <th style="text-align:left;"> NAME </th> <th style="text-align:left;"> variable </th> <th style="text-align:right;"> estimate </th> <th style="text-align:right;"> moe </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 39001 </td> <td style="text-align:left;"> Adams County, Ohio </td> <td style="text-align:left;"> B06011_001 </td> <td style="text-align:right;"> 17265 </td> <td style="text-align:right;"> 846 </td> </tr> <tr> <td style="text-align:left;"> 39003 </td> <td style="text-align:left;"> Allen County, Ohio </td> <td style="text-align:left;"> B06011_001 </td> <td style="text-align:right;"> 22109 </td> <td style="text-align:right;"> 565 </td> </tr> <tr> <td style="text-align:left;"> 39005 </td> <td style="text-align:left;"> Ashland County, Ohio </td> <td style="text-align:left;"> B06011_001 </td> <td style="text-align:right;"> 22638 </td> <td style="text-align:right;"> 898 </td> </tr> <tr> <td style="text-align:left;"> 39007 </td> <td style="text-align:left;"> Ashtabula County, Ohio </td> <td style="text-align:left;"> B06011_001 </td> <td style="text-align:right;"> 20546 </td> <td style="text-align:right;"> 438 </td> </tr> <tr> <td style="text-align:left;"> 39009 </td> <td style="text-align:left;"> Athens County, Ohio </td> <td style="text-align:left;"> B06011_001 </td> <td style="text-align:right;"> 11886 </td> <td style="text-align:right;"> 533 </td> </tr> </tbody> </table> --- # References R for Data Science - http://r4ds.had.co.nz/ `tidycensus` - https://walkerke.github.io/tidycensus/ GSODR - https://github.com/ropensci/GSODR