From d43fd71113abaa19b5875a5d6705f6ec1ce04293 Mon Sep 17 00:00:00 2001 From: Brooke Anderson Date: Wed, 26 Aug 2020 01:53:02 -0600 Subject: [PATCH] Make some edits to in-course exercise --- 01-prelim.Rmd | 62 +- RProgrammingForResearch.log | 836 +++++++++--------- docs/RProgrammingForResearch.pdf | Bin 18402875 -> 18522930 bytes .../figure-html/gg-1.png | Bin 42942 -> 42169 bytes .../figure-html/q-1.png | Bin 43994 -> 45324 bytes .../figure-html/unnamed-chunk-250-1.png | Bin 44817 -> 48292 bytes .../figure-html/unnamed-chunk-324-1.png | Bin 62743 -> 63980 bytes .../figure-html/unnamed-chunk-526-1.png | Bin 285479 -> 286479 bytes .../figure-html/unnamed-chunk-527-1.png | Bin 107934 -> 108490 bytes .../figure-html/unnamed-chunk-535-1.png | Bin 129861 -> 130020 bytes .../figure-html/w-1.png | Bin 51905 -> 51846 bytes .../figure-html/z-1.png | Bin 35412 -> 36160 bytes docs/appendix-a-vocabulary.html | 4 +- docs/appendix-b-homework.html | 4 +- docs/course-information.html | 4 +- docs/entering-and-cleaning-data-1.html | 4 +- docs/entering-and-cleaning-data-2.html | 74 +- docs/entering-and-cleaning-data-3.html | 4 +- docs/exploring-data-1.html | 4 +- docs/exploring-data-2.html | 6 +- docs/exploring-data-3.html | 58 +- docs/index.html | 6 +- docs/r-preliminaries.html | 61 +- docs/reporting-data-results-1.html | 4 +- docs/reporting-data-results-3.html | 82 +- docs/reporting-results-2.html | 4 +- docs/reproducible-research-1.html | 10 +- docs/reproducible-research-2.html | 4 +- docs/reproducible-research-3.html | 6 +- docs/search_index.json | 16 +- 30 files changed, 650 insertions(+), 603 deletions(-) diff --git a/01-prelim.Rmd b/01-prelim.Rmd index a10bac07..c2ee33a5 100644 --- a/01-prelim.Rmd +++ b/01-prelim.Rmd @@ -1346,12 +1346,27 @@ a pdf of the lecture slides for this video. ## In-course Exercise Chapter 1 -### Trying out the code in slides so far +You will take turns sharing your screens as you work through this exercise. Before you +start, open you R session and use the `sample` function, with all of your group members' +names, to randomly shuffle your names (revisit the in-course exercise in the "Course Overview" +chapter if you need a reminder). + +You should do this on only one groups members computer. The order that you get from R is the +order that you should take turns sharing your screen and leading the effort on coding for +your group. When you are not sharing your screen, help out with suggestions, especially +for general directions you could take to approach a question. (There are standards for +pair programming that we'll discuss next week, and these will provide more advice on how +to productively code in a group.) + +### Trying out the code in slides for first lecture videos + +Have one person in your group share their screen and take the lead in typing the code +or doing the other work for this part. To start, you'll try running some simple code in R, using examples from the video lectures for Chapter 1. Take the following steps: 1. Open an R session and find the "Console" pane. -2. Go through the slides we've covered so far. Find any examples of R +2. Go through the slides for video lectures 4 ("Function calls") and 5 ("Objects and assignments). Find any examples of R expressions and try them out at the prompt in the console. 3. Once you've run an assignment expression, find the "Environment" pane. Check that the object name that you assigned now appears there. @@ -1382,6 +1397,8 @@ after you re-run your script. Does anything about the result surprise you? ### About the dataset +Trade the screen sharing to the next member of your group. + For the rest of today's class, you'll be using a dataset of all the guests on *The Daily Show* when Jon Stewart was the host. This data was originally collected by Nate Silver's website, @@ -1395,9 +1412,9 @@ file was to add (commented) attribution information at the start of the file. **First, check out a bit more about this data and its source:** -* Check out [the Creative Commons -license](http://creativecommons.org/licenses/by/4.0/). What are we allowed to do -with this data? What restrictions are there on using the data? + + + * It's often helpful to use prior knowledge to help check out or validate your dataset. One thing we might want to know about this data is if it covers the whole time that Jon Stewart hosted *The Daily Show*. Use Google to find out the @@ -1425,13 +1442,13 @@ search GitHub repositories and code specifically by programming language, so it can be a good way to find example R code from which to learn. ``` -If you have extra time: + -* Check out [the related -article](http://fivethirtyeight.com/datalab/every-guest-jon-stewart-ever-had-on-the-daily-show/) -on FiveThirtyEight. What are some specific questions they used this data to -answer for this article? -* Who is Nate Silver? + + + + + ### Manually creating vectors @@ -1485,6 +1502,12 @@ class(x = appearance_year) ### Installing and using a package +Trade the screen sharing to the next member of your group. Have the person who +was sharing their screen save their R script and send it to this person through +the Zoom chat. The new person should open this R script and use it to re-run the +last part of the analysis, so that the vectors defined in the last part of the +exercise can be used here. + The `stringr` package includes a number of functions that make it easier to work with character strings in R. In particular, it includes functions to change the capitalization of words in character stings. Here, you'll install and load this @@ -1566,7 +1589,9 @@ str(guest_list) Next, we will work with the whole dataset. Download the data [from GitHub](https://github.com/geanders/RProgrammingForResearch/blob/master/data/daily_show_guests.csv) -onto your computer. In class, we created an R Project for you to use for this +onto your computer. It is **very important** for you to use [this link](https://github.com/geanders/RProgrammingForResearch/blob/master/data/daily_show_guests.csv) rather than downloading the data from the FiveThirtyEight GitHub page, because there's a small difference between the two files. + +In class, we created an R Project for you to use for this class. Put the *Daily Show* data in that directory. **Take the following steps to get the data onto your computer** @@ -1601,7 +1626,7 @@ function `read_csv` from the `readr` package. * If you do not already have it, install the `readr` package. Then load this package within your current R session using `library`. * Use the `read_csv` function from the `readr` package to read the data into R -and save it as the object `daily_show`. +and save it as the object `daily_show` (see tips in the next few bullets). * Use the help file for the `read_csv` function to figure out how this function works. To pull that up, type `?read_csv` at the R console. Can you figure out why it's critical to use the `skip` option and set it to 4? (We will be talking @@ -1669,6 +1694,14 @@ daily_show_first10 ### Checking out the data +Trade who is sharing their screen again. The new coder will need to download +the data file fresh and move it into a "data" subdirectory of the R project +created at the start of the class meeting. The previous coder should save and +share his or her's R script and send that to the new person by Zoom. The new +person should start by running that code and making sure everything's working +well on their computer. + + You now have the data available in your current R session as the `daily_show` object. You'll want to check it out to make sure it read in correctly, and also to get a feel for the data. Throughout, you can use the help pages to figure out @@ -1724,6 +1757,9 @@ how many times he was a guest and when he was on the show. **Find out more about Nate Silver on The Daily Show** +(Don't worry if you don't make it to this sections! I've put it here for groups +that move through the rest quickly.) + * The `filter` function from the `dplyr` package can be combined with logical statements to help you create a specific subset of data. For example, if you only wanted data from guest visits in 1999, you could run `filter(.data = diff --git a/RProgrammingForResearch.log b/RProgrammingForResearch.log index 550d1be5..76162ea6 100644 --- a/RProgrammingForResearch.log +++ b/RProgrammingForResearch.log @@ -1,4 +1,4 @@ -This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019) (preloaded format=xelatex 2019.5.8) 25 AUG 2020 20:38 +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019) (preloaded format=xelatex 2019.5.8) 26 AUG 2020 01:37 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -1731,389 +1731,389 @@ Underfull \hbox (badness 1721) in paragraph at lines 2788--2792 ataframe (e.g., [] -[54] +[54] [55] File: images/note.png Graphic file (type bmp) -[55] [56] [57] -Overfull \hbox (43.5pt too wide) in paragraph at lines 3089--3089 +[56] [57] +Overfull \hbox (43.5pt too wide) in paragraph at lines 3095--3095 []\TU/lmtt/m/n/10 ## [1] "miss piggy" "stanley tucci" "kermit the frog" "hank azaria"[] [] -Overfull \hbox (43.5pt too wide) in paragraph at lines 3101--3101 +Overfull \hbox (43.5pt too wide) in paragraph at lines 3107--3107 []\TU/lmtt/m/n/10 ## [1] "MISS PIGGY" "STANLEY TUCCI" "KERMIT THE FROG" "HANK AZARIA"[] [] -Overfull \hbox (18.23312pt too wide) in paragraph at lines 3109--3115 +Overfull \hbox (18.23312pt too wide) in paragraph at lines 3115--3121 []\TU/GillSans(0)/m/n/10 Combine the two vectors you created earlier, \TU/lmtt/ m/n/10 five_guests \TU/GillSans(0)/m/n/10 and \TU/lmtt/m/n/10 appearance_year [] [58] [59] -Overfull \hbox (159.0pt too wide) in paragraph at lines 3225--3225 +Overfull \hbox (159.0pt too wide) in paragraph at lines 3231--3231 []\TU/lmtt/m/n/10 ## $ Raw_Guest_List: chr [1:5] "Miss Piggy" "Stanley Tucci" "Kermit the Frog" "Hank Azaria" ...[] [] [60] -Underfull \hbox (badness 2142) in paragraph at lines 3289--3292 +Underfull \hbox (badness 2142) in paragraph at lines 3297--3300 []\TU/GillSans(0)/m/n/10 What would have happened if you’d used \TU/lmtt/m/n/10 read_csv \TU/GillSans(0)/m/n/10 but hadn’t saved [] -Underfull \hbox (badness 2556) in paragraph at lines 3289--3292 +Underfull \hbox (badness 2556) in paragraph at lines 3297--3300 \TU/GillSans(0)/m/n/10 the result as the object \TU/lmtt/m/n/10 daily_show\TU/G illSans(0)/m/n/10 ? (For example, you’d run the [] -Underfull \hbox (badness 10000) in paragraph at lines 3289--3292 +Underfull \hbox (badness 10000) in paragraph at lines 3297--3300 \TU/GillSans(0)/m/n/10 code \TU/lmtt/m/n/10 read_csv("daily_show_guests.csv", s kip = 4) \TU/GillSans(0)/m/n/10 rather than [] - -Overfull \hbox (17.25pt too wide) in paragraph at lines 3342--3342 +[61] +Overfull \hbox (17.25pt too wide) in paragraph at lines 3350--3350 []\TU/lmtt/m/n/10 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Gu est_List[] [] -Overfull \hbox (17.25pt too wide) in paragraph at lines 3342--3342 +Overfull \hbox (17.25pt too wide) in paragraph at lines 3350--3350 []\TU/lmtt/m/n/10 ## 1 1999 actor 1/11/99 Acting Michae l J. Fox[] [] -Overfull \hbox (22.5pt too wide) in paragraph at lines 3342--3342 +Overfull \hbox (22.5pt too wide) in paragraph at lines 3350--3350 []\TU/lmtt/m/n/10 ## 2 1999 Comedian 1/12/99 Comedy Sandra Bernhard[] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 3342--3342 +Overfull \hbox (12.0pt too wide) in paragraph at lines 3350--3350 []\TU/lmtt/m/n/10 ## 3 1999 television actress 1/13/99 Acting Tracey Ullman[] [] -Overfull \hbox (27.75pt too wide) in paragraph at lines 3342--3342 +Overfull \hbox (27.75pt too wide) in paragraph at lines 3350--3350 []\TU/lmtt/m/n/10 ## 4 1999 film actress 1/14/99 Acting Gillia n Anderson[] [] -Overfull \hbox (27.75pt too wide) in paragraph at lines 3342--3342 +Overfull \hbox (27.75pt too wide) in paragraph at lines 3350--3350 []\TU/lmtt/m/n/10 ## 5 1999 actor 1/18/99 Acting David Alan Grier[] [] -Overfull \hbox (22.5pt too wide) in paragraph at lines 3342--3342 +Overfull \hbox (22.5pt too wide) in paragraph at lines 3350--3350 []\TU/lmtt/m/n/10 ## 6 1999 actor 1/19/99 Acting Willia m Baldwin[] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 3342--3342 +Overfull \hbox (12.0pt too wide) in paragraph at lines 3350--3350 []\TU/lmtt/m/n/10 ## 7 1999 Singer-lyricist 1/20/99 Musician Michae l Stipe[] [] -[61] -Overfull \hbox (17.25pt too wide) in paragraph at lines 3342--3342 + +Overfull \hbox (17.25pt too wide) in paragraph at lines 3350--3350 []\TU/lmtt/m/n/10 ## 8 1999 model 1/21/99 Media Carmen Electra[] [] -Overfull \hbox (22.5pt too wide) in paragraph at lines 3342--3342 +Overfull \hbox (22.5pt too wide) in paragraph at lines 3350--3350 []\TU/lmtt/m/n/10 ## 9 1999 actor 1/25/99 Acting Matthe w Lillard[] [] -Overfull \hbox (1.5pt too wide) in paragraph at lines 3342--3342 +Overfull \hbox (1.5pt too wide) in paragraph at lines 3350--3350 []\TU/lmtt/m/n/10 ## 10 1999 stand-up comedian 1/26/99 Comedy David Cross[] [] - -Overfull \hbox (17.25pt too wide) in paragraph at lines 3406--3406 +[62] +Overfull \hbox (17.25pt too wide) in paragraph at lines 3414--3414 []\TU/lmtt/m/n/10 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Gu est_List[] [] -Overfull \hbox (17.25pt too wide) in paragraph at lines 3406--3406 +Overfull \hbox (17.25pt too wide) in paragraph at lines 3414--3414 []\TU/lmtt/m/n/10 ## 1 1999 actor 1/11/99 Acting Michae l J. Fox[] [] -Overfull \hbox (22.5pt too wide) in paragraph at lines 3406--3406 +Overfull \hbox (22.5pt too wide) in paragraph at lines 3414--3414 []\TU/lmtt/m/n/10 ## 2 1999 Comedian 1/12/99 Comedy Sandra Bernhard[] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 3406--3406 +Overfull \hbox (12.0pt too wide) in paragraph at lines 3414--3414 []\TU/lmtt/m/n/10 ## 3 1999 television actress 1/13/99 Acting Tracey Ullman[] [] -Overfull \hbox (27.75pt too wide) in paragraph at lines 3406--3406 +Overfull \hbox (27.75pt too wide) in paragraph at lines 3414--3414 []\TU/lmtt/m/n/10 ## 4 1999 film actress 1/14/99 Acting Gillia n Anderson[] [] -Overfull \hbox (27.75pt too wide) in paragraph at lines 3406--3406 +Overfull \hbox (27.75pt too wide) in paragraph at lines 3414--3414 []\TU/lmtt/m/n/10 ## 5 1999 actor 1/18/99 Acting David Alan Grier[] [] -Overfull \hbox (22.5pt too wide) in paragraph at lines 3406--3406 +Overfull \hbox (22.5pt too wide) in paragraph at lines 3414--3414 []\TU/lmtt/m/n/10 ## 6 1999 actor 1/19/99 Acting Willia m Baldwin[] [] -[62] -Overfull \hbox (12.0pt too wide) in paragraph at lines 3406--3406 + +Overfull \hbox (12.0pt too wide) in paragraph at lines 3414--3414 []\TU/lmtt/m/n/10 ## 7 1999 Singer-lyricist 1/20/99 Musician Michae l Stipe[] [] -Overfull \hbox (17.25pt too wide) in paragraph at lines 3406--3406 +Overfull \hbox (17.25pt too wide) in paragraph at lines 3414--3414 []\TU/lmtt/m/n/10 ## 8 1999 model 1/21/99 Media Carmen Electra[] [] -Overfull \hbox (22.5pt too wide) in paragraph at lines 3406--3406 +Overfull \hbox (22.5pt too wide) in paragraph at lines 3414--3414 []\TU/lmtt/m/n/10 ## 9 1999 actor 1/25/99 Acting Matthe w Lillard[] [] -Overfull \hbox (1.5pt too wide) in paragraph at lines 3406--3406 +Overfull \hbox (1.5pt too wide) in paragraph at lines 3414--3414 []\TU/lmtt/m/n/10 ## 10 1999 stand-up comedian 1/26/99 Comedy David Cross[] [] - -Overfull \hbox (1.5pt too wide) in paragraph at lines 3457--3457 +[63] +Overfull \hbox (1.5pt too wide) in paragraph at lines 3472--3472 []\TU/lmtt/m/n/10 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest _List[] [] -Overfull \hbox (1.5pt too wide) in paragraph at lines 3457--3457 +Overfull \hbox (1.5pt too wide) in paragraph at lines 3472--3472 []\TU/lmtt/m/n/10 ## 1 1999 actor 1/11/99 Acting Michael J . Fox[] [] -Overfull \hbox (6.75pt too wide) in paragraph at lines 3457--3457 +Overfull \hbox (6.75pt too wide) in paragraph at lines 3472--3472 []\TU/lmtt/m/n/10 ## 2 1999 Comedian 1/12/99 Comedy Sandra Be rnhard[] [] -[63] -Overfull \hbox (1.5pt too wide) in paragraph at lines 3486--3486 + +Overfull \hbox (1.5pt too wide) in paragraph at lines 3501--3501 []\TU/lmtt/m/n/10 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest _List[] [] -Overfull \hbox (1.5pt too wide) in paragraph at lines 3486--3486 +Overfull \hbox (1.5pt too wide) in paragraph at lines 3501--3501 []\TU/lmtt/m/n/10 ## 1 1999 actor 1/11/99 Acting Michael J . Fox[] [] -Overfull \hbox (6.75pt too wide) in paragraph at lines 3486--3486 +Overfull \hbox (6.75pt too wide) in paragraph at lines 3501--3501 []\TU/lmtt/m/n/10 ## 2 1999 Comedian 1/12/99 Comedy Sandra Be rnhard[] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 3486--3486 +Overfull \hbox (12.0pt too wide) in paragraph at lines 3501--3501 []\TU/lmtt/m/n/10 ## 4 1999 film actress 1/14/99 Acting Gillian A nderson[] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 3486--3486 +Overfull \hbox (12.0pt too wide) in paragraph at lines 3501--3501 []\TU/lmtt/m/n/10 ## 5 1999 actor 1/18/99 Acting David Ala n Grier[] [] -Overfull \hbox (6.75pt too wide) in paragraph at lines 3486--3486 +Overfull \hbox (6.75pt too wide) in paragraph at lines 3501--3501 []\TU/lmtt/m/n/10 ## 6 1999 actor 1/19/99 Acting William B aldwin[] [] -Overfull \hbox (1.5pt too wide) in paragraph at lines 3504--3504 +Overfull \hbox (1.5pt too wide) in paragraph at lines 3519--3519 []\TU/lmtt/m/n/10 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest _List[] [] - -Overfull \hbox (33.0pt too wide) in paragraph at lines 3504--3504 +[64] +Overfull \hbox (33.0pt too wide) in paragraph at lines 3519--3519 []\TU/lmtt/m/n/10 ## 2 2015 biographer 7/29/15 Media Doris Kea rns Goodwin[] [] -Overfull \hbox (17.25pt too wide) in paragraph at lines 3538--3538 +Overfull \hbox (17.25pt too wide) in paragraph at lines 3553--3553 []\TU/lmtt/m/n/10 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Gu est_List[] [] -Overfull \hbox (17.25pt too wide) in paragraph at lines 3538--3538 +Overfull \hbox (17.25pt too wide) in paragraph at lines 3553--3553 []\TU/lmtt/m/n/10 ## 1 1999 actor 1/11/99 Acting Michae l J. Fox[] [] -Overfull \hbox (22.5pt too wide) in paragraph at lines 3538--3538 +Overfull \hbox (22.5pt too wide) in paragraph at lines 3553--3553 []\TU/lmtt/m/n/10 ## 2 1999 Comedian 1/12/99 Comedy Sandra Bernhard[] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 3538--3538 +Overfull \hbox (12.0pt too wide) in paragraph at lines 3553--3553 []\TU/lmtt/m/n/10 ## 3 1999 television actress 1/13/99 Acting Tracey Ullman[] [] -Overfull \hbox (27.75pt too wide) in paragraph at lines 3538--3538 +Overfull \hbox (27.75pt too wide) in paragraph at lines 3553--3553 []\TU/lmtt/m/n/10 ## 4 1999 film actress 1/14/99 Acting Gillia n Anderson[] [] -Overfull \hbox (27.75pt too wide) in paragraph at lines 3538--3538 +Overfull \hbox (27.75pt too wide) in paragraph at lines 3553--3553 []\TU/lmtt/m/n/10 ## 5 1999 actor 1/18/99 Acting David Alan Grier[] [] -Overfull \hbox (22.5pt too wide) in paragraph at lines 3538--3538 +Overfull \hbox (22.5pt too wide) in paragraph at lines 3553--3553 []\TU/lmtt/m/n/10 ## 6 1999 actor 1/19/99 Acting Willia m Baldwin[] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 3538--3538 +Overfull \hbox (12.0pt too wide) in paragraph at lines 3553--3553 []\TU/lmtt/m/n/10 ## 7 1999 Singer-lyricist 1/20/99 Musician Michae l Stipe[] [] -Overfull \hbox (17.25pt too wide) in paragraph at lines 3538--3538 +Overfull \hbox (17.25pt too wide) in paragraph at lines 3553--3553 []\TU/lmtt/m/n/10 ## 8 1999 model 1/21/99 Media Carmen Electra[] [] -[64] -Overfull \hbox (22.5pt too wide) in paragraph at lines 3538--3538 + +Overfull \hbox (22.5pt too wide) in paragraph at lines 3553--3553 []\TU/lmtt/m/n/10 ## 9 1999 actor 1/25/99 Acting Matthe w Lillard[] [] -Overfull \hbox (1.5pt too wide) in paragraph at lines 3538--3538 +Overfull \hbox (1.5pt too wide) in paragraph at lines 3553--3553 []\TU/lmtt/m/n/10 ## 10 1999 stand-up comedian 1/26/99 Comedy David Cross[] [] - -Overfull \hbox (1.5pt too wide) in paragraph at lines 3592--3592 +[65] +Overfull \hbox (1.5pt too wide) in paragraph at lines 3610--3610 []\TU/lmtt/m/n/10 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest _List[] [] -[65] -Overfull \hbox (1.5pt too wide) in paragraph at lines 3663--3663 +[66] +Overfull \hbox (1.5pt too wide) in paragraph at lines 3681--3681 []\TU/lmtt/m/n/10 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest _List[] [] -[66] -Overfull \hbox (12.0pt too wide) in paragraph at lines 3676--3676 + +Overfull \hbox (12.0pt too wide) in paragraph at lines 3694--3694 []\TU/lmtt/m/n/10 ## - 0 academic Academic accountant a ctivist[] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 3676--3676 +Overfull \hbox (12.0pt too wide) in paragraph at lines 3694--3694 []\TU/lmtt/m/n/10 ## 1 4 3 3 1 14[] [] -Overfull \hbox (22.5pt too wide) in paragraph at lines 3888--3888 +Overfull \hbox (22.5pt too wide) in paragraph at lines 3906--3906 []\TU/lmtt/m/n/10 ## [11] "Associate Justice of the Supreme Court of the Unite d States"[] [] [67] [68] [69] [70] -Overfull \hbox (6.75pt too wide) in paragraph at lines 3888--3888 +Overfull \hbox (6.75pt too wide) in paragraph at lines 3906--3906 []\TU/lmtt/m/n/10 ## [194] "United States Secretary of Housing and Urban Develo pment"[] [] - -Overfull \hbox (90.75pt too wide) in paragraph at lines 3901--3901 +[71] +Overfull \hbox (90.75pt too wide) in paragraph at lines 3919--3919 []\TU/lmtt/m/n/10 ## 1 2012 chess player 11/8/12 Misc Katie Della maggiore and Pobo Efe~[] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 3914--3914 +Overfull \hbox (12.0pt too wide) in paragraph at lines 3932--3932 []\TU/lmtt/m/n/10 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Gue st_List[] [] -Overfull \hbox (54.0pt too wide) in paragraph at lines 3914--3914 +Overfull \hbox (54.0pt too wide) in paragraph at lines 3932--3932 []\TU/lmtt/m/n/10 ## 1 2005 mathematician 9/14/05 Academic Dr. Wil liam A. Dembski[] [] -Overfull \hbox (17.25pt too wide) in paragraph at lines 3927--3927 +Overfull \hbox (17.25pt too wide) in paragraph at lines 3945--3945 []\TU/lmtt/m/n/10 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Gu est_List[] [] -[71] -Overfull \hbox (12.0pt too wide) in paragraph at lines 3927--3927 + +Overfull \hbox (12.0pt too wide) in paragraph at lines 3945--3945 []\TU/lmtt/m/n/10 ## 1 2015 orca trainer 3/26/15 Athletics John H argrove[] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 3953--3953 +Overfull \hbox (12.0pt too wide) in paragraph at lines 3971--3971 []\TU/lmtt/m/n/10 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Gue st_List[] [] -Overfull \hbox (6.75pt too wide) in paragraph at lines 3953--3953 +Overfull \hbox (6.75pt too wide) in paragraph at lines 3971--3971 []\TU/lmtt/m/n/10 ## 1 2005 Scholar 6/13/05 Academic Larry D iamond[] [] @@ -2133,7 +2133,7 @@ File: images/note.png Graphic file (type bmp) File: images/note.png Graphic file (type bmp) [80] -Overfull \hbox (43.5pt too wide) in paragraph at lines 4361--4361 +Overfull \hbox (43.5pt too wide) in paragraph at lines 4379--4379 []\TU/lmtt/m/n/10 In file(file, "rt") : cannot open file []Ex.csv[]: No such fi le or directory[] [] @@ -2141,87 +2141,87 @@ le or directory[] File: figures/FileDirectoryStructure.png Graphic file (type bmp) -Overfull \hbox (255.0305pt too wide) in paragraph at lines 4388--4389 +Overfull \hbox (255.0305pt too wide) in paragraph at lines 4406--4407 [][] [] [81] [82] -Overfull \hbox (54.0pt too wide) in paragraph at lines 4434--4434 +Overfull \hbox (54.0pt too wide) in paragraph at lines 4452--4452 []\TU/lmtt/m/n/10 ## [1] "/Users/georgianaanderson/Documents/my_books/RProgramm ingForResearch"[] [] -Overfull \hbox (17.78809pt too wide) in paragraph at lines 4436--4439 +Overfull \hbox (17.78809pt too wide) in paragraph at lines 4454--4457 []\TU/GillSans(0)/m/n/10 This means that, for my current R session, R is workin g in the \TU/lmtt/m/n/10 RProgrammingForResearch [] [83] -Overfull \hbox (33.0pt too wide) in paragraph at lines 4486--4486 +Overfull \hbox (33.0pt too wide) in paragraph at lines 4504--4504 []\TU/lmtt/m/n/10 "/Users/brookeanderson/Desktop/RCourseFall2015/CourseText/hea t_mort.csv"[] [] -Underfull \hbox (badness 1939) in paragraph at lines 4510--4517 +Underfull \hbox (badness 1939) in paragraph at lines 4528--4535 []\TU/GillSans(0)/m/n/10 As an example of a relative pathname, say you’re worki ng in the directory [] [84] -Overfull \hbox (1.5pt too wide) in paragraph at lines 4585--4585 +Overfull \hbox (1.5pt too wide) in paragraph at lines 4603--4603 []\TU/lmtt/m/n/10 heat_mort <- read_csv("../Week2_Aug31/example_data/heat_mort. csv")[] [] [85] LaTeX Font Info: Font shape `TU/lmtt/bx/n' in size <12> not available -(Font) Font shape `TU/lmtt/b/n' tried instead on input line 4608. +(Font) Font shape `TU/lmtt/b/n' tried instead on input line 4626. -Overfull \hbox (90.75pt too wide) in paragraph at lines 4623--4623 +Overfull \hbox (90.75pt too wide) in paragraph at lines 4641--4641 []\TU/lmtt/m/n/10 my_file <- "/Users/brookeanderson/Desktop/RCourseFall2015/Cou rseText/heat_mort.csv"[] [] [86] [87] -Overfull \hbox (1.5pt too wide) in paragraph at lines 4810--4810 +Overfull \hbox (1.5pt too wide) in paragraph at lines 4828--4828 []\TU/lmtt/m/n/10 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest _List[] [] -Overfull \hbox (1.5pt too wide) in paragraph at lines 4810--4810 +Overfull \hbox (1.5pt too wide) in paragraph at lines 4828--4828 []\TU/lmtt/m/n/10 ## 1 1999 actor 1/11/99 Acting Michael J . Fox[] [] [88] -Overfull \hbox (6.75pt too wide) in paragraph at lines 4810--4810 +Overfull \hbox (6.75pt too wide) in paragraph at lines 4828--4828 []\TU/lmtt/m/n/10 ## 2 1999 Comedian 1/12/99 Comedy Sandra Be rnhard[] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 4810--4810 +Overfull \hbox (12.0pt too wide) in paragraph at lines 4828--4828 []\TU/lmtt/m/n/10 ## 4 1999 film actress 1/14/99 Acting Gillian A nderson[] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 4810--4810 +Overfull \hbox (12.0pt too wide) in paragraph at lines 4828--4828 []\TU/lmtt/m/n/10 ## 5 1999 actor 1/18/99 Acting David Ala n Grier[] [] -Overfull \hbox (6.75pt too wide) in paragraph at lines 4810--4810 +Overfull \hbox (6.75pt too wide) in paragraph at lines 4828--4828 []\TU/lmtt/m/n/10 ## 6 1999 actor 1/19/99 Acting William B aldwin[] [] -Overfull \vbox (2.17169pt too high) detected at line 4870 +Overfull \vbox (2.17169pt too high) detected at line 4888 [] [89] @@ -2231,7 +2231,7 @@ File: images/warning.png Graphic file (type bmp) File: images/warning.png Graphic file (type bmp) -Overfull \hbox (22.5pt too wide) in paragraph at lines 4995--4995 +Overfull \hbox (22.5pt too wide) in paragraph at lines 5013--5013 []\TU/lmtt/m/n/10 ## [1] "actor" "Comedian" "television actress"[] [] @@ -2244,47 +2244,47 @@ File: images/warning.png Graphic file (type bmp) [97] LaTeX Font Info: Font shape `TU/GillSans(0)/m/n' will be -(Font) scaled to size 7.0pt on input line 5414. +(Font) scaled to size 7.0pt on input line 5432. LaTeX Font Info: Font shape `TU/GillSans(0)/m/n' will be -(Font) scaled to size 5.0pt on input line 5414. +(Font) scaled to size 5.0pt on input line 5432. [98] [99] -Overfull \hbox (12.0pt too wide) in paragraph at lines 5529--5529 +Overfull \hbox (12.0pt too wide) in paragraph at lines 5547--5547 []\TU/lmtt/m/n/10 ## nT GCsk TAsk cGCsk[] [] -Overfull \hbox (33.0pt too wide) in paragraph at lines 5529--5529 +Overfull \hbox (33.0pt too wide) in paragraph at lines 5547--5547 []\TU/lmtt/m/n/10 ## Min. :188.0 Min. :-189.0000 Min. :-254.000 Mi n. : -453[] [] -Overfull \hbox (33.0pt too wide) in paragraph at lines 5529--5529 +Overfull \hbox (33.0pt too wide) in paragraph at lines 5547--5547 []\TU/lmtt/m/n/10 ## 1st Qu.:286.0 1st Qu.: -30.0000 1st Qu.: -36.000 1s t Qu.:10796[] [] -Overfull \hbox (33.0pt too wide) in paragraph at lines 5529--5529 +Overfull \hbox (33.0pt too wide) in paragraph at lines 5547--5547 []\TU/lmtt/m/n/10 ## Median :306.0 Median : 0.0000 Median : -2.000 Me dian :23543[] [] -Overfull \hbox (33.0pt too wide) in paragraph at lines 5529--5529 +Overfull \hbox (33.0pt too wide) in paragraph at lines 5547--5547 []\TU/lmtt/m/n/10 ## Mean :307.2 Mean : -0.1293 Mean : -1.736 Me an :22889[] [] -Overfull \hbox (33.0pt too wide) in paragraph at lines 5529--5529 +Overfull \hbox (33.0pt too wide) in paragraph at lines 5547--5547 []\TU/lmtt/m/n/10 ## 3rd Qu.:328.0 3rd Qu.: 29.0000 3rd Qu.: 32.500 3r d Qu.:34940[] [] -Overfull \hbox (33.0pt too wide) in paragraph at lines 5529--5529 +Overfull \hbox (33.0pt too wide) in paragraph at lines 5547--5547 []\TU/lmtt/m/n/10 ## Max. :444.0 Max. : 134.0000 Max. : 205.000 Ma x. :46085[] [] @@ -2297,7 +2297,7 @@ Chapter 3. File: images/note.png Graphic file (type bmp) [110] [111] [112] [113] [114] [115] [116] -Overfull \hbox (17.25pt too wide) in paragraph at lines 6544--6544 +Overfull \hbox (17.25pt too wide) in paragraph at lines 6562--6562 []\TU/lmtt/m/n/10 ## []summarise()[] ungrouping output (override with [].groups [] argument)[] [] @@ -2338,7 +2338,7 @@ File: RProgrammingForResearch_files/figure-latex/nepalihist1-1.pdf Graphic file File: images/note.png Graphic file (type bmp) -Underfull \hbox (badness 4168) in paragraph at lines 6813--6821 +Underfull \hbox (badness 4168) in paragraph at lines 6831--6839 []\TU/GillSans(0)/m/n/10 If you run the code with no arguments for \TU/lmtt/m/n /10 binwidth \TU/GillSans(0)/m/n/10 or \TU/lmtt/m/n/10 bins \TU/GillSans(0)/m/n /10 in @@ -2349,7 +2349,7 @@ File: RProgrammingForResearch_files/figure-latex/nepalihist2-1.pdf Graphic file (type pdf) -LaTeX Warning: Reference `fig' on page 124 undefined on input line 6843. +LaTeX Warning: Reference `fig' on page 124 undefined on input line 6861. File: RProgrammingForResearch_files/figure-latex/nepalihist3-1.pdf Graphic file (type pdf) @@ -2379,228 +2379,228 @@ ile (type pdf) Underfull \vbox (badness 10000) has occurred while \output is active [] [130] [131] -Overfull \hbox (132.75pt too wide) in paragraph at lines 7045--7045 +Overfull \hbox (132.75pt too wide) in paragraph at lines 7063--7063 []\TU/lmtt/m/n/10 ## $ Team : Factor w/ 32 levels "Algeria","Argentina",..: 1 16 9 9 5 32 11 11 18 20 ...[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 7045--7045 +Overfull \hbox (90.75pt too wide) in paragraph at lines 7063--7063 []\TU/lmtt/m/n/10 ## $ Position: Factor w/ 4 levels "Defender","Forward",..: 4 4 1 4 2 2 1 2 4 1 ...[] [] [132] -Overfull \hbox (38.25pt too wide) in paragraph at lines 7077--7077 +Overfull \hbox (38.25pt too wide) in paragraph at lines 7095--7095 []\TU/lmtt/m/n/10 ## Team Position Time Shots Passes T ackles Saves[] [] -Overfull \hbox (38.25pt too wide) in paragraph at lines 7077--7077 +Overfull \hbox (38.25pt too wide) in paragraph at lines 7095--7095 []\TU/lmtt/m/n/10 ## van Bommel Netherlands Midfielder 540 2 307 31 0[] [] -Overfull \hbox (38.25pt too wide) in paragraph at lines 7077--7077 +Overfull \hbox (38.25pt too wide) in paragraph at lines 7095--7095 []\TU/lmtt/m/n/10 ## van Bronckhorst Netherlands Defender 540 1 271 10 0[] [] -Overfull \hbox (38.25pt too wide) in paragraph at lines 7077--7077 +Overfull \hbox (38.25pt too wide) in paragraph at lines 7095--7095 []\TU/lmtt/m/n/10 ## van Persie Netherlands Forward 479 14 108 1 0[] [] -Overfull \hbox (38.25pt too wide) in paragraph at lines 7077--7077 +Overfull \hbox (38.25pt too wide) in paragraph at lines 7095--7095 []\TU/lmtt/m/n/10 ## von Bergen Switzerland Defender 234 0 79 3 0[] [] -Overfull \hbox (38.25pt too wide) in paragraph at lines 7077--7077 +Overfull \hbox (38.25pt too wide) in paragraph at lines 7095--7095 []\TU/lmtt/m/n/10 ## Alvaro Pereira Uruguay Midfielder 409 6 140 17 0[] [] -Overfull \hbox (38.25pt too wide) in paragraph at lines 7077--7077 +Overfull \hbox (38.25pt too wide) in paragraph at lines 7095--7095 []\TU/lmtt/m/n/10 ## Ozil Germany Midfielder 497 7 266 3 0[] [] -Overfull \hbox (75.0pt too wide) in paragraph at lines 7087--7087 +Overfull \hbox (75.0pt too wide) in paragraph at lines 7105--7105 []\TU/lmtt/m/n/10 ## [1] "Team" "Position" "Time" "Shots" "Passes" "Tackles" "Saves"[] [] -Overfull \hbox (6.75pt too wide) in paragraph at lines 7112--7112 +Overfull \hbox (6.75pt too wide) in paragraph at lines 7130--7130 []\TU/lmtt/m/n/10 ## Slovakia : 21 Defender :188 Min. : 1.0 Min. : 0.000[] [] -Overfull \hbox (6.75pt too wide) in paragraph at lines 7112--7112 +Overfull \hbox (6.75pt too wide) in paragraph at lines 7130--7130 []\TU/lmtt/m/n/10 ## Uruguay : 21 Forward :143 1st Qu.: 88.0 1st Qu.: 0.000[] [] -Overfull \hbox (6.75pt too wide) in paragraph at lines 7112--7112 +Overfull \hbox (6.75pt too wide) in paragraph at lines 7130--7130 []\TU/lmtt/m/n/10 ## Argentina: 20 Goalkeeper: 36 Median :191.0 Median : 1.000[] [] -Overfull \hbox (6.75pt too wide) in paragraph at lines 7112--7112 +Overfull \hbox (6.75pt too wide) in paragraph at lines 7130--7130 []\TU/lmtt/m/n/10 ## Cameroon : 20 Midfielder:228 Mean :208.9 Mean : 2.304[] [] -Overfull \hbox (6.75pt too wide) in paragraph at lines 7112--7112 +Overfull \hbox (6.75pt too wide) in paragraph at lines 7130--7130 []\TU/lmtt/m/n/10 ## Chile : 20 3rd Qu.:270.0 3rd Qu.: 3.000[] [] -Overfull \hbox (6.75pt too wide) in paragraph at lines 7112--7112 +Overfull \hbox (6.75pt too wide) in paragraph at lines 7130--7130 []\TU/lmtt/m/n/10 ## Paraguay : 20 Max. :570.0 Max. : 27.000[] [] -Underfull \hbox (badness 2285) in paragraph at lines 7115--7115 +Underfull \hbox (badness 2285) in paragraph at lines 7133--7133 []\TU/GillSans(0)/bx/n/12 Exploring the data using simple statistics and [] [133] [134] -Overfull \hbox (17.25pt too wide) in paragraph at lines 7204--7204 +Overfull \hbox (17.25pt too wide) in paragraph at lines 7222--7222 []\TU/lmtt/m/n/10 ## []summarise()[] ungrouping output (override with [].groups [] argument)[] [] -Overfull \hbox (17.25pt too wide) in paragraph at lines 7261--7261 +Overfull \hbox (17.25pt too wide) in paragraph at lines 7279--7279 []\TU/lmtt/m/n/10 ## []summarise()[] ungrouping output (override with [].groups [] argument)[] [] [135] [136] [137] -Overfull \hbox (1.5pt too wide) in paragraph at lines 7417--7417 +Overfull \hbox (1.5pt too wide) in paragraph at lines 7435--7435 []\TU/lmtt/m/n/10 ## Team Position Time Shots Passes Tackles Saves[] [] -Overfull \hbox (1.5pt too wide) in paragraph at lines 7417--7417 +Overfull \hbox (1.5pt too wide) in paragraph at lines 7435--7435 []\TU/lmtt/m/n/10 ## Arevalo Rios Uruguay Midfielder 570 5 195 21 0[] [] -Overfull \hbox (1.5pt too wide) in paragraph at lines 7417--7417 +Overfull \hbox (1.5pt too wide) in paragraph at lines 7435--7435 []\TU/lmtt/m/n/10 ## Maxi Pereira Uruguay Midfielder 570 5 182 15 0[] [] -Overfull \hbox (1.5pt too wide) in paragraph at lines 7417--7417 +Overfull \hbox (1.5pt too wide) in paragraph at lines 7435--7435 []\TU/lmtt/m/n/10 ## Muslera Uruguay Goalkeeper 570 0 75 0 16[] [] -Overfull \hbox (1.5pt too wide) in paragraph at lines 7431--7431 +Overfull \hbox (1.5pt too wide) in paragraph at lines 7449--7449 []\TU/lmtt/m/n/10 ## Team Position Time Shots Passes Tackles Saves[] [] -Overfull \hbox (1.5pt too wide) in paragraph at lines 7431--7431 +Overfull \hbox (1.5pt too wide) in paragraph at lines 7449--7449 []\TU/lmtt/m/n/10 ## Arevalo Rios Uruguay Midfielder 570 5 195 21 0[] [] -Overfull \hbox (1.5pt too wide) in paragraph at lines 7431--7431 +Overfull \hbox (1.5pt too wide) in paragraph at lines 7449--7449 []\TU/lmtt/m/n/10 ## Maxi Pereira Uruguay Midfielder 570 5 182 15 0[] [] -Overfull \hbox (1.5pt too wide) in paragraph at lines 7431--7431 +Overfull \hbox (1.5pt too wide) in paragraph at lines 7449--7449 []\TU/lmtt/m/n/10 ## Muslera Uruguay Goalkeeper 570 0 75 0 16[] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 7455--7455 +Overfull \hbox (12.0pt too wide) in paragraph at lines 7473--7473 []\TU/lmtt/m/n/10 ## Name Team Position Time Shots Passes Tackle s Saves[] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 7455--7455 +Overfull \hbox (12.0pt too wide) in paragraph at lines 7473--7473 []\TU/lmtt/m/n/10 ## 1 Arevalo Rios Uruguay Midfielder 570 5 195 2 1 0[] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 7455--7455 +Overfull \hbox (12.0pt too wide) in paragraph at lines 7473--7473 []\TU/lmtt/m/n/10 ## 2 Maxi Pereira Uruguay Midfielder 570 5 182 1 5 0[] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 7455--7455 +Overfull \hbox (12.0pt too wide) in paragraph at lines 7473--7473 []\TU/lmtt/m/n/10 ## 3 Muslera Uruguay Goalkeeper 570 0 75 0 16[] [] [138] -Overfull \hbox (6.75pt too wide) in paragraph at lines 7510--7510 +Overfull \hbox (6.75pt too wide) in paragraph at lines 7528--7528 []\TU/lmtt/m/n/10 ## Team Position Time Shots Passes Tackles Saves[] [] -Overfull \hbox (6.75pt too wide) in paragraph at lines 7510--7510 +Overfull \hbox (6.75pt too wide) in paragraph at lines 7528--7528 []\TU/lmtt/m/n/10 ## Baptista Brazil Midfielder 82 0 42 1 0[] [] -Overfull \hbox (6.75pt too wide) in paragraph at lines 7510--7510 +Overfull \hbox (6.75pt too wide) in paragraph at lines 7528--7528 []\TU/lmtt/m/n/10 ## Daniel Alves Brazil Defender 310 11 215 6 0[] [] -Overfull \hbox (6.75pt too wide) in paragraph at lines 7510--7510 +Overfull \hbox (6.75pt too wide) in paragraph at lines 7528--7528 []\TU/lmtt/m/n/10 ## Elano Brazil Midfielder 140 5 57 6 0[] [] -Overfull \hbox (6.75pt too wide) in paragraph at lines 7510--7510 +Overfull \hbox (6.75pt too wide) in paragraph at lines 7528--7528 []\TU/lmtt/m/n/10 ## Fabiano Brazil Forward 418 9 89 4 0[] [] -Overfull \hbox (6.75pt too wide) in paragraph at lines 7510--7510 +Overfull \hbox (6.75pt too wide) in paragraph at lines 7528--7528 []\TU/lmtt/m/n/10 ## Gilberto Brazil Defender 33 0 6 4 0[] [] -Overfull \hbox (6.75pt too wide) in paragraph at lines 7510--7510 +Overfull \hbox (6.75pt too wide) in paragraph at lines 7528--7528 []\TU/lmtt/m/n/10 ## Gilberto Silva Brazil Midfielder 450 3 299 11 0[] [] @@ -2694,7 +2694,7 @@ File: RProgrammingForResearch_files/figure-latex/unnamed-chunk-221-1.pdf Graphi c file (type pdf) -Overfull \hbox (17.25pt too wide) in paragraph at lines 7803--7803 +Overfull \hbox (17.25pt too wide) in paragraph at lines 7821--7821 []\TU/lmtt/m/n/10 ## []stat_bin()[] using []bins = 30[]. Pick better value with []binwidth[].[] [] @@ -2717,7 +2717,7 @@ Underfull \vbox (badness 10000) has occurred while \output is active [] ] Chapter 4. [157] -Overfull \hbox (17.25pt too wide) in paragraph at lines 7900--7900 +Overfull \hbox (17.25pt too wide) in paragraph at lines 7918--7918 []\TU/lmtt/m/n/10 ## []summarise()[] ungrouping output (override with [].groups [] argument)[] [] @@ -2766,7 +2766,7 @@ File: RProgrammingForResearch_files/figure-latex/unnamed-chunk-232-1.pdf Graphi c file (type pdf) -Overfull \hbox (17.25pt too wide) in paragraph at lines 8160--8160 +Overfull \hbox (17.25pt too wide) in paragraph at lines 8178--8178 []\TU/lmtt/m/n/10 ## []summarise()[] ungrouping output (override with [].groups [] argument)[] [] @@ -2803,7 +2803,7 @@ File: RProgrammingForResearch_files/figure-latex/unnamed-chunk-241-1.pdf Graphi c file (type pdf) -Underfull \hbox (badness 1484) in paragraph at lines 8279--8280 +Underfull \hbox (badness 1484) in paragraph at lines 8297--8298 []\TU/GillSans(0)/m/n/10 For example, to adjust the x-axis scale for a continuo us variable, you’d use [] @@ -2870,13 +2870,13 @@ c file (type pdf) Underfull \vbox (badness 10000) has occurred while \output is active [] [179] -Underfull \hbox (badness 1694) in paragraph at lines 8538--8539 +Underfull \hbox (badness 1694) in paragraph at lines 8556--8557 \TU/GillSans(0)/m/n/10 with a bit less non-data ink. From the \TU/lmtt/m/n/10 g gthemes \TU/GillSans(0)/m/n/10 package, try some [] -Overfull \hbox (4.5895pt too wide) in paragraph at lines 8538--8539 +Overfull \hbox (4.5895pt too wide) in paragraph at lines 8556--8557 \TU/lmtt/m/n/10 theme_fivethirtyeight()\TU/GillSans(0)/m/n/10 , \TU/lmtt/m/n/10 theme_economist_white()\TU/GillSans(0)/m/n/10 , and \TU/lmtt/m/n/10 theme_wsj( )\TU/GillSans(0)/m/n/10 . @@ -2906,49 +2906,49 @@ c file (type pdf) Underfull \vbox (badness 10000) has occurred while \output is active [] [182] -Overfull \hbox (38.25pt too wide) in paragraph at lines 8604--8604 +Overfull \hbox (38.25pt too wide) in paragraph at lines 8622--8622 []\TU/lmtt/m/n/10 ## Team Position Time Shots Passes Tackles Saves Player top_4[] [] -Overfull \hbox (38.25pt too wide) in paragraph at lines 8604--8604 +Overfull \hbox (38.25pt too wide) in paragraph at lines 8622--8622 []\TU/lmtt/m/n/10 ## 1 Algeria Midfielder 16 0 6 0 0 Abdoun FALSE[] [] -Overfull \hbox (38.25pt too wide) in paragraph at lines 8604--8604 +Overfull \hbox (38.25pt too wide) in paragraph at lines 8622--8622 []\TU/lmtt/m/n/10 ## 2 Japan Midfielder 351 0 101 14 0 Abe FALSE[] [] -Overfull \hbox (38.25pt too wide) in paragraph at lines 8604--8604 +Overfull \hbox (38.25pt too wide) in paragraph at lines 8622--8622 []\TU/lmtt/m/n/10 ## 3 France Defender 180 0 91 6 0 Abidal FALSE[] [] -Overfull \hbox (38.25pt too wide) in paragraph at lines 8604--8604 +Overfull \hbox (38.25pt too wide) in paragraph at lines 8622--8622 []\TU/lmtt/m/n/10 ## 4 France Midfielder 270 1 111 5 0 Abou Diaby FALSE[] [] -Overfull \hbox (38.25pt too wide) in paragraph at lines 8604--8604 +Overfull \hbox (38.25pt too wide) in paragraph at lines 8622--8622 []\TU/lmtt/m/n/10 ## 5 Cameroon Forward 46 2 16 0 0 Abo ubakar FALSE[] [] -Overfull \hbox (38.25pt too wide) in paragraph at lines 8604--8604 +Overfull \hbox (38.25pt too wide) in paragraph at lines 8622--8622 []\TU/lmtt/m/n/10 ## 6 Uruguay Forward 72 0 15 0 0 Abreu TRUE[] [] -Overfull \vbox (1.43085pt too high) detected at line 8625 +Overfull \vbox (1.43085pt too high) detected at line 8643 [] [183] @@ -3056,7 +3056,7 @@ File: figures/example_html.png Graphic file (type bmp) File: figures/example_output.png Graphic file (type bmp) [200] [201] [202] -Underfull \hbox (badness 10000) in paragraph at lines 9142--9144 +Underfull \hbox (badness 10000) in paragraph at lines 9160--9162 [] @@ -3104,24 +3104,24 @@ File: RProgrammingForResearch_files/figure-latex/unnamed-chunk-324-1.pdf Graphi c file (type pdf) [226] -Overfull \hbox (17.25pt too wide) in paragraph at lines 10247--10247 +Overfull \hbox (17.25pt too wide) in paragraph at lines 10265--10265 []\TU/lmtt/m/n/10 ## []summarise()[] ungrouping output (override with [].groups [] argument)[] [] [227] [228] [229] [230] [231] [232] [233] -Overfull \hbox (17.25pt too wide) in paragraph at lines 10694--10694 +Overfull \hbox (17.25pt too wide) in paragraph at lines 10712--10712 []\TU/lmtt/m/n/10 ## []summarise()[] ungrouping output (override with [].groups [] argument)[] [] [234] [235] [236] -Overfull \hbox (18.90042pt too wide) in paragraph at lines 10919--10920 +Overfull \hbox (18.90042pt too wide) in paragraph at lines 10937--10938 [][]\TU/lmtt/m/n/10 country_timeseries.csv[]| [] -Overfull \hbox (3.15042pt too wide) in paragraph at lines 10924--10925 +Overfull \hbox (3.15042pt too wide) in paragraph at lines 10942--10943 [][]\TU/lmtt/m/n/10 mexico_exposure.csv[] [] @@ -3133,73 +3133,73 @@ File: RProgrammingForResearch_files/figure-latex/unnamed-chunk-355-1.pdf Graphi c file (type pdf) [239] -Overfull \hbox (90.75pt too wide) in paragraph at lines 11047--11047 +Overfull \hbox (90.75pt too wide) in paragraph at lines 11065--11065 []\TU/lmtt/m/n/10 ## day temp_min temp_max temp_mean humidity wind NO NO2 NOX O3[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 11047--11047 +Overfull \hbox (90.75pt too wide) in paragraph at lines 11065--11065 []\TU/lmtt/m/n/10 ## [] [] -Overfull \hbox (64.5pt too wide) in paragraph at lines 11047--11047 +Overfull \hbox (64.5pt too wide) in paragraph at lines 11065--11065 []\TU/lmtt/m/n/10 ## 1 1/1/~ 7.8 17.8 11.8 53.5 2.66 0.00925 0.0187 0.0278 NA[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 11047--11047 +Overfull \hbox (90.75pt too wide) in paragraph at lines 11065--11065 []\TU/lmtt/m/n/10 ## 2 1/2/~ 2.6 9.8 6.64 61.7 3.35 0.00542 0.0187 0.0241 0.0201[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 11047--11047 +Overfull \hbox (90.75pt too wide) in paragraph at lines 11065--11065 []\TU/lmtt/m/n/10 ## 3 1/3/~ 1.1 15.6 7.04 59.9 1.89 0.0160 0.0381 0.0540 0.0184[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 11047--11047 +Overfull \hbox (90.75pt too wide) in paragraph at lines 11065--11065 []\TU/lmtt/m/n/10 ## 4 1/4/~ 3.1 20.6 10.9 57.5 1.20 0.0408 0.0584 0.0993 0.0215[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 11047--11047 +Overfull \hbox (90.75pt too wide) in paragraph at lines 11065--11065 []\TU/lmtt/m/n/10 ## 5 1/5/~ 6 21.3 13.4 45.7 0.988 0.0469 0.0602 0.107 0.0239[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 11047--11047 +Overfull \hbox (90.75pt too wide) in paragraph at lines 11065--11065 []\TU/lmtt/m/n/10 ## 6 1/6/~ 7.2 22.1 14.3 40.8 0.854 0.0286 0.051 0.0795 0.0249[] [] -Overfull \hbox (48.75pt too wide) in paragraph at lines 11047--11047 +Overfull \hbox (48.75pt too wide) in paragraph at lines 11065--11065 []\TU/lmtt/m/n/10 ## # ... with 4 more variables: CO , SO2 , PM10 , PM25 [] [] -Overfull \hbox (22.5pt too wide) in paragraph at lines 11075--11075 +Overfull \hbox (22.5pt too wide) in paragraph at lines 11093--11093 []\TU/lmtt/m/n/10 ## # ... with 14 variables: day , temp_min , temp_m ax ,[] [] -Overfull \hbox (33.0pt too wide) in paragraph at lines 11075--11075 +Overfull \hbox (33.0pt too wide) in paragraph at lines 11093--11093 []\TU/lmtt/m/n/10 ## # temp_mean , humidity , wind , NO , NO2 ,[] [] -Overfull \hbox (27.75pt too wide) in paragraph at lines 11075--11075 +Overfull \hbox (27.75pt too wide) in paragraph at lines 11093--11093 []\TU/lmtt/m/n/10 ## # NOX , O3 , CO , SO2 , PM10 , PM25 [] [] @@ -3219,7 +3219,7 @@ c file (type pdf) Underfull \vbox (badness 10000) has occurred while \output is active [] [243] -Underfull \hbox (badness 3250) in paragraph at lines 11237--11238 +Underfull \hbox (badness 3250) in paragraph at lines 11255--11256 []\TU/GillSans(0)/m/n/10 If you have extra time (super-challenge!): There is a function called [] @@ -3234,67 +3234,67 @@ c file (type pdf) Underfull \vbox (badness 10000) has occurred while \output is active [] [244] -Overfull \hbox (43.5pt too wide) in paragraph at lines 11272--11272 +Overfull \hbox (43.5pt too wide) in paragraph at lines 11290--11290 []\TU/lmtt/m/n/10 ## Date Day Cases_Guinea Cases_Liberia Cases_SierraLeo~ Cases_Nigeria[] [] -Overfull \hbox (43.5pt too wide) in paragraph at lines 11272--11272 +Overfull \hbox (43.5pt too wide) in paragraph at lines 11290--11290 []\TU/lmtt/m/n/10 ## [] [] -Overfull \hbox (43.5pt too wide) in paragraph at lines 11272--11272 +Overfull \hbox (43.5pt too wide) in paragraph at lines 11290--11290 []\TU/lmtt/m/n/10 ## 1 1/5/~ 289 2776 NA 10030 NA[] [] -Overfull \hbox (43.5pt too wide) in paragraph at lines 11272--11272 +Overfull \hbox (43.5pt too wide) in paragraph at lines 11290--11290 []\TU/lmtt/m/n/10 ## 2 1/4/~ 288 2775 NA 9780 NA[] [] -Overfull \hbox (43.5pt too wide) in paragraph at lines 11272--11272 +Overfull \hbox (43.5pt too wide) in paragraph at lines 11290--11290 []\TU/lmtt/m/n/10 ## 3 1/3/~ 287 2769 8166 9722 NA[] [] -Overfull \hbox (43.5pt too wide) in paragraph at lines 11272--11272 +Overfull \hbox (43.5pt too wide) in paragraph at lines 11290--11290 []\TU/lmtt/m/n/10 ## 4 1/2/~ 286 NA 8157 NA NA[] [] [245] -Overfull \hbox (43.5pt too wide) in paragraph at lines 11272--11272 +Overfull \hbox (43.5pt too wide) in paragraph at lines 11290--11290 []\TU/lmtt/m/n/10 ## 5 12/3~ 284 2730 8115 9633 NA[] [] -Overfull \hbox (43.5pt too wide) in paragraph at lines 11272--11272 +Overfull \hbox (43.5pt too wide) in paragraph at lines 11290--11290 []\TU/lmtt/m/n/10 ## 6 12/2~ 281 2706 8018 9446 NA[] [] -Overfull \hbox (69.75pt too wide) in paragraph at lines 11272--11272 +Overfull \hbox (69.75pt too wide) in paragraph at lines 11290--11290 []\TU/lmtt/m/n/10 ## # ... with 12 more variables: Cases_Senegal , Cases_U nitedStates ,[] [] -Overfull \hbox (54.0pt too wide) in paragraph at lines 11272--11272 +Overfull \hbox (54.0pt too wide) in paragraph at lines 11290--11290 []\TU/lmtt/m/n/10 ## # Deaths_Liberia , Deaths_SierraLeone , Deaths _Nigeria ,[] [] -Overfull \hbox (48.75pt too wide) in paragraph at lines 11272--11272 +Overfull \hbox (48.75pt too wide) in paragraph at lines 11290--11290 []\TU/lmtt/m/n/10 ## # Deaths_Senegal , Deaths_UnitedStates , Death s_Spain ,[] [] @@ -3317,7 +3317,7 @@ File: RProgrammingForResearch_files/figure-latex/unnamed-chunk-375-2.pdf Graphi c file (type pdf) -Overfull \vbox (1.55742pt too high) detected at line 11447 +Overfull \vbox (1.55742pt too high) detected at line 11465 [] [249] @@ -3351,73 +3351,73 @@ Chapter 7. [257 ] [258] [259] -Overfull \hbox (17.25pt too wide) in paragraph at lines 11893--11893 +Overfull \hbox (17.25pt too wide) in paragraph at lines 11911--11911 []\TU/lmtt/m/n/10 ## []summarise()[] ungrouping output (override with [].groups [] argument)[] [] -Overfull \hbox (33.0pt too wide) in paragraph at lines 11930--11930 +Overfull \hbox (33.0pt too wide) in paragraph at lines 11948--11948 []\TU/lmtt/m/n/10 ## 2-sample test for equality of proportions with continuity correction[] [] [260] [261] [262] [263] [264] -Overfull \hbox (143.25pt too wide) in paragraph at lines 12242--12242 +Overfull \hbox (143.25pt too wide) in paragraph at lines 12260--12260 []\TU/lmtt/m/n/10 ## $ method : chr "2-sample test for equality of proport ions with continuity correction"[] [] -Overfull \hbox (27.75pt too wide) in paragraph at lines 12242--12242 +Overfull \hbox (27.75pt too wide) in paragraph at lines 12260--12260 []\TU/lmtt/m/n/10 ## $ data.name : chr "crash_prob$crash_days out of crash_pr ob$n_days"[] [] [265] -Overfull \hbox (64.5pt too wide) in paragraph at lines 12310--12310 +Overfull \hbox (64.5pt too wide) in paragraph at lines 12328--12328 []\TU/lmtt/m/n/10 ## estimate1 estimate2 statistic p.value parameter conf.low conf.high method[] [] -Overfull \hbox (59.25pt too wide) in paragraph at lines 12310--12310 +Overfull \hbox (59.25pt too wide) in paragraph at lines 12328--12328 []\TU/lmtt/m/n/10 ## [] [] -Overfull \hbox (64.5pt too wide) in paragraph at lines 12310--12310 +Overfull \hbox (64.5pt too wide) in paragraph at lines 12328--12328 []\TU/lmtt/m/n/10 ## 1 0.412 0.406 1.60e-30 1.00 1 -0.111 0.123 2-sam~[] [] [266] -Overfull \hbox (75.0pt too wide) in paragraph at lines 12352--12352 +Overfull \hbox (75.0pt too wide) in paragraph at lines 12370--12370 []\TU/lmtt/m/n/10 ## otu abundance time sex subject sample group ph ylum family genus[] [] -Overfull \hbox (75.0pt too wide) in paragraph at lines 12352--12352 +Overfull \hbox (75.0pt too wide) in paragraph at lines 12370--12370 []\TU/lmtt/m/n/10 ## [] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 12352--12352 +Overfull \hbox (90.75pt too wide) in paragraph at lines 12370--12370 []\TU/lmtt/m/n/10 ## 1 Bacteroi~ 9734 1 male S19 sampl~ LGG Ba cter~ Bacter~ Bactero~[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 12352--12352 +Overfull \hbox (90.75pt too wide) in paragraph at lines 12370--12370 []\TU/lmtt/m/n/10 ## 2 Bacteroi~ 5883 1 female S14 sampl~ Plac~ Ba cter~ Bacter~ Bactero~[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 12352--12352 +Overfull \hbox (90.75pt too wide) in paragraph at lines 12370--12370 []\TU/lmtt/m/n/10 ## 3 Bacteroi~ 5134 2 female S8 sampl~ LGG Ba cter~ Bacter~ Bactero~[] [] @@ -3429,169 +3429,169 @@ c file (type pdf) Underfull \vbox (badness 10000) has occurred while \output is active [] [267] [268] -Overfull \hbox (6.75pt too wide) in paragraph at lines 12455--12455 +Overfull \hbox (6.75pt too wide) in paragraph at lines 12473--12473 []\TU/lmtt/m/n/10 ## group phylum data n_rows t_test[] [] -Overfull \hbox (6.75pt too wide) in paragraph at lines 12455--12455 +Overfull \hbox (6.75pt too wide) in paragraph at lines 12473--12473 []\TU/lmtt/m/n/10 ## [] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 12455--12455 +Overfull \hbox (12.0pt too wide) in paragraph at lines 12473--12473 []\TU/lmtt/m/n/10 ## 1 LGG Bacteroidetes [] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 12455--12455 +Overfull \hbox (12.0pt too wide) in paragraph at lines 12473--12473 []\TU/lmtt/m/n/10 ## 2 Placebo Bacteroidetes [] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 12455--12455 +Overfull \hbox (12.0pt too wide) in paragraph at lines 12473--12473 []\TU/lmtt/m/n/10 ## 3 Placebo Firmicutes [] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 12455--12455 +Overfull \hbox (12.0pt too wide) in paragraph at lines 12473--12473 []\TU/lmtt/m/n/10 ## 4 LGG Firmicutes [] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 12455--12455 +Overfull \hbox (12.0pt too wide) in paragraph at lines 12473--12473 []\TU/lmtt/m/n/10 ## 5 Placebo Verrucomicrobia [] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 12455--12455 +Overfull \hbox (12.0pt too wide) in paragraph at lines 12473--12473 []\TU/lmtt/m/n/10 ## 6 LGG Actinobacteria [] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 12455--12455 +Overfull \hbox (12.0pt too wide) in paragraph at lines 12473--12473 []\TU/lmtt/m/n/10 ## 7 Placebo Actinobacteria [] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 12455--12455 +Overfull \hbox (12.0pt too wide) in paragraph at lines 12473--12473 []\TU/lmtt/m/n/10 ## 8 Placebo Proteobacteria [] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 12455--12455 +Overfull \hbox (12.0pt too wide) in paragraph at lines 12473--12473 []\TU/lmtt/m/n/10 ## 9 LGG Proteobacteria [] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 12455--12455 +Overfull \hbox (12.0pt too wide) in paragraph at lines 12473--12473 []\TU/lmtt/m/n/10 ## 10 Placebo Cyanobacteria [] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 12455--12455 +Overfull \hbox (12.0pt too wide) in paragraph at lines 12473--12473 []\TU/lmtt/m/n/10 ## 11 Placebo Fusobacteria [] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 12455--12455 +Overfull \hbox (12.0pt too wide) in paragraph at lines 12473--12473 []\TU/lmtt/m/n/10 ## 12 Placebo Spirochaetes [] [] [269] -Overfull \hbox (43.5pt too wide) in paragraph at lines 12489--12489 +Overfull \hbox (43.5pt too wide) in paragraph at lines 12507--12507 []\TU/lmtt/m/n/10 ## group phylum data n_rows t _test summary[] [] -Overfull \hbox (38.25pt too wide) in paragraph at lines 12489--12489 +Overfull \hbox (38.25pt too wide) in paragraph at lines 12507--12507 []\TU/lmtt/m/n/10 ## < list> [] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 12489--12489 +Overfull \hbox (90.75pt too wide) in paragraph at lines 12507--12507 []\TU/lmtt/m/n/10 ## 1 LGG Bacteroidetes < htes~ < htes~ < htes~ < htes~ < htes~ < htes~ < htes~ < htes~ < htes~ < htes~ < htes~ < htes~ -Overfull \hbox (12.0pt too wide) in paragraph at lines 12799--12799 +Overfull \hbox (12.0pt too wide) in paragraph at lines 12817--12817 []\TU/lmtt/m/n/10 ## 1 2 3 4 6 7[] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 12799--12799 +Overfull \hbox (12.0pt too wide) in paragraph at lines 12817--12817 []\TU/lmtt/m/n/10 ## 0.1993922 -0.4329393 -0.4373953 -0.1355300 -0.6749080 -1. 0838199[] [] @@ -3631,19 +3631,19 @@ Overfull \hbox (12.0pt too wide) in paragraph at lines 12799--12799 File: images/tip.png Graphic file (type bmp) [276] -Overfull \hbox (22.5pt too wide) in paragraph at lines 12865--12865 +Overfull \hbox (22.5pt too wide) in paragraph at lines 12883--12883 []\TU/lmtt/m/n/10 ## [1] "call" "terms" "residuals" "coef ficients"[] [] -Overfull \hbox (6.75pt too wide) in paragraph at lines 12865--12865 +Overfull \hbox (6.75pt too wide) in paragraph at lines 12883--12883 []\TU/lmtt/m/n/10 ## [5] "aliased" "sigma" "df" "r.sq uared"[] [] -Overfull \hbox (6.75pt too wide) in paragraph at lines 12865--12865 +Overfull \hbox (6.75pt too wide) in paragraph at lines 12883--12883 []\TU/lmtt/m/n/10 ## [9] "adj.r.squared" "fstatistic" "cov.unscaled" "na.a ction"[] [] @@ -3655,12 +3655,12 @@ le (type pdf) Underfull \vbox (badness 4518) has occurred while \output is active [] [278] -Overfull \hbox (9.04018pt too wide) in paragraph at lines 13002--13013 +Overfull \hbox (9.04018pt too wide) in paragraph at lines 13020--13031 [][] [] [279] -Overfull \hbox (179.08807pt too wide) in paragraph at lines 13027--13034 +Overfull \hbox (179.08807pt too wide) in paragraph at lines 13045--13052 [][] [] @@ -3672,163 +3672,163 @@ File: RProgrammingForResearch_files/figure-latex/unnamed-chunk-453-1.pdf Graphi c file (type pdf) [287] -Overfull \hbox (59.25pt too wide) in paragraph at lines 13507--13507 +Overfull \hbox (59.25pt too wide) in paragraph at lines 13525--13525 []\TU/lmtt/m/n/10 ## ..@ otu_table:Formal class []otu_table[] [package "phylo seq"] with 2 slots[] [] -Overfull \hbox (64.5pt too wide) in paragraph at lines 13507--13507 +Overfull \hbox (64.5pt too wide) in paragraph at lines 13525--13525 []\TU/lmtt/m/n/10 ## .. .. ..@ .Data : num [1:130, 1:1151] 0 0 0 21 1 72 0 0 176 10 ...[] [] -Overfull \hbox (159.0pt too wide) in paragraph at lines 13507--13507 +Overfull \hbox (159.0pt too wide) in paragraph at lines 13525--13525 []\TU/lmtt/m/n/10 ## .. .. .. .. ..$ : chr [1:130] "Actinomycetaceae" "Aeroco ccus" "Aeromonas" "Akkermansia" ...[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 13507--13507 +Overfull \hbox (90.75pt too wide) in paragraph at lines 13525--13525 []\TU/lmtt/m/n/10 ## .. .. .. .. ..$ : chr [1:1151] "Sample-1" "Sample-2" "Sa mple-3" "Sample-4" ...[] [] -Overfull \hbox (75.0pt too wide) in paragraph at lines 13507--13507 +Overfull \hbox (75.0pt too wide) in paragraph at lines 13525--13525 []\TU/lmtt/m/n/10 ## ..@ tax_table:Formal class []taxonomyTable[] [package "p hyloseq"] with 1 slot[] [] -Overfull \hbox (216.75pt too wide) in paragraph at lines 13507--13507 +Overfull \hbox (216.75pt too wide) in paragraph at lines 13525--13525 []\TU/lmtt/m/n/10 ## .. .. ..@ .Data: chr [1:130, 1:3] "Actinobacteria" "Firm icutes" "Proteobacteria" "Verrucomicrobia" ...[] [] -Overfull \hbox (159.0pt too wide) in paragraph at lines 13507--13507 +Overfull \hbox (159.0pt too wide) in paragraph at lines 13525--13525 []\TU/lmtt/m/n/10 ## .. .. .. .. ..$ : chr [1:130] "Actinomycetaceae" "Aeroco ccus" "Aeromonas" "Akkermansia" ...[] [] -Overfull \hbox (1.5pt too wide) in paragraph at lines 13507--13507 +Overfull \hbox (1.5pt too wide) in paragraph at lines 13525--13525 []\TU/lmtt/m/n/10 ## .. .. .. ..$ : int [1:1151] 28 24 52 22 25 42 25 27 21 2 5 ...[] [] -Overfull \hbox (69.75pt too wide) in paragraph at lines 13507--13507 +Overfull \hbox (69.75pt too wide) in paragraph at lines 13525--13525 []\TU/lmtt/m/n/10 ## .. .. .. ..$ : Factor w/ 2 levels "female","male": 2 1 2 1 1 2 1 1 1 1 ...[] [] -Overfull \hbox (85.5pt too wide) in paragraph at lines 13507--13507 +Overfull \hbox (85.5pt too wide) in paragraph at lines 13525--13525 []\TU/lmtt/m/n/10 ## .. .. .. ..$ : Factor w/ 6 levels "CentralEurope",..: 6 6 6 6 6 6 6 6 6 6 ...[] [] -Overfull \hbox (101.25pt too wide) in paragraph at lines 13507--13507 +Overfull \hbox (101.25pt too wide) in paragraph at lines 13525--13525 []\TU/lmtt/m/n/10 ## .. .. .. ..$ : Factor w/ 3 levels "o","p","r": NA NA NA NA NA NA NA NA NA NA ...[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 13507--13507 +Overfull \hbox (90.75pt too wide) in paragraph at lines 13525--13525 []\TU/lmtt/m/n/10 ## .. .. .. ..$ : Factor w/ 40 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...[] [] -Overfull \hbox (101.25pt too wide) in paragraph at lines 13507--13507 +Overfull \hbox (101.25pt too wide) in paragraph at lines 13525--13525 []\TU/lmtt/m/n/10 ## .. .. .. ..$ : num [1:1151] 5.76 6.06 5.5 5.87 5.89 5.53 5.49 5.38 5.34 5.64 ...[] [] -Overfull \hbox (75.0pt too wide) in paragraph at lines 13507--13507 +Overfull \hbox (75.0pt too wide) in paragraph at lines 13525--13525 []\TU/lmtt/m/n/10 ## .. .. .. ..$ : Factor w/ 6 levels "underweight",..: 5 4 2 1 2 2 1 2 2 2 ...[] [] -Overfull \hbox (106.5pt too wide) in paragraph at lines 13507--13507 +Overfull \hbox (106.5pt too wide) in paragraph at lines 13525--13525 []\TU/lmtt/m/n/10 ## .. .. .. ..$ : Factor w/ 1006 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 10 ...[] [] -Overfull \hbox (75.0pt too wide) in paragraph at lines 13507--13507 +Overfull \hbox (75.0pt too wide) in paragraph at lines 13525--13525 []\TU/lmtt/m/n/10 ## .. .. .. ..$ : chr [1:1151] "Sample-1" "Sample-2" "Sampl e-3" "Sample-4" ...[] [] -Overfull \hbox (127.5pt too wide) in paragraph at lines 13507--13507 +Overfull \hbox (127.5pt too wide) in paragraph at lines 13525--13525 []\TU/lmtt/m/n/10 ## .. .. ..@ names : chr [1:10] "age" "sex" "nationality " "DNA_extraction_method" ...[] [] -Overfull \hbox (106.5pt too wide) in paragraph at lines 13507--13507 +Overfull \hbox (106.5pt too wide) in paragraph at lines 13525--13525 []\TU/lmtt/m/n/10 ## .. .. ..@ row.names: chr [1:1151] "Sample-1" "Sample-2" "Sample-3" "Sample-4" ...[] [] -Overfull \hbox (43.5pt too wide) in paragraph at lines 13532--13532 +Overfull \hbox (43.5pt too wide) in paragraph at lines 13550--13550 []\TU/lmtt/m/n/10 ## age sex nationality DNA_extraction_method proj ect diversity[] [] -Overfull \hbox (43.5pt too wide) in paragraph at lines 13532--13532 +Overfull \hbox (43.5pt too wide) in paragraph at lines 13550--13550 []\TU/lmtt/m/n/10 ## Sample-1 28 male US 1 5.76[] [] -Overfull \hbox (43.5pt too wide) in paragraph at lines 13532--13532 +Overfull \hbox (43.5pt too wide) in paragraph at lines 13550--13550 []\TU/lmtt/m/n/10 ## Sample-2 24 female US 1 6.06[] [] -Overfull \hbox (43.5pt too wide) in paragraph at lines 13532--13532 +Overfull \hbox (43.5pt too wide) in paragraph at lines 13550--13550 []\TU/lmtt/m/n/10 ## Sample-3 52 male US 1 5.50[] [] -Overfull \hbox (43.5pt too wide) in paragraph at lines 13532--13532 +Overfull \hbox (43.5pt too wide) in paragraph at lines 13550--13550 []\TU/lmtt/m/n/10 ## Sample-4 22 female US 1 5.87[] [] -Overfull \hbox (43.5pt too wide) in paragraph at lines 13532--13532 +Overfull \hbox (43.5pt too wide) in paragraph at lines 13550--13550 []\TU/lmtt/m/n/10 ## Sample-5 25 female US 1 5.89[] [] -Overfull \hbox (43.5pt too wide) in paragraph at lines 13532--13532 +Overfull \hbox (43.5pt too wide) in paragraph at lines 13550--13550 []\TU/lmtt/m/n/10 ## Sample-6 42 male US 1 5.53[] [] [288] [289] -Overfull \hbox (17.25pt too wide) in paragraph at lines 13643--13643 +Overfull \hbox (17.25pt too wide) in paragraph at lines 13661--13661 []\TU/lmtt/m/n/10 ## []summarise()[] ungrouping output (override with [].groups [] argument)[] [] [290] -Overfull \hbox (17.25pt too wide) in paragraph at lines 13668--13668 +Overfull \hbox (17.25pt too wide) in paragraph at lines 13686--13686 []\TU/lmtt/m/n/10 ## []summarise()[] ungrouping output (override with [].groups [] argument)[] [] @@ -3840,7 +3840,7 @@ c file (type pdf) Underfull \vbox (badness 2253) has occurred while \output is active [] [291] [292] -Overfull \hbox (17.25pt too wide) in paragraph at lines 13768--13768 +Overfull \hbox (17.25pt too wide) in paragraph at lines 13786--13786 []\TU/lmtt/m/n/10 ## []summarise()[] ungrouping output (override with [].groups [] argument)[] [] @@ -3857,109 +3857,109 @@ c file (type pdf) Underfull \vbox (badness 2012) has occurred while \output is active [] [295] [296] [297] [298] -Overfull \hbox (43.5pt too wide) in paragraph at lines 14025--14025 +Overfull \hbox (43.5pt too wide) in paragraph at lines 14043--14043 []\TU/lmtt/m/n/10 ## Warning in prop.test(x = c(268910, 7), n = c(1924665, 20)) : Chi-squared[] [] -Overfull \hbox (33.0pt too wide) in paragraph at lines 14039--14039 +Overfull \hbox (33.0pt too wide) in paragraph at lines 14057--14057 []\TU/lmtt/m/n/10 ## 2-sample test for equality of proportions with continuity correction[] [] -Overfull \hbox (85.5pt too wide) in paragraph at lines 14055--14055 +Overfull \hbox (85.5pt too wide) in paragraph at lines 14073--14073 []\TU/lmtt/m/n/10 ## Warning in prop.test(x = 7, n = 20, p = 0.14): Chi-squared approximation may be[] [] [299] -Overfull \hbox (64.5pt too wide) in paragraph at lines 14090--14090 +Overfull \hbox (64.5pt too wide) in paragraph at lines 14108--14108 []\TU/lmtt/m/n/10 ## Warning in prop.test(., n = 20, p = 0.14): Chi-squared app roximation may be[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 14097--14097 +Overfull \hbox (90.75pt too wide) in paragraph at lines 14115--14115 []\TU/lmtt/m/n/10 ## estimate statistic p.value parameter conf.low conf.high method alternative[] [] -Overfull \hbox (59.25pt too wide) in paragraph at lines 14097--14097 +Overfull \hbox (59.25pt too wide) in paragraph at lines 14115--14115 []\TU/lmtt/m/n/10 ## [] [] -Overfull \hbox (80.25pt too wide) in paragraph at lines 14097--14097 +Overfull \hbox (80.25pt too wide) in paragraph at lines 14115--14115 []\TU/lmtt/m/n/10 ## 1 0.35 5.69 0.0171 1 0.163 0.591 1-sample ~ two.sided[] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 14121--14121 +Overfull \hbox (12.0pt too wide) in paragraph at lines 14139--14139 []\TU/lmtt/m/n/10 ## number of successes = 7, number of trials = 20, p-value = 0.01534[] [] -Overfull \hbox (48.75pt too wide) in paragraph at lines 14121--14121 +Overfull \hbox (48.75pt too wide) in paragraph at lines 14139--14139 []\TU/lmtt/m/n/10 ## alternative hypothesis: true probability of success is not equal to 0.14[] [] [300] [301] -Overfull \hbox (75.0pt too wide) in paragraph at lines 14228--14228 +Overfull \hbox (75.0pt too wide) in paragraph at lines 14246--14246 []\TU/lmtt/m/n/10 ## r.squared adj.r.squared sigma statistic p.value df l ogLik AIC BIC[] [] -Overfull \hbox (75.0pt too wide) in paragraph at lines 14228--14228 +Overfull \hbox (75.0pt too wide) in paragraph at lines 14246--14246 []\TU/lmtt/m/n/10 ## [] [] -Overfull \hbox (75.0pt too wide) in paragraph at lines 14228--14228 +Overfull \hbox (75.0pt too wide) in paragraph at lines 14246--14246 []\TU/lmtt/m/n/10 ## 1 0.898 0.898 5.90 45108. 0 1 -1 6332. 32670. 32690.[] [] -Overfull \hbox (59.25pt too wide) in paragraph at lines 14228--14228 +Overfull \hbox (59.25pt too wide) in paragraph at lines 14246--14246 []\TU/lmtt/m/n/10 ## # ... with 3 more variables: deviance , df.residual < int>, nobs [] [] [302] -Overfull \hbox (17.25pt too wide) in paragraph at lines 14246--14246 +Overfull \hbox (17.25pt too wide) in paragraph at lines 14264--14264 []\TU/lmtt/m/n/10 ## dptp temp .fitted .resid .std.resid .hat .sigma .cooksd[] [] -Overfull \hbox (17.25pt too wide) in paragraph at lines 14246--14246 +Overfull \hbox (17.25pt too wide) in paragraph at lines 14264--14264 []\TU/lmtt/m/n/10 ## [] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 14246--14246 +Overfull \hbox (12.0pt too wide) in paragraph at lines 14264--14264 []\TU/lmtt/m/n/10 ## 1 31.5 -0.278 23.6 7.93 1.34 0.000376 5.90 0 .000340[] [] -Overfull \hbox (12.0pt too wide) in paragraph at lines 14246--14246 +Overfull \hbox (12.0pt too wide) in paragraph at lines 14264--14264 []\TU/lmtt/m/n/10 ## 2 29.9 0.556 24.9 4.95 0.839 0.000348 5.90 0 .000123[] [] -Overfull \hbox (17.25pt too wide) in paragraph at lines 14246--14246 +Overfull \hbox (17.25pt too wide) in paragraph at lines 14264--14264 []\TU/lmtt/m/n/10 ## 3 27.4 0.556 24.9 2.45 0.415 0.000348 5.90 0 .0000300[] [] @@ -3972,25 +3972,25 @@ File: RProgrammingForResearch_files/figure-latex/unnamed-chunk-483-1.pdf Graphi c file (type pdf) [304] [305] -Overfull \hbox (80.25pt too wide) in paragraph at lines 14384--14384 +Overfull \hbox (80.25pt too wide) in paragraph at lines 14402--14402 []\TU/lmtt/m/n/10 ## r.squared adj.r.squared sigma statistic p.value df logLik AIC BIC[] [] -Overfull \hbox (80.25pt too wide) in paragraph at lines 14384--14384 +Overfull \hbox (80.25pt too wide) in paragraph at lines 14402--14402 []\TU/lmtt/m/n/10 ## [] [] -Overfull \hbox (80.25pt too wide) in paragraph at lines 14384--14384 +Overfull \hbox (80.25pt too wide) in paragraph at lines 14402--14402 []\TU/lmtt/m/n/10 ## 1 0.0259 0.0247 19.1 21.5 4.61e-25 6 - 21234. 42484. 42536.[] [] -Overfull \hbox (59.25pt too wide) in paragraph at lines 14384--14384 +Overfull \hbox (59.25pt too wide) in paragraph at lines 14402--14402 []\TU/lmtt/m/n/10 ## # ... with 3 more variables: deviance , df.residual < int>, nobs [] [] @@ -4000,7 +4000,7 @@ File: RProgrammingForResearch_files/figure-latex/unnamed-chunk-489-1.pdf Graphi c file (type pdf) -Overfull \hbox (38.25pt too wide) in paragraph at lines 14430--14430 +Overfull \hbox (38.25pt too wide) in paragraph at lines 14448--14448 []\TU/lmtt/m/n/10 ## Warning: Removed 292 rows containing non-finite values (st at_boxplot).[] [] @@ -4010,67 +4010,67 @@ File: RProgrammingForResearch_files/figure-latex/unnamed-chunk-490-1.pdf Graphi c file (type pdf) -Overfull \hbox (85.5pt too wide) in paragraph at lines 14456--14456 +Overfull \hbox (85.5pt too wide) in paragraph at lines 14474--14474 []\TU/lmtt/m/n/10 ## date time year month doy dow death cvd resp temp dptp rhum[] [] -Overfull \hbox (85.5pt too wide) in paragraph at lines 14456--14456 +Overfull \hbox (85.5pt too wide) in paragraph at lines 14474--14474 []\TU/lmtt/m/n/10 ## 1 1987-06-01 152 1987 Jun 152 Monday 112 60 5 23.61111 68.50 71.875[] [] -Overfull \hbox (85.5pt too wide) in paragraph at lines 14456--14456 +Overfull \hbox (85.5pt too wide) in paragraph at lines 14474--14474 []\TU/lmtt/m/n/10 ## 2 1987-06-02 153 1987 Jun 153 Tuesday 111 57 7 22.22222 64.75 95.250[] [] -Overfull \hbox (85.5pt too wide) in paragraph at lines 14456--14456 +Overfull \hbox (85.5pt too wide) in paragraph at lines 14474--14474 []\TU/lmtt/m/n/10 ## 3 1987-06-03 154 1987 Jun 154 Wednesday 120 59 9 20.55556 47.25 47.125[] [] -Overfull \hbox (33.0pt too wide) in paragraph at lines 14473--14473 +Overfull \hbox (33.0pt too wide) in paragraph at lines 14491--14491 []\TU/lmtt/m/n/10 ## null.deviance df.null logLik AIC BIC deviance df.res idual nobs[] [] -Overfull \hbox (33.0pt too wide) in paragraph at lines 14473--14473 +Overfull \hbox (33.0pt too wide) in paragraph at lines 14491--14491 []\TU/lmtt/m/n/10 ## [] [] -Overfull \hbox (33.0pt too wide) in paragraph at lines 14473--14473 +Overfull \hbox (33.0pt too wide) in paragraph at lines 14491--14491 []\TU/lmtt/m/n/10 ## 1 1499. 1287 -3211. 6425. 6436. 1494. 1286 1288[] [] [308] -Overfull \hbox (43.5pt too wide) in paragraph at lines 14520--14520 +Overfull \hbox (43.5pt too wide) in paragraph at lines 14538--14538 []\TU/lmtt/m/n/10 ## term estimate std.error statistic p.value conf. low conf.high[] [] -Overfull \hbox (43.5pt too wide) in paragraph at lines 14520--14520 +Overfull \hbox (43.5pt too wide) in paragraph at lines 14538--14538 []\TU/lmtt/m/n/10 ## [] [] -Overfull \hbox (33.0pt too wide) in paragraph at lines 14520--14520 +Overfull \hbox (33.0pt too wide) in paragraph at lines 14538--14538 []\TU/lmtt/m/n/10 ## 1 (Intercept) 1.91 0.0584 32.7 6.60e-235 1.80 2.02[] [] -Overfull \hbox (43.5pt too wide) in paragraph at lines 14520--14520 +Overfull \hbox (43.5pt too wide) in paragraph at lines 14538--14538 []\TU/lmtt/m/n/10 ## 2 temp 0.00614 0.00258 2.38 1.74e- 2 0.00 108 0.0112[] [] @@ -4080,7 +4080,7 @@ File: RProgrammingForResearch_files/figure-latex/unnamed-chunk-496-1.pdf Graphi c file (type pdf) [310] [311] [312] -Overfull \hbox (17.25pt too wide) in paragraph at lines 14697--14697 +Overfull \hbox (17.25pt too wide) in paragraph at lines 14715--14715 []\TU/lmtt/m/n/10 ## []summarise()[] ungrouping output (override with [].groups [] argument)[] [] @@ -4092,13 +4092,13 @@ c file (type pdf) Underfull \vbox (badness 10000) has occurred while \output is active [] [313] -Overfull \hbox (48.75pt too wide) in paragraph at lines 14765--14765 +Overfull \hbox (48.75pt too wide) in paragraph at lines 14783--14783 []\TU/lmtt/m/n/10 ## Call: glm(formula = late_dep ~ hour, family = binomial(li nk = "logit"),[] [] [314] [315] -Overfull \hbox (48.75pt too wide) in paragraph at lines 14869--14869 +Overfull \hbox (48.75pt too wide) in paragraph at lines 14887--14887 []\TU/lmtt/m/n/10 ## Call: glm(formula = late_dep ~ hour, family = binomial(li nk = "logit"),[] [] @@ -4108,19 +4108,19 @@ File: RProgrammingForResearch_files/figure-latex/unnamed-chunk-512-1.pdf Graphi c file (type pdf) [318] [319] [320] -Overfull \hbox (190.5pt too wide) in paragraph at lines 15150--15150 +Overfull \hbox (190.5pt too wide) in paragraph at lines 15168--15168 []\TU/lmtt/m/n/10 ## row col expected actual file[] [] -Overfull \hbox (190.5pt too wide) in paragraph at lines 15150--15150 +Overfull \hbox (190.5pt too wide) in paragraph at lines 15168--15168 []\TU/lmtt/m/n/10 ## 11 -- 1 columns 3 columns []https://raw.githubuserconten t.com/dwyl/english-words/master/words.txt[][] [] -Overfull \hbox (190.5pt too wide) in paragraph at lines 15150--15150 +Overfull \hbox (190.5pt too wide) in paragraph at lines 15168--15168 []\TU/lmtt/m/n/10 ## 12 -- 1 columns 2 columns []https://raw.githubuserconten t.com/dwyl/english-words/master/words.txt[][] [] @@ -4137,7 +4137,7 @@ Underfull \vbox (badness 10000) has occurred while \output is active [] ] LaTeX Font Info: Font shape `TU/lmtt/bx/n' in size <14.4> not available -(Font) Font shape `TU/lmtt/b/n' tried instead on input line 15333. +(Font) Font shape `TU/lmtt/b/n' tried instead on input line 15351. File: RProgrammingForResearch_files/figure-latex/unnamed-chunk-523-1.pdf Graphi c file (type pdf) @@ -4185,31 +4185,31 @@ c file (type pdf) Underfull \vbox (badness 10000) has occurred while \output is active [] [333] [334] -Overfull \hbox (75.0pt too wide) in paragraph at lines 15704--15704 +Overfull \hbox (75.0pt too wide) in paragraph at lines 15722--15722 []\TU/lmtt/m/n/10 ## bbox: xmin: -109.0603 ymin: 37.28912 xmax: -104. 3511 ymax: 41.00344[] [] -Overfull \hbox (54.0pt too wide) in paragraph at lines 15704--15704 +Overfull \hbox (54.0pt too wide) in paragraph at lines 15722--15722 []\TU/lmtt/m/n/10 ## STATEFP COUNTYFP COUNTYNS AFFGEOID GEOID NAME LSAD ALAND[] [] -Overfull \hbox (54.0pt too wide) in paragraph at lines 15704--15704 +Overfull \hbox (54.0pt too wide) in paragraph at lines 15722--15722 []\TU/lmtt/m/n/10 ## 1 08 077 00198154 0500000US08077 08077 Mesa 06 8621849401[] [] -Overfull \hbox (54.0pt too wide) in paragraph at lines 15704--15704 +Overfull \hbox (54.0pt too wide) in paragraph at lines 15722--15722 []\TU/lmtt/m/n/10 ## 2 08 107 00198169 0500000US08107 08107 Routt 06 6117602807[] [] -Overfull \hbox (54.0pt too wide) in paragraph at lines 15704--15704 +Overfull \hbox (54.0pt too wide) in paragraph at lines 15722--15722 []\TU/lmtt/m/n/10 ## 3 08 055 00198143 0500000US08055 08055 Huerfano 06 4120756304[] [] @@ -4229,19 +4229,19 @@ c file (type pdf) Underfull \vbox (badness 10000) has occurred while \output is active [] [337] -Overfull \hbox (75.0pt too wide) in paragraph at lines 15820--15820 +Overfull \hbox (75.0pt too wide) in paragraph at lines 15838--15838 []\TU/lmtt/m/n/10 ## bbox: xmin: -106.1954 ymin: 40.25788 xmax: -104. 9431 ymax: 40.99821[] [] -Overfull \hbox (48.75pt too wide) in paragraph at lines 15820--15820 +Overfull \hbox (48.75pt too wide) in paragraph at lines 15838--15838 []\TU/lmtt/m/n/10 ## STATEFP COUNTYFP COUNTYNS AFFGEOID GEOID NAME L SAD ALAND[] [] -Overfull \hbox (48.75pt too wide) in paragraph at lines 15820--15820 +Overfull \hbox (48.75pt too wide) in paragraph at lines 15838--15838 []\TU/lmtt/m/n/10 ## 1 08 069 00198150 0500000US08069 08069 Larimer 06 6723025059[] [] @@ -4257,7 +4257,7 @@ c file (type pdf) Underfull \vbox (badness 10000) has occurred while \output is active [] [339] -Overfull \hbox (75.0pt too wide) in paragraph at lines 15880--15880 +Overfull \hbox (75.0pt too wide) in paragraph at lines 15898--15898 []\TU/lmtt/m/n/10 ## bbox: xmin: -124.3834 ymin: 30.24071 xmax: -71.7 8015 ymax: 42.04937[] [] @@ -4273,7 +4273,7 @@ File: RProgrammingForResearch_files/figure-latex/unnamed-chunk-551-1.pdf Graphi c file (type pdf) [341] [342] -Overfull \hbox (43.5pt too wide) in paragraph at lines 15989--15989 +Overfull \hbox (43.5pt too wide) in paragraph at lines 16007--16007 []\TU/lmtt/m/n/10 ## bbox: xmin: -105.0496 ymin: 38.1167 xmax: -104.3 9 ymax: 40.49[] [] @@ -4282,13 +4282,13 @@ File: RProgrammingForResearch_files/figure-latex/unnamed-chunk-555-1.pdf Graphi c file (type pdf) [343] -Overfull \hbox (17.25pt too wide) in paragraph at lines 16020--16020 +Overfull \hbox (17.25pt too wide) in paragraph at lines 16038--16038 []\TU/lmtt/m/n/10 ## []summarise()[] ungrouping output (override with [].groups [] argument)[] [] -Overfull \hbox (43.5pt too wide) in paragraph at lines 16043--16043 +Overfull \hbox (43.5pt too wide) in paragraph at lines 16061--16061 []\TU/lmtt/m/n/10 ## bbox: xmin: -105.8286 ymin: 38.0708 xmax: -104.3 9 ymax: 40.49[] [] @@ -4300,49 +4300,49 @@ c file (type pdf) Underfull \vbox (badness 10000) has occurred while \output is active [] [344] [345] [346] -Overfull \hbox (90.75pt too wide) in paragraph at lines 16173--16173 +Overfull \hbox (90.75pt too wide) in paragraph at lines 16191--16191 []\TU/lmtt/m/n/10 ## STORMNUM STORMTYPE SS geometry[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 16173--16173 +Overfull \hbox (90.75pt too wide) in paragraph at lines 16191--16191 []\TU/lmtt/m/n/10 ## [] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 16173--16173 +Overfull \hbox (90.75pt too wide) in paragraph at lines 16191--16191 []\TU/lmtt/m/n/10 ## 1 9 Low 0 (-45.8 13.7, -47.4 13.7, - 49 13.6, -50.6 13.6, ~[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 16173--16173 +Overfull \hbox (90.75pt too wide) in paragraph at lines 16191--16191 []\TU/lmtt/m/n/10 ## 2 9 Tropical Depr~ 0 (-52 13. 4, -53.4 13.1, -55 13)[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 16173--16173 +Overfull \hbox (90.75pt too wide) in paragraph at lines 16191--16191 []\TU/lmtt/m/n/10 ## 3 9 Tropical Storm 0 (-55 13, -56.6 13, -58.4 1 3, -59.6 13.1, -60.3 ~[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 16173--16173 +Overfull \hbox (90.75pt too wide) in paragraph at lines 16191--16191 []\TU/lmtt/m/n/10 ## 4 9 Tropical Depr~ 0 (- 67.5 13.7, -69.2 13.8)[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 16173--16173 +Overfull \hbox (90.75pt too wide) in paragraph at lines 16191--16191 []\TU/lmtt/m/n/10 ## 5 9 Tropical Wave 0 (-69.2 13.8, -71 14, -72.9 14.2, -75 14.4, -76.~[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 16173--16173 +Overfull \hbox (90.75pt too wide) in paragraph at lines 16191--16191 []\TU/lmtt/m/n/10 ## 6 9 Low 0 (-89.7 20, -90.7 20.5, - 91.6 20.9, -92.3 21.4)[] [] @@ -4354,43 +4354,43 @@ c file (type pdf) Underfull \vbox (badness 1043) has occurred while \output is active [] [347] -Overfull \hbox (75.0pt too wide) in paragraph at lines 16209--16209 +Overfull \hbox (75.0pt too wide) in paragraph at lines 16227--16227 []\TU/lmtt/m/n/10 ## bbox: xmin: -98.66872 ymin: 12.94564 xmax: -54.5 8527 ymax: 31.15894[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 16209--16209 +Overfull \hbox (90.75pt too wide) in paragraph at lines 16227--16227 []\TU/lmtt/m/n/10 ## RADII STORMID BASIN STORMNUM STARTDTG ENDDTG geometry[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 16209--16209 +Overfull \hbox (90.75pt too wide) in paragraph at lines 16227--16227 []\TU/lmtt/m/n/10 ## [] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 16209--16209 +Overfull \hbox (90.75pt too wide) in paragraph at lines 16227--16227 []\TU/lmtt/m/n/10 ## 1 34 al092017 AL 9 2017081~ 20170~ ((-65.6819 9 14.50528, -65.66399~[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 16209--16209 +Overfull \hbox (90.75pt too wide) in paragraph at lines 16227--16227 []\TU/lmtt/m/n/10 ## 2 34 al092017 AL 9 2017082~ 20170~ ((-96.2245 6 31.15752, -96.17218~[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 16209--16209 +Overfull \hbox (90.75pt too wide) in paragraph at lines 16227--16227 []\TU/lmtt/m/n/10 ## 3 50 al092017 AL 9 2017082~ 20170~ ((-97.3270 7 29.60604, -97.31424~[] [] -Overfull \hbox (90.75pt too wide) in paragraph at lines 16209--16209 +Overfull \hbox (90.75pt too wide) in paragraph at lines 16227--16227 []\TU/lmtt/m/n/10 ## 4 64 al092017 AL 9 2017082~ 20170~ ((-97.2068 9 29.08475, -97.19893~[] [] @@ -4406,43 +4406,43 @@ File: RProgrammingForResearch_files/figure-latex/unnamed-chunk-565-1.pdf Graphi c file (type pdf) [350] [351] -Overfull \hbox (48.75pt too wide) in paragraph at lines 16408--16408 +Overfull \hbox (48.75pt too wide) in paragraph at lines 16426--16426 []\TU/lmtt/m/n/10 ## begin_date_time end_date_time episode_id event _id state fips[] [] -Overfull \hbox (54.0pt too wide) in paragraph at lines 16408--16408 +Overfull \hbox (54.0pt too wide) in paragraph at lines 16426--16426 []\TU/lmtt/m/n/10 ## [] [] -Overfull \hbox (54.0pt too wide) in paragraph at lines 16408--16408 +Overfull \hbox (54.0pt too wide) in paragraph at lines 16426--16426 []\TU/lmtt/m/n/10 ## 1 2017-04-06 15:09:00 2017-04-06 15:09:00 113355 678 791 New ~ 34015[] [] -Overfull \hbox (54.0pt too wide) in paragraph at lines 16408--16408 +Overfull \hbox (54.0pt too wide) in paragraph at lines 16426--16426 []\TU/lmtt/m/n/10 ## 2 2017-04-06 09:30:00 2017-04-06 09:40:00 113459 679 228 Flor~ 12071[] [] -Overfull \hbox (54.0pt too wide) in paragraph at lines 16408--16408 +Overfull \hbox (54.0pt too wide) in paragraph at lines 16426--16426 []\TU/lmtt/m/n/10 ## 3 2017-04-05 17:49:00 2017-04-05 17:53:00 113448 679 268 Ohio 39057[] [] -Overfull \hbox (64.5pt too wide) in paragraph at lines 16408--16408 +Overfull \hbox (64.5pt too wide) in paragraph at lines 16426--16426 []\TU/lmtt/m/n/10 ## # ... with 7 more variables: event_type , cz_name , source ,[] [] -Overfull \hbox (17.25pt too wide) in paragraph at lines 16408--16408 +Overfull \hbox (17.25pt too wide) in paragraph at lines 16426--16426 []\TU/lmtt/m/n/10 ## # begin_lat , begin_lon , end_lat , end_l on [] [] @@ -4470,7 +4470,7 @@ c file (type pdf) ] Chapter 9. [359] [360] [361] -Underfull \hbox (badness 10000) in paragraph at lines 16784--16786 +Underfull \hbox (badness 10000) in paragraph at lines 16802--16804 \TU/lmtt/m/n/10 Not a git repository (or any of the parent directories): [] @@ -4495,7 +4495,7 @@ Chapter 10. File: figures/NASA_API_documentation.png Graphic file (type bmp) -Overfull \hbox (34.49026pt too wide) in paragraph at lines 17169--17169 +Overfull \hbox (34.49026pt too wide) in paragraph at lines 17187--17187 [] [] @@ -4508,7 +4508,7 @@ Underfull \vbox (badness 2351) has occurred while \output is active [] File: figures/mesonet_example.png Graphic file (type bmp) -Overfull \hbox (772.23917pt too wide) in paragraph at lines 17184--17184 +Overfull \hbox (772.23917pt too wide) in paragraph at lines 17202--17202 [] [] @@ -4516,62 +4516,62 @@ Overfull \hbox (772.23917pt too wide) in paragraph at lines 17184--17184 Underfull \vbox (badness 10000) has occurred while \output is active [] [374] [375] -Overfull \hbox (447.75pt too wide) in paragraph at lines 17224--17224 +Overfull \hbox (447.75pt too wide) in paragraph at lines 17242--17242 []\TU/lmtt/m/n/10 ## $ url : chr "https://mesonet.agron.iastate.edu/cgi -bin/request/asos.py/?station=DEN&data=sped&year1=2016&month1=6&day1=1&yea"| __ truncated__[] [] [376] -Overfull \hbox (75.0pt too wide) in paragraph at lines 17285--17285 +Overfull \hbox (75.0pt too wide) in paragraph at lines 17303--17303 []\TU/lmtt/m/n/10 ## station valid lon lat tmpf dwpf rel h drct sknt p01i[] [] -Overfull \hbox (75.0pt too wide) in paragraph at lines 17285--17285 +Overfull \hbox (75.0pt too wide) in paragraph at lines 17303--17303 []\TU/lmtt/m/n/10 ## [] [] -Overfull \hbox (75.0pt too wide) in paragraph at lines 17285--17285 +Overfull \hbox (75.0pt too wide) in paragraph at lines 17303--17303 []\TU/lmtt/m/n/10 ## 1 DEN 2016-06-01 00:00:00 -105. 39.8 NA NA N A 70 7 NA[] [] -Overfull \hbox (75.0pt too wide) in paragraph at lines 17285--17285 +Overfull \hbox (75.0pt too wide) in paragraph at lines 17303--17303 []\TU/lmtt/m/n/10 ## 2 DEN 2016-06-01 00:05:00 -105. 39.8 NA NA N A 80 8 NA[] [] -Overfull \hbox (75.0pt too wide) in paragraph at lines 17285--17285 +Overfull \hbox (75.0pt too wide) in paragraph at lines 17303--17303 []\TU/lmtt/m/n/10 ## 3 DEN 2016-06-01 00:10:00 -105. 39.8 NA NA N A 80 9 NA[] [] -Overfull \hbox (75.0pt too wide) in paragraph at lines 17285--17285 +Overfull \hbox (75.0pt too wide) in paragraph at lines 17303--17303 []\TU/lmtt/m/n/10 ## # ... with 21 more variables: alti , mslp , vsby , gust ,[] [] -Overfull \hbox (27.75pt too wide) in paragraph at lines 17285--17285 +Overfull \hbox (27.75pt too wide) in paragraph at lines 17303--17303 []\TU/lmtt/m/n/10 ## # skyc1 , skyc2 , skyc3 , skyc4 , sk yl1 ,[] [] -Overfull \hbox (80.25pt too wide) in paragraph at lines 17285--17285 +Overfull \hbox (80.25pt too wide) in paragraph at lines 17303--17303 []\TU/lmtt/m/n/10 ## # ice_accretion_1hr , ice_accretion_3hr , ice_ accretion_6hr ,[] [] -Overfull \hbox (33.0pt too wide) in paragraph at lines 17285--17285 +Overfull \hbox (33.0pt too wide) in paragraph at lines 17303--17303 []\TU/lmtt/m/n/10 ## # peak_wind_gust , peak_wind_drct , peak_wind_ time ,[] [] @@ -4580,7 +4580,7 @@ time ,[] File: figures/tigris_example.png Graphic file (type bmp) -Overfull \hbox (256.27231pt too wide) in paragraph at lines 17356--17356 +Overfull \hbox (256.27231pt too wide) in paragraph at lines 17374--17374 [] [] @@ -4594,14 +4594,14 @@ Underfull \vbox (badness 10000) has occurred while \output is active [] File: figures/countyweather2.png Graphic file (type bmp) -Overfull \hbox (329.29193pt too wide) in paragraph at lines 17430--17431 +Overfull \hbox (329.29193pt too wide) in paragraph at lines 17448--17449 [][] [] File: figures/countyweather1.png Graphic file (type bmp) -Overfull \hbox (329.29193pt too wide) in paragraph at lines 17434--17435 +Overfull \hbox (329.29193pt too wide) in paragraph at lines 17452--17453 [][] [] @@ -4615,85 +4615,85 @@ File: figures/hurrtrackformat.png Graphic file (type bmp) Underfull \vbox (badness 10000) has occurred while \output is active [] [383] [384] -Overfull \hbox (332.25pt too wide) in paragraph at lines 17539--17539 +Overfull \hbox (332.25pt too wide) in paragraph at lines 17557--17557 []\TU/lmtt/m/n/10 ## [2] "18510625, 0000, , HU, 28.0N, 94.8W, 80, -999, -999 , -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999,"[] [] -Overfull \hbox (332.25pt too wide) in paragraph at lines 17539--17539 +Overfull \hbox (332.25pt too wide) in paragraph at lines 17557--17557 []\TU/lmtt/m/n/10 ## [3] "18510625, 0600, , HU, 28.0N, 95.4W, 80, -999, -999 , -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999,"[] [] [385] [386] -Overfull \hbox (54.0pt too wide) in paragraph at lines 17703--17703 +Overfull \hbox (54.0pt too wide) in paragraph at lines 17721--17721 []\TU/lmtt/m/n/10 ## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9][] [] -Overfull \hbox (69.75pt too wide) in paragraph at lines 17703--17703 +Overfull \hbox (69.75pt too wide) in paragraph at lines 17721--17721 []\TU/lmtt/m/n/10 ## [1,] "18510625" " 0000" " " " HU" " 28.0N" " 94.8W" " 8 0" " -999" " -999"[] [] -Overfull \hbox (59.25pt too wide) in paragraph at lines 17703--17703 +Overfull \hbox (59.25pt too wide) in paragraph at lines 17721--17721 []\TU/lmtt/m/n/10 ## [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18][] [] -Overfull \hbox (69.75pt too wide) in paragraph at lines 17703--17703 +Overfull \hbox (69.75pt too wide) in paragraph at lines 17721--17721 []\TU/lmtt/m/n/10 ## [1,] " -999" " -999" " -999" " -999" " -999" " -999" " -99 9" " -999" " -999"[] [] -Overfull \hbox (54.0pt too wide) in paragraph at lines 17703--17703 +Overfull \hbox (54.0pt too wide) in paragraph at lines 17721--17721 []\TU/lmtt/m/n/10 ## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9][] [] -Overfull \hbox (69.75pt too wide) in paragraph at lines 17703--17703 +Overfull \hbox (69.75pt too wide) in paragraph at lines 17721--17721 []\TU/lmtt/m/n/10 ## [1,] "18510625" " 0600" " " " HU" " 28.0N" " 95.4W" " 8 0" " -999" " -999"[] [] -Overfull \hbox (59.25pt too wide) in paragraph at lines 17703--17703 +Overfull \hbox (59.25pt too wide) in paragraph at lines 17721--17721 []\TU/lmtt/m/n/10 ## [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18][] [] -Overfull \hbox (69.75pt too wide) in paragraph at lines 17703--17703 +Overfull \hbox (69.75pt too wide) in paragraph at lines 17721--17721 []\TU/lmtt/m/n/10 ## [1,] " -999" " -999" " -999" " -999" " -999" " -999" " -99 9" " -999" " -999"[] [] [387] [388] [389] -Overfull \hbox (258.75pt too wide) in paragraph at lines 17924--17924 +Overfull \hbox (258.75pt too wide) in paragraph at lines 17942--17942 []\TU/lmtt/m/n/10 ## ..$ journal : chr [1:10] "PLOS Pathogens" "PLOS ONE" "PLOS Neglected Tropical Diseases" "PLOS ONE" ...[] [] -Overfull \hbox (353.25pt too wide) in paragraph at lines 17924--17924 +Overfull \hbox (353.25pt too wide) in paragraph at lines 17942--17942 []\TU/lmtt/m/n/10 ## ..$ publication_date: chr [1:10] "2019-10-31T00:00:00Z" "2015-12-30T00:00:00Z" "2017-11-08T00:00:00Z" "2017-10-12T00:00:00Z" ...[] [] -Overfull \hbox (216.75pt too wide) in paragraph at lines 17924--17924 +Overfull \hbox (216.75pt too wide) in paragraph at lines 17942--17942 []\TU/lmtt/m/n/10 ## ..$ article_type : chr [1:10] "Review" "Research Arti cle" "Research Article" "Research Article" ...[] [] -Overfull \hbox (2579.25pt too wide) in paragraph at lines 17924--17924 +Overfull \hbox (2579.25pt too wide) in paragraph at lines 17942--17942 []\TU/lmtt/m/n/10 ## ..$ abstract : chr [1:10] "\nIt has been 20 years since West Nile virus first emerged in the Americas, and since then, little pr ogress has"| __truncated__ "\nWest Nile virus (WNV) is a mosquito-transmitted F @@ -4705,7 +4705,7 @@ Nile Disease results from the usual functioning of the socio-ecological system, [] -Overfull \hbox (1991.25pt too wide) in paragraph at lines 17924--17924 +Overfull \hbox (1991.25pt too wide) in paragraph at lines 17942--17942 []\TU/lmtt/m/n/10 ## ..$ title : chr [1:10] "Twenty years of West N ile virus spread and evolution in the Americas visualized by Nextstrain" "Spati o-Temporal Identification of Areas Suitable for West Nile Disease in the Medite @@ -4715,7 +4715,7 @@ of West African lineages of West Nile virus" "Geographic variations of the bird [] -Overfull \hbox (2579.25pt too wide) in paragraph at lines 17924--17924 +Overfull \hbox (2579.25pt too wide) in paragraph at lines 17942--17942 []\TU/lmtt/m/n/10 ## ..$ subject : chr [1:10] "/Biology and life scie nces/Biogeography/Phylogeography,/Biology and life sciences/Evolutionary biolog y/Evolutio"| __truncated__ "/Biology and life sciences/Developmental biology/Li @@ -4743,7 +4743,7 @@ File: RProgrammingForResearch_files/figure-latex/q-1.pdf Graphic file (type pdf Package amsmath Warning: Foreign command \atopwithdelims; (amsmath) \frac or \genfrac should be used instead -(amsmath) on input line 18267. +(amsmath) on input line 18285. [398] File: RProgrammingForResearch_files/figure-latex/w-1.pdf Graphic file (type pdf @@ -4761,9 +4761,9 @@ File: RProgrammingForResearch_files/figure-latex/z-1.pdf Graphic file (type pdf ) [401] -Overfull \hbox (1.5pt too wide) in paragraph at lines 18458--18458 -[]\TU/lmtt/m/n/10 ## [1] 0.7877440 0.2016948 0.1218589 0.5835707 1.0969425 0.20 -71909[] +Overfull \hbox (1.5pt too wide) in paragraph at lines 18476--18476 +[]\TU/lmtt/m/n/10 ## [1] 1.2641562 0.8838096 0.7132530 0.7915380 1.0801631 1.11 +82116[] [] [402] [403] [404] @@ -4771,7 +4771,7 @@ File: RProgrammingForResearch_files/figure-latex/gg-1.pdf Graphic file (type pd f) -Underfull \hbox (badness 10000) in paragraph at lines 18691--18691 +Underfull \hbox (badness 10000) in paragraph at lines 18709--18709 []\TU/GillSans(0)/bx/n/14.4 Other computationally-intensive ap- [] @@ -4779,12 +4779,12 @@ Underfull \hbox (badness 10000) in paragraph at lines 18691--18691 Underfull \vbox (badness 6592) has occurred while \output is active [] [405] -Underfull \hbox (badness 10000) in paragraph at lines 18755--18757 +Underfull \hbox (badness 10000) in paragraph at lines 18773--18775 [] [406] -Underfull \hbox (badness 10000) in paragraph at lines 18757--18759 +Underfull \hbox (badness 10000) in paragraph at lines 18775--18777 [] @@ -4801,7 +4801,7 @@ File: figures/FrontBackRestaurant.jpg Graphic file (type bmp) File: figures/AppFileExample.png Graphic file (type bmp) [411] [412] [413] [414] -Overfull \hbox (48.31107pt too wide) in paragraph at lines 18993--18994 +Overfull \hbox (48.31107pt too wide) in paragraph at lines 19011--19012 []\TU/GillSans(0)/m/n/10 If I run this \TU/lmtt/m/n/10 ui.R\TU/GillSans(0)/m/n/ 10 , even if my \TU/lmtt/m/n/10 server.R \TU/GillSans(0)/m/n/10 file only inclu des the line \TU/lmtt/m/n/10 shinyServer(function(input, @@ -4814,77 +4814,77 @@ File: figures/SimplestUI.png Graphic file (type bmp) File: figures/UI2.png Graphic file (type bmp) [417] -Overfull \hbox (437.25pt too wide) in paragraph at lines 19079--19079 +Overfull \hbox (437.25pt too wide) in paragraph at lines 19097--19097 []\TU/lmtt/m/n/10 ## text[] [] -Overfull \hbox (437.25pt too wide) in paragraph at lines 19079--19079 +Overfull \hbox (437.25pt too wide) in paragraph at lines 19097--19097 []\TU/lmtt/m/n/10 ## 1 RT @forza_will2006: My heart aches for the people of Fra nce. #PorteOuverte #PrayForParis #DownWithTerrorism #Pompidou... https://t.co/K wtNPsQ...[] [] -Overfull \hbox (437.25pt too wide) in paragraph at lines 19079--19079 +Overfull \hbox (437.25pt too wide) in paragraph at lines 19097--19097 []\TU/lmtt/m/n/10 ## 2 Ensemble contre la haine #jesuisparis #porteouverte #paris @ Place de la Republique https://t.co/T ZykpVJHwd[] [] -Overfull \hbox (437.25pt too wide) in paragraph at lines 19118--19118 +Overfull \hbox (437.25pt too wide) in paragraph at lines 19136--19136 []\TU/lmtt/m/n/10 ## text[] [] -Overfull \hbox (437.25pt too wide) in paragraph at lines 19118--19118 +Overfull \hbox (437.25pt too wide) in paragraph at lines 19136--19136 []\TU/lmtt/m/n/10 ## 1 RT @forza_will2006: My heart aches for the people of Fra nce. #PorteOuverte #PrayForParis #DownWithTerrorism #Pompidou... https://t.co/K wtNPsQ...[] [] -Overfull \hbox (437.25pt too wide) in paragraph at lines 19118--19118 +Overfull \hbox (437.25pt too wide) in paragraph at lines 19136--19136 []\TU/lmtt/m/n/10 ## 2 Ensemble contre la haine #jesuisparis #porteouverte #paris @ Place de la Republique https://t.co/T ZykpVJHwd[] [] -Overfull \hbox (437.25pt too wide) in paragraph at lines 19118--19118 +Overfull \hbox (437.25pt too wide) in paragraph at lines 19136--19136 []\TU/lmtt/m/n/10 ## 3 Libert[]e, []egalit[]e, fraternit[]e #Par[ ]is #TodosSomosPar[]is #JeSuisParis #PorteOuverte #peace #paix #paz... https:// t.co/AjYVrmCCnL[] [] -Overfull \hbox (437.25pt too wide) in paragraph at lines 19118--19118 +Overfull \hbox (437.25pt too wide) in paragraph at lines 19136--19136 []\TU/lmtt/m/n/10 ## 4 Stay With My French #prayforparis #paris attacks #porteouverte #france #riphumanity #liberte #egalit[]e... https://t.co/ 9DH5diHmyz[] [] -Overfull \hbox (437.25pt too wide) in paragraph at lines 19118--19118 +Overfull \hbox (437.25pt too wide) in paragraph at lines 19136--19136 []\TU/lmtt/m/n/10 ## 5 [] [] -Overfull \hbox (437.25pt too wide) in paragraph at lines 19118--19118 +Overfull \hbox (437.25pt too wide) in paragraph at lines 19136--19136 []\TU/lmtt/m/n/10 ## 6 RT @bodoi_music: J[]ai peur je cherche un abri #porteouverte https://t.co/ 1DIr4VLOEa[] [] [418] -Overfull \hbox (351.05376pt too wide) in paragraph at lines 19133--19148 +Overfull \hbox (342.6602pt too wide) in paragraph at lines 19151--19166 [][] [] @@ -4945,25 +4945,25 @@ File: RProgrammingForResearch_files/figure-latex/unnamed-chunk-655-1.pdf Graphi c file (type pdf) -Overfull \hbox (22.5pt too wide) in paragraph at lines 19668--19668 +Overfull \hbox (22.5pt too wide) in paragraph at lines 19686--19686 []\TU/lmtt/m/n/10 ## station lat lon elev tjan tjul tann pjan pjul pa nn idnum[] [] -Overfull \hbox (22.5pt too wide) in paragraph at lines 19668--19668 +Overfull \hbox (22.5pt too wide) in paragraph at lines 19686--19686 []\TU/lmtt/m/n/10 ## 1 ANT 44.917 -120.717 846 0.0 20.2 9.6 41 9 3 22 350197[] [] -Overfull \hbox (22.5pt too wide) in paragraph at lines 19668--19668 +Overfull \hbox (22.5pt too wide) in paragraph at lines 19686--19686 []\TU/lmtt/m/n/10 ## 2 ARL 45.717 -120.200 96 0.9 24.6 12.5 40 6 2 28 350265[] [] -Overfull \hbox (22.5pt too wide) in paragraph at lines 19668--19668 +Overfull \hbox (22.5pt too wide) in paragraph at lines 19686--19686 []\TU/lmtt/m/n/10 ## 3 ASH 42.217 -122.717 543 3.1 20.8 11.1 70 7 4 80 350304[] [] @@ -4975,7 +4975,7 @@ c file (type pdf) Underfull \vbox (badness 10000) has occurred while \output is active [] [433] -Overfull \vbox (1.68384pt too high) detected at line 19736 +Overfull \vbox (1.68384pt too high) detected at line 19754 [] [434] @@ -5012,7 +5012,7 @@ Underfull \vbox (badness 10000) has occurred while \output is active [] File: figures/NMMAPS.png Graphic file (type bmp) -Overfull \hbox (383.50941pt too wide) in paragraph at lines 19856--19856 +Overfull \hbox (383.50941pt too wide) in paragraph at lines 19874--19874 [] [] @@ -5023,7 +5023,7 @@ Underfull \vbox (badness 10000) has occurred while \output is active [] File: figures/NMMAPSPackageStructure.pdf Graphic file (type pdf) -Overfull \hbox (377.69824pt too wide) in paragraph at lines 19862--19862 +Overfull \hbox (377.69824pt too wide) in paragraph at lines 19880--19880 [] [] @@ -5034,7 +5034,7 @@ Underfull \vbox (badness 10000) has occurred while \output is active [] File: figures/weathermetrics_cran.png Graphic file (type bmp) -Overfull \hbox (384.72449pt too wide) in paragraph at lines 20002--20002 +Overfull \hbox (384.72449pt too wide) in paragraph at lines 20020--20020 [] [] @@ -5051,7 +5051,7 @@ Underfull \vbox (badness 1067) has occurred while \output is active [] File: figures/convert_temperature_helpfile.png Graphic file (type bmp) -Overfull \hbox (364.98914pt too wide) in paragraph at lines 20049--20049 +Overfull \hbox (364.98914pt too wide) in paragraph at lines 20067--20067 [] [] @@ -5062,7 +5062,7 @@ Underfull \vbox (badness 10000) has occurred while \output is active [] File: figures/weathermetrics_package.png Graphic file (type bmp) -Overfull \hbox (273.34622pt too wide) in paragraph at lines 20200--20200 +Overfull \hbox (273.34622pt too wide) in paragraph at lines 20218--20218 [] [] @@ -5070,7 +5070,7 @@ Overfull \hbox (273.34622pt too wide) in paragraph at lines 20200--20200 File: figures/c_to_f_helpfile.png Graphic file (type bmp) -Overfull \hbox (323.09903pt too wide) in paragraph at lines 20282--20282 +Overfull \hbox (323.09903pt too wide) in paragraph at lines 20300--20300 [] [] @@ -5081,7 +5081,7 @@ Underfull \vbox (badness 10000) has occurred while \output is active [] File: figures/initialize_r_package.png Graphic file (type bmp) -Overfull \hbox (300.39983pt too wide) in paragraph at lines 20377--20377 +Overfull \hbox (300.39983pt too wide) in paragraph at lines 20395--20395 [] [] @@ -5098,7 +5098,7 @@ Underfull \vbox (badness 10000) has occurred while \output is active [] File: figures/example_package_skeleton.png Graphic file (type bmp) -Overfull \hbox (756.67705pt too wide) in paragraph at lines 20385--20385 +Overfull \hbox (756.67705pt too wide) in paragraph at lines 20403--20403 [] [] @@ -5110,21 +5110,21 @@ Appendix A. [461 ] [462] -Underfull \hbox (badness 3375) in paragraph at lines 20693--20695 +Underfull \hbox (badness 3375) in paragraph at lines 20711--20713 []\TU/GillSans(0)/m/n/10 Some common geoms: \TU/lmtt/m/n/10 geom_histogram\TU/G illSans(0)/m/n/10 , \TU/lmtt/m/n/10 geom_points\TU/GillSans(0)/m/n/10 , \TU/lmt t/m/n/10 geom_lines\TU/GillSans(0)/m/n/10 , [] -Overfull \hbox (0.29634pt too wide) in paragraph at lines 20695--20697 +Overfull \hbox (0.29634pt too wide) in paragraph at lines 20713--20715 []\TU/GillSans(0)/m/n/10 The difference between “statistical” geoms (e.g., \TU/ lmtt/m/n/10 geom_boxplot\TU/GillSans(0)/m/n/10 , \TU/lmtt/m/n/10 geom_smooth\TU /GillSans(0)/m/n/10 ) [] -Underfull \hbox (badness 3138) in paragraph at lines 20697--20698 +Underfull \hbox (badness 3138) in paragraph at lines 20715--20716 []\TU/GillSans(0)/m/n/10 Common additions to \TU/lmtt/m/n/10 ggplot \TU/GillSan s(0)/m/n/10 objects: \TU/lmtt/m/n/10 ggtitle\TU/GillSans(0)/m/n/10 , \TU/lmtt/m /n/10 labs\TU/GillSans(0)/m/n/10 , \TU/lmtt/m/n/10 xlim\TU/GillSans(0)/m/n/10 , @@ -5138,7 +5138,7 @@ Underfull \vbox (badness 1629) has occurred while \output is active [] Underfull \vbox (badness 2142) has occurred while \output is active [] [464] -Underfull \hbox (badness 1253) in paragraph at lines 20788--20789 +Underfull \hbox (badness 1253) in paragraph at lines 20806--20807 []\TU/GillSans(0)/m/n/10 The \TU/lmtt/m/n/10 *_join \TU/GillSans(0)/m/n/10 fami ly of functions (\TU/lmtt/m/n/10 left_join\TU/GillSans(0)/m/n/10 , \TU/lmtt/m/n /10 right_join\TU/GillSans(0)/m/n/10 , \TU/lmtt/m/n/10 inner_join\TU/GillSans(0 @@ -5156,7 +5156,7 @@ File: images/note.png Graphic file (type bmp) File: figures/hw_4_plot.pdf Graphic file (type pdf) -Overfull \hbox (67.51892pt too wide) in paragraph at lines 21297--21297 +Overfull \hbox (67.51892pt too wide) in paragraph at lines 21315--21315 [] [] @@ -5167,16 +5167,16 @@ Underfull \vbox (badness 10000) has occurred while \output is active [] File: figures/hw_5_plot.png Graphic file (type bmp) -Overfull \hbox (455.04512pt too wide) in paragraph at lines 21366--21367 +Overfull \hbox (455.04512pt too wide) in paragraph at lines 21384--21385 [][] [] -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 21388. +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 21406. [477] -Package atveryend Info: Empty hook `AfterLastShipout' on input line 21388. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 21406. (./RProgrammingForResearch.aux) -Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 21388. -Package atveryend Info: Empty hook `AtEndAfterFileList' on input line 21388. +Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 21406. +Package atveryend Info: Empty hook `AtEndAfterFileList' on input line 21406. LaTeX Warning: There were undefined references. @@ -5186,8 +5186,8 @@ LaTeX Warning: There were multiply-defined labels. ) Here is how much of TeX's memory you used: 29030 strings out of 492916 - 560346 string characters out of 6133346 - 756404 words of memory out of 5000000 + 560364 string characters out of 6133346 + 756422 words of memory out of 5000000 32575 multiletter control sequences out of 15000+600000 538876 words of font info for 95 fonts, out of 8000000 for 9000 1348 hyphenation exceptions out of 8191 diff --git a/docs/RProgrammingForResearch.pdf b/docs/RProgrammingForResearch.pdf index a12cee3fe78ffafb6cad782c374bfa7a390b0b1f..f62376cda38b34e6b3b79144efc4f97b2c35cd47 100644 GIT binary patch delta 367317 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
u)9jbOt=m|_`4+(Jpa?7 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

pGuP-nt4FUbzpBhB-nk+Aa%H!u1 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 o=Ax_DxT~l%zVLC!QRkN90MMqDIY5t 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 z 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

8dpJjwkTAx=cH9B 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

^<6^ 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 diff --git a/docs/RProgrammingForResearch_files/figure-html/gg-1.png b/docs/RProgrammingForResearch_files/figure-html/gg-1.png index 8f6554d9b36b474e4e5520fd68460f6a155a7f71..628fc300df555591335d4097b7f377bf11092f0c 100644 GIT binary patch literal 42169 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

*f6m!X4l{`b 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 literal 42942 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∈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 ba0{dUfP_cMT1^B4|H)iXIG-h9c>VtYy^dIv diff --git a/docs/RProgrammingForResearch_files/figure-html/unnamed-chunk-250-1.png b/docs/RProgrammingForResearch_files/figure-html/unnamed-chunk-250-1.png index 46f86a6e5436defc57eb1f09069e26082ae4a8ba..c58a68b8fdb293ed5ede5e41be446852ea484177 100644 GIT binary patch literal 48292 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 Q4g5HxtfBPmlV!Z literal 44817 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 PHSp)TeD$&d53b-JM@Z@+ literal 62743 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 diff --git a/docs/RProgrammingForResearch_files/figure-html/unnamed-chunk-526-1.png b/docs/RProgrammingForResearch_files/figure-html/unnamed-chunk-526-1.png index 9902fde71de57890e68e723f422f2b373fdde951..918220cf2acf89aef18ab9896906694cc1ea351f 100644 GIT binary patch literal 286479 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%0D;V0rM$H`DGcl)PhUS}{h5%~4_S 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�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%0APAa0@bP{Uo+F0f|i$R{N$0< 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 L4KUGT!oV;}6O`b)VD9-@v(V<+6-^W*ZI_5mA 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 Br9uDz literal 285479 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%0A~*NHYEpd2jvI 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ⅆ&*7j9c3G7Nb1o!ESo&{#_8AAue`A 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 G#s2_@p%-!h literal 107934 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

3}S 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 Wb2k!hsP*!|pXrHH-%^jeT>Bs1A*Ztd literal 129861 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 z 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 PCAWWgd~wA&@WB57l3zdB diff --git a/docs/RProgrammingForResearch_files/figure-html/w-1.png b/docs/RProgrammingForResearch_files/figure-html/w-1.png index 28300f1c4513cecc693f623c303f8c3cefc0301f..e6501ccb53624d9f6c4eeb51ebf3990e4fe3af97 100644 GIT binary patch literal 51846 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 literal 35412 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 diff --git a/docs/appendix-a-vocabulary.html b/docs/appendix-a-vocabulary.html index 70c0d7dc..88a1c12f 100644 --- a/docs/appendix-a-vocabulary.html +++ b/docs/appendix-a-vocabulary.html @@ -24,7 +24,7 @@ - + @@ -219,7 +219,7 @@

  • 1.9.2 Dataframes
  • 1.10 In-course Exercise Chapter 1
  • 1.10 In-course Exercise Chapter 1
  • 1.10 In-course Exercise Chapter 1
  • 1.10 In-course Exercise Chapter 1
  • 1.10 In-course Exercise Chapter 1
      -
    • 1.10.1 Trying out the code in slides so far
    • +
    • 1.10.1 Trying out the code in slides for first lecture videos
    • 1.10.2 Writing your code as an R script
    • 1.10.3 About the dataset
    • 1.10.4 Manually creating vectors
    • @@ -686,19 +686,19 @@

      6.3 Longer data

      Here is some simulated wide data:

      wide_stocks[1:3, ]
      ## # A tibble: 3 x 4
      -##   time            X      Y     Z
      -##   <date>      <dbl>  <dbl> <dbl>
      -## 1 2009-01-01 -0.567 -0.282  2.74
      -## 2 2009-01-02 -1.47   0.864  5.96
      -## 3 2009-01-03 -0.587  1.13  -1.39
      +## time X Y Z +## <date> <dbl> <dbl> <dbl> +## 1 2009-01-01 0.902 -0.454 -7.09 +## 2 2009-01-02 0.181 -1.87 -0.346 +## 3 2009-01-03 -0.636 -3.00 -0.202

      In the wide_stocks dataset, there are separate columns for three different stocks (X, Y, and Z). Each cell gives the value for a certain stock on a certain day. This data isn’t “tidy”, because the identify of the stock (X, Y, or Z) is a variable, and you’ll probably want to include it as a variable in modeling.

      wide_stocks[1:3, ]
      ## # A tibble: 3 x 4
      -##   time            X      Y     Z
      -##   <date>      <dbl>  <dbl> <dbl>
      -## 1 2009-01-01 -0.567 -0.282  2.74
      -## 2 2009-01-02 -1.47   0.864  5.96
      -## 3 2009-01-03 -0.587  1.13  -1.39
      +## time X Y Z +## <date> <dbl> <dbl> <dbl> +## 1 2009-01-01 0.902 -0.454 -7.09 +## 2 2009-01-02 0.181 -1.87 -0.346 +## 3 2009-01-03 -0.636 -3.00 -0.202

      If you want to convert the dataframe to have all stock values in a single column, you can use pivot_longer to convert wide data to long data:

      long_stocks <- pivot_longer(data = wide_stocks,
                                   cols = -time,
      @@ -708,21 +708,21 @@ 

      6.3 Longer data

      ## # A tibble: 5 x 3
       ##   time       stock  price
       ##   <date>     <chr>  <dbl>
      -## 1 2009-01-01 X     -0.567
      -## 2 2009-01-01 Y     -0.282
      -## 3 2009-01-01 Z      2.74 
      -## 4 2009-01-02 X     -1.47 
      -## 5 2009-01-02 Y      0.864
      +## 1 2009-01-01 X 0.902 +## 2 2009-01-01 Y -0.454 +## 3 2009-01-01 Z -7.09 +## 4 2009-01-02 X 0.181 +## 5 2009-01-02 Y -1.87

      In this “longer” dataframe, there is now one column that gives the identify of the stock (stock) and another column that gives the price of that stock that day (price):

      long_stocks[1:5, ]
      ## # A tibble: 5 x 3
       ##   time       stock  price
       ##   <date>     <chr>  <dbl>
      -## 1 2009-01-01 X     -0.567
      -## 2 2009-01-01 Y     -0.282
      -## 3 2009-01-01 Z      2.74 
      -## 4 2009-01-02 X     -1.47 
      -## 5 2009-01-02 Y      0.864
      +## 1 2009-01-01 X 0.902 +## 2 2009-01-01 Y -0.454 +## 3 2009-01-01 Z -7.09 +## 4 2009-01-02 X 0.181 +## 5 2009-01-02 Y -1.87

      The format for a pivots_longer call is:

      ## Generic code
       new_df <- pivot_longer(old_df,
      @@ -747,13 +747,13 @@ 

      6.3 Longer data

      values_from = price) stocks[1:5, ]
      ## # A tibble: 5 x 4
      -##   time            X       Y     Z
      -##   <date>      <dbl>   <dbl> <dbl>
      -## 1 2009-01-01 -0.567 -0.282   2.74
      -## 2 2009-01-02 -1.47   0.864   5.96
      -## 3 2009-01-03 -0.587  1.13   -1.39
      -## 4 2009-01-04 -0.735 -0.0693  2.62
      -## 5 2009-01-05 -1.01  -2.62    2.45
      +## time X Y Z +## <date> <dbl> <dbl> <dbl> +## 1 2009-01-01 0.902 -0.454 -7.09 +## 2 2009-01-02 0.181 -1.87 -0.346 +## 3 2009-01-03 -0.636 -3.00 -0.202 +## 4 2009-01-04 1.28 0.902 -3.60 +## 5 2009-01-05 -3.02 -0.914 5.74

      Notice that this reverses the action of pivot_longer.

      The “wider” your data the less likely it is to be tidy, so won’t use pivot_wider frequently when you are preparing data for analysis. However, pivot_wider can be very helpful in creating tables for final reports and presentations.

      For example, if you wanted to create a table with means and standard deviations for each of the three stocks, you could use pivot_wider to rearrange the final summary to create an attractive table.

      @@ -763,11 +763,11 @@

      6.3 Longer data

      ## `summarise()` ungrouping output (override with `.groups` argument)
      stock_summary
      ## # A tibble: 3 x 4
      -##   stock     N     mean    sd
      -##   <chr> <int>    <dbl> <dbl>
      -## 1 X        10 -0.729   0.937
      -## 2 Y        10  0.00731 1.86 
      -## 3 Z        10  1.36    3.94
      +## stock N mean sd +## <chr> <int> <dbl> <dbl> +## 1 X 10 0.182 1.30 +## 2 Y 10 -0.289 2.52 +## 3 Z 10 -2.30 3.59
      stock_summary %>%
         mutate("Mean (Std.dev.)" = paste0(round(mean, 2), " (",
                                           round(sd, 2), ")")) %>%
      @@ -794,9 +794,9 @@ 

      6.3 Longer data

      Mean (Std.dev.) --0.73 (0.94) -0.01 (1.86) -1.36 (3.94) +0.18 (1.3) +-0.29 (2.52) +-2.3 (3.59) diff --git a/docs/entering-and-cleaning-data-3.html b/docs/entering-and-cleaning-data-3.html index a8b8ca70..8de92ff5 100644 --- a/docs/entering-and-cleaning-data-3.html +++ b/docs/entering-and-cleaning-data-3.html @@ -24,7 +24,7 @@ - + @@ -219,7 +219,7 @@
    • 1.9.2 Dataframes
  • 1.10 In-course Exercise Chapter 1
  • 1.10 In-course Exercise Chapter 1
  • 1.10 In-course Exercise Chapter 1
  • 1.10 In-course Exercise Chapter 1
      -
    • 1.10.1 Trying out the code in slides so far
    • +
    • 1.10.1 Trying out the code in slides for first lecture videos
    • 1.10.2 Writing your code as an R script
    • 1.10.3 About the dataset
    • 1.10.4 Manually creating vectors
    • @@ -577,14 +577,14 @@

      11.1.1 The lady tasting tea

      n_cups <- 8
       cups <- sample(rep(c("milk", "tea"), each = n_cups / 2))
       cups
      -
      ## [1] "tea"  "milk" "milk" "tea"  "milk" "tea"  "tea"  "milk"
      +
      ## [1] "tea"  "tea"  "milk" "milk" "tea"  "tea"  "milk" "milk"
      guesses <- sample(rep(c("milk", "tea"), each = n_cups / 2))
       guesses
      -
      ## [1] "tea"  "milk" "milk" "tea"  "tea"  "milk" "tea"  "milk"
      +
      ## [1] "tea"  "tea"  "milk" "milk" "tea"  "milk" "milk" "tea"

      For this simulation, determine how many cups she got right (i.e., guess equals the true value):

      cup_results <- cups == guesses
       cup_results
      -
      ## [1]  TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE
      +
      ## [1]  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE FALSE
      n_right <- sum(cup_results)
       n_right
      ## [1] 6
      @@ -604,16 +604,16 @@

      11.1.1 The lady tasting tea

      eval = [code to replicate each time])
      tea_sims <- replicate(5, sim_null_tea(n_cups = 8))
       tea_sims
      -
      ## [1] 4 4 6 4 2
      +
      ## [1] 8 4 4 4 6

      This call gives a vector with the number of cups she got right for each simulation. You can replicate the simulation many times to get a better idea of what to expect if she just guesses, including what percent of the time she gets all cups right.

      tea_sims <- replicate(1000, sim_null_tea(n_cups = 8))
       mean(tea_sims)
      -
      ## [1] 4.032
      +
      ## [1] 3.902
      quantile(tea_sims, probs = c(0.025, 0.975))
      ##  2.5% 97.5% 
       ##     2     6
      mean(tea_sims == 8)
      -
      ## [1] 0.016
      +
      ## [1] 0.012

      Now we’d like to know, for different numbers of cups of tea, what is the probability that the lady will get all cups right?

      For this, we can apply the replication code across different values of n_cups:

      n_cups <- seq(from = 2, to = 14, by = 2)
      @@ -623,7 +623,7 @@ 

      11.1.1 The lady tasting tea

      return(out) }) perc_all_right
      -
      ## [1] 0.472 0.160 0.059 0.011 0.003 0.001 0.000
      +
      ## [1] 0.488 0.166 0.051 0.019 0.003 0.000 0.000
      tea_sims <- data_frame(n_cups, perc_all_right)
       ggplot(tea_sims, aes(x = n_cups, y = perc_all_right)) + 
         geom_point() + xlab("# of cups tested") + 
      @@ -725,13 +725,13 @@ 

      11.1.2 Playing darts

      throw.x <- runif(n.throws, min = -1, max = 1) throw.y <- runif(n.throws, min = -1, max = 1) head(cbind(throw.x, throw.y))
      -
      ##         throw.x     throw.y
      -## [1,] -0.8052732  0.92739299
      -## [2,]  0.1605127 -0.65339562
      -## [3,]  0.6041225  0.78838430
      -## [4,]  0.1468946  0.72066105
      -## [5,]  0.7392374 -0.80991631
      -## [6,]  0.8906165 -0.08200434
      +
      ##         throw.x    throw.y
      +## [1,]  0.5524726 -0.8217305
      +## [2,] -0.1481548 -0.2206223
      +## [3,]  0.9452591  0.6049874
      +## [4,] -0.5267736 -0.7348108
      +## [5,] -0.7088718  0.5798019
      +## [6,]  0.9778563 -0.8479374
      plot(c(-1, 1), c(-1,1), type = "n", asp=1,
            xlab = "", ylab = "", axes = FALSE)
       rect( -1, -1, 1, 1) 
      @@ -751,21 +751,21 @@ 

      11.1.2 Playing darts

      Use these rules to “score” each random throw:

      throw.dist <- sqrt(throw.x^2 + throw.y^2)
       head(throw.dist)
      -
      ## [1] 1.2282193 0.6728225 0.9932340 0.7354797 1.0965566 0.8943838
      +
      ## [1] 0.9901853 0.2657518 1.1222854 0.9041225 0.9157890 1.2942955
      throw.score <- cut(throw.dist,
                          breaks = c(0, .25, .5, .75, 1.5),
                          labels = c("20", "15", "10", "0"),
                          right = FALSE)
       head(throw.score)
      -
      ## [1] 0  10 0  10 0  0 
      +
      ## [1] 0  15 0  0  0  0 
       ## Levels: 20 15 10 0

      Now that we’ve scored each throw, let’s tally up the total:

      table(throw.score)
      ## throw.score
       ## 20 15 10  0 
      -##  1  3  4 12
      +## 0 3 3 14
      mean(as.numeric(as.character(throw.score)))
      -
      ## [1] 5.25
      +
      ## [1] 3.75

      So, this just showed one example of what might happen under the null. If we had a lot of examples like this (someone with no skill throwing 20 darts), what would we expect the mean scores to be?

      Questions to consider:

        @@ -831,14 +831,14 @@

        11.1.2 Playing darts

        right = FALSE)
      dist.throws[1:3,1:5]
      ##           [,1]      [,2]      [,3]      [,4]      [,5]
      -## [1,] 0.2585980 0.8142874 0.7331105 0.8520100 1.0150373
      -## [2,] 0.7688349 0.9866912 0.7243072 0.9847740 0.6136104
      -## [3,] 0.7012106 1.3494817 1.2311464 0.9279908 0.7348940
      +## [1,] 0.8316972 0.8431826 0.8722920 0.5525720 1.3335355 +## [2,] 0.6574708 1.3203518 0.8397787 0.4103512 0.4317604 +## [3,] 0.6139829 0.2888675 0.4662491 1.0717015 0.8835623
      score.throws[1:3,1:5]
      ##      [,1] [,2] [,3] [,4] [,5]
      -## [1,] "15" "0"  "10" "0"  "0" 
      -## [2,] "0"  "0"  "10" "0"  "10"
      -## [3,] "10" "0"  "0"  "0"  "10"
      +## [1,] "0" "0" "0" "10" "0" +## [2,] "10" "0" "0" "15" "15" +## [3,] "10" "15" "15" "0" "0"
      mean.scores <- apply(score.throws, MARGIN = 1,
                            function(x){
                                    out <- mean(as.numeric(
      @@ -846,13 +846,13 @@ 

      11.1.2 Playing darts

      return(out) }) head(mean.scores)
      -
      ## [1] 6.25 3.25 3.75 5.25 7.50 5.00
      +
      ## [1] 1.25 6.75 3.75 5.25 7.25 6.25

      Let’s check the simulated mean and variance against the theoretical values:

      mean(mean.scores) ## Theoretical: 5.635
      -
      ## [1] 5.647675
      +
      ## [1] 5.648225
      var(mean.scores) ## Theoretical: 2.27
      -
      ## [1] 2.302904
      +
      ## [1] 2.301028

      11.1.3 Simulations in research

      diff --git a/docs/index.html b/docs/index.html index 57e28320..bc4a2ec8 100644 --- a/docs/index.html +++ b/docs/index.html @@ -24,7 +24,7 @@ - + @@ -219,7 +219,7 @@
    • 1.9.2 Dataframes
  • 1.10 In-course Exercise Chapter 1
  • 1.10 In-course Exercise Chapter 1
      -
    • 1.10.1 Trying out the code in slides so far
    • +
    • 1.10.1 Trying out the code in slides for first lecture videos
    • 1.10.2 Writing your code as an R script
    • 1.10.3 About the dataset
    • 1.10.4 Manually creating vectors
    • @@ -1704,12 +1704,24 @@

      1.9.2 Dataframes

      1.10 In-course Exercise Chapter 1

      -
      -

      1.10.1 Trying out the code in slides so far

      +

      You will take turns sharing your screens as you work through this exercise. Before you +start, open you R session and use the sample function, with all of your group members’ +names, to randomly shuffle your names (revisit the in-course exercise in the “Course Overview” +chapter if you need a reminder).

      +

      You should do this on only one groups members computer. The order that you get from R is the +order that you should take turns sharing your screen and leading the effort on coding for +your group. When you are not sharing your screen, help out with suggestions, especially +for general directions you could take to approach a question. (There are standards for +pair programming that we’ll discuss next week, and these will provide more advice on how +to productively code in a group.)

      +
      +

      1.10.1 Trying out the code in slides for first lecture videos

      +

      Have one person in your group share their screen and take the lead in typing the code +or doing the other work for this part.

      To start, you’ll try running some simple code in R, using examples from the video lectures for Chapter 1. Take the following steps:

      1. Open an R session and find the “Console” pane.
      2. -
      3. Go through the slides we’ve covered so far. Find any examples of R +
      4. Go through the slides for video lectures 4 (“Function calls”) and 5 ("Objects and assignments). Find any examples of R expressions and try them out at the prompt in the console.
      5. Once you’ve run an assignment expression, find the “Environment” pane. Check that the object name that you assigned now appears there.
      6. @@ -1742,6 +1754,7 @@

        1.10.2 Writing your code as an R

      1.10.3 About the dataset

      +

      Trade the screen sharing to the next member of your group.

      For the rest of today’s class, you’ll be using a dataset of all the guests on The Daily Show when Jon Stewart was the host. This data was originally collected by Nate Silver’s website, @@ -1753,10 +1766,10 @@

      1.10.3 About the dataset

      into my GitHub repository for this class. The only change made to the original file was to add (commented) attribution information at the start of the file.

      First, check out a bit more about this data and its source:

      + + +
        -
      • Check out the Creative Commons -license. What are we allowed to do -with this data? What restrictions are there on using the data?
      • It’s often helpful to use prior knowledge to help check out or validate your dataset. One thing we might want to know about this data is if it covers the whole time that Jon Stewart hosted The Daily Show. Use Google to find out the @@ -1777,14 +1790,12 @@

        1.10.3 About the dataset

        In this exercise, you’re using data posted by FiveThirtyEight on GitHub. We’ll be using a lot of data that’s on GitHub this semester, and GitHub is being used behind-the-scenes for both this book and the course note slides. We’ll talk more about GitHub later, but you might find it interesting to explore a bit now. It’s a place where people can post, work on, and share code in a number of programming languages– it’s been referred to as “Facebook for Nerds”. You can search GitHub repositories and code specifically by programming language, so it can be a good way to find example R code from which to learn.

      -

      If you have extra time:

      -
        -
      • Check out the related -article -on FiveThirtyEight. What are some specific questions they used this data to -answer for this article?
      • -
      • Who is Nate Silver?
      • -
      + + + + + +

      1.10.4 Manually creating vectors

      @@ -1839,6 +1850,11 @@

      1.10.4 Manually creating vectors<

      1.10.5 Installing and using a package

      +

      Trade the screen sharing to the next member of your group. Have the person who +was sharing their screen save their R script and send it to this person through +the Zoom chat. The new person should open this R script and use it to re-run the +last part of the analysis, so that the vectors defined in the last part of the +exercise can be used here.

      The stringr package includes a number of functions that make it easier to work with character strings in R. In particular, it includes functions to change the capitalization of words in character stings. Here, you’ll install and load this @@ -1944,7 +1960,8 @@

      1.10.6 Manually creating a datafr

      1.10.7 Getting the data onto your computer

      Next, we will work with the whole dataset. Download the data from GitHub -onto your computer. In class, we created an R Project for you to use for this +onto your computer. It is very important for you to use this link rather than downloading the data from the FiveThirtyEight GitHub page, because there’s a small difference between the two files.

      +

      In class, we created an R Project for you to use for this class. Put the Daily Show data in that directory.

      Take the following steps to get the data onto your computer

        @@ -1972,7 +1989,7 @@

        1.10.8 Getting the data into RIf you do not already have it, install the readr package. Then load this package within your current R session using library.
      • Use the read_csv function from the readr package to read the data into R -and save it as the object daily_show.
      • +and save it as the object daily_show (see tips in the next few bullets).
      • Use the help file for the read_csv function to figure out how this function works. To pull that up, type ?read_csv at the R console. Can you figure out why it’s critical to use the skip option and set it to 4? (We will be talking @@ -2060,6 +2077,12 @@

        1.10.8 Getting the data into R

        1.10.9 Checking out the data

        +

        Trade who is sharing their screen again. The new coder will need to download +the data file fresh and move it into a “data” subdirectory of the R project +created at the start of the class meeting. The previous coder should save and +share his or her’s R script and send that to the new person by Zoom. The new +person should start by running that code and making sure everything’s working +well on their computer.

        You now have the data available in your current R session as the daily_show object. You’ll want to check it out to make sure it read in correctly, and also to get a feel for the data. Throughout, you can use the help pages to figure out @@ -2141,6 +2164,8 @@

        1.10.10 Using the data to answer

        Nate Silver was a guest on The Daily Show. Let’s use this data to figure out how many times he was a guest and when he was on the show.

        Find out more about Nate Silver on The Daily Show

        +

        (Don’t worry if you don’t make it to this sections! I’ve put it here for groups +that move through the rest quickly.)

        • The filter function from the dplyr package can be combined with logical statements to help you create a specific subset of data. For example, if you diff --git a/docs/reporting-data-results-1.html b/docs/reporting-data-results-1.html index 2435e4c8..7d5744fb 100644 --- a/docs/reporting-data-results-1.html +++ b/docs/reporting-data-results-1.html @@ -24,7 +24,7 @@ - + @@ -219,7 +219,7 @@
        • 1.9.2 Dataframes

      • 1.10 In-course Exercise Chapter 1
      • 1.10 In-course Exercise Chapter 1
          -
        • 1.10.1 Trying out the code in slides so far
        • +
        • 1.10.1 Trying out the code in slides for first lecture videos
        • 1.10.2 Writing your code as an R script
        • 1.10.3 About the dataset
        • 1.10.4 Manually creating vectors
        • @@ -793,11 +793,6 @@

          12.1.8 Creating output in s
          knitr::kable(tweet_sum[1:5, ],
                        col.names = c("Tag", "# of Tweets", "Example Tweet"))
          ----- @@ -809,28 +804,19 @@

          12.1.8 Creating output in s

          - + - - - - - - - - - - - +
          Tag
          #Paris 7502RT taimaz Situation tr es tendue devant le Bataclan les curieux d egag es manu militari afp 13novembre Paris https t co 6ElhABjw4LNA
          #PrayForParis 7250NA
          #13novembre1255RT taimaz Le m etro Oberkampf neutralis e paris 13novembre AFP https t co I0SNKsKIOs
          #PorteOuverte114713Ekim2015 Fransa france paris PorteOuverte kapi acikRT french sultan paris attaque
          -

          World D unya -Biz M usl umanlara https t co VqhIDWl32R | -|#fusillade | 765|NA |

          +

          Paris10 france PrayForParis https t co TOKfFUfxT4 | +|#13novembre | 1255|RT taimaz Enorme dispositif policier boulevard Voltaire AFP paris 13novembre https t co acgmB89EY5 | +|#PorteOuverte | 1147|RT hiyadisoufiane1 porteouverte Eiffel st Charles 37 rue Saint Charles si Jamais vs avez besoin | +|#fusillade | 765|RT Vince66240 Rue Bichat on mesure la violence de l attaque sur lepetitcambodge et LeCarillon ParisAttacks fusillade https t co 9E |

          For the Tweets that are geolocated, it’s possible to map the tweet locations using the following code:

          paris_map <- get_map("paris", zoom = 12, color = "bw")
           
          @@ -1012,15 +998,15 @@ 

          12.2.2 plotly packag data(worldcup) library(plotly) plot_ly(worldcup, type = "scatter", x = ~ Time, y = ~ Shots)

          -
          - +
          +

          Just like with ggplot2, the mappings you need depend on the type of plot you are creating.

          For example, scatterplots (type = "scatter") need x and y defined, while a surface plot (type = "surface") can be created with a single vector of elevation (we’ll see an example in a few slides).

          The help file for plot_ly includes a link with more documentation on the types of plots that can be made and the required mappings for each.

          plot_ly(worldcup, type = "scatter", x = ~ Time, y = ~ Shots,
                   color = ~ Position)
          -
          - +
          +

          The plotly package is designed so you can pipe data into plot_ly and add elements by piping into add_* functions (this idea is similar to adding elements to a ggplot object with +).

          worldcup %>%
             plot_ly(x = ~ Time, y = ~ Shots, color = ~ Position) %>%
          @@ -1039,15 +1025,15 @@ 

          12.2.2 plotly packag
          plot_ly(x = time(USAccDeaths), y = USAccDeaths) %>% 
             add_lines() %>%
             rangeslider()
          -
          - +
          +

          For a 3-D scatterplot, add a mapping to the z variable:

          worldcup %>%
             plot_ly(x = ~ Time, y = ~ Shots, z = ~ Passes,
                     color = ~ Position, size = I(3)) %>%
             add_markers()
          -
          - +
          +

          The volcano data comes with R and is in a matrix format. Each value gives the elevation for a particular pair of x- and y-coordinates.

          dim(volcano)
          ## [1] 87 61
          @@ -1058,8 +1044,8 @@

          12.2.2 plotly packag ## [3,] 102 102 103 103 ## [4,] 103 103 104 104

          plot_ly(z = ~ volcano, type = "surface")
          -
          - +
          +

          Mapping with plotly can build on some data that comes with base R or other packages you’ve likely added (or can add easily, as with the map_data function from ggplot2). For example, we can map state capitals and cities with > 40,000 people using data in the us.cities dataframe in the maps package:

          head(maps::us.cities, 3)
          ##         name country.etc    pop   lat    long capital
          @@ -1077,8 +1063,8 @@ 

          12.2.2 plotly packag data = filter(maps::us.cities, -125 < long & long < -60 & 25 < lat & lat < 52)) %>% layout(showlegend = FALSE)

          -
          - +
          +

          You can also make choropleths interactive. Remember that we earlier created a choropleth of US state populations with the following code:

          library(choroplethr)
           data(df_pop_state)
          @@ -1096,8 +1082,8 @@ 

          12.2.2 plotly packag add_markers(x = state.center[["x"]], y = state.center[["y"]], size = I(2), symbol = I(8), color = I("white"), hoverinfo = "none") %>% layout(geo = us_map)

          -
          - +
          +

          The other way to create a plotly graph is to first create a ggplot object and then transform it into an interactive graphic using the ggplotly function.

          The following code can be used to plot Time versus Shots for the World Cup date in a regular, non-interactive plot:

          shots_vs_time <- worldcup %>%
          @@ -1110,8 +1096,8 @@ 

          12.2.2 plotly packag

          To make the plot interactive, just pass the ggplot object to ggplotly:

          ggplotly(shots_vs_time)
          -
          - +
          +

          With R, not only can you pull things from another website using an API, you can also upload or submit things.

          There is a function in the plotly library, plotly_POST, that lets you post a plot you create in R to https://plot.ly.

          You need a plot.ly account to do that, but there are free accounts available.

          @@ -1131,8 +1117,8 @@

          12.2.3 rbokeh packag
          figure(width = 600, height = 300) %>%
             ly_points(Time, Shots, data = worldcup,
               color = Position, hover = list(Time, Shots))
          -
          - +
          +

          This package can also be used to create interactive maps. For example, the following dataset has data on Oregon climate stations, including locations:

          orstationc <- read.csv("data/orstationc.csv")
           head(orstationc, 3)
          @@ -1148,8 +1134,8 @@

          12.2.3 rbokeh packag
          gmap(lat = 44.1, lng = -120.767, zoom = 5, width = 500, height = 428) %>%
             ly_points(lon, lat, data = orstationc, alpha = 0.8, col = "red",
               hover = c(station, Name, elev, tann))
          -
          - +
          +

          You can get very creative with this package. The following code comes directly from the help documentation for the package and shows how to use this to create an interactive version of the periodic table:

          # prepare data
           elements <- subset(elements, !is.na(group))
          @@ -1200,8 +1186,8 @@ 

          12.2.3 rbokeh packag font_size = "4pt", align = "left", baseline = "middle") p

          -
          - +
          +

          12.2.4 dygraphs package

          @@ -1214,8 +1200,8 @@

          12.2.4 dygraphs pack dygraph(lungDeaths) %>% dySeries("mdeaths", label = "Male") %>% dySeries("fdeaths", label = "Female")

          -
          - +
          +

      12.2.5 DT package

      @@ -1224,8 +1210,8 @@

      12.2.5 DT packageThere is a website with more information on this package at http://rstudio.github.io/DT/.

      library(DT)
       datatable(worldcup)
      -
      - +
      +

      12.2.6 Creating your own widget

      diff --git a/docs/reporting-results-2.html b/docs/reporting-results-2.html index 976b300a..4f39153a 100644 --- a/docs/reporting-results-2.html +++ b/docs/reporting-results-2.html @@ -24,7 +24,7 @@ - + @@ -219,7 +219,7 @@
    • 1.9.2 Dataframes
  • 1.10 In-course Exercise Chapter 1
  • 1.10 In-course Exercise Chapter 1
  • 1.10 In-course Exercise Chapter 1
  • 1.10 In-course Exercise Chapter 1
      -
    • 1.10.1 Trying out the code in slides so far
    • +
    • 1.10.1 Trying out the code in slides for first lecture videos
    • 1.10.2 Writing your code as an R script
    • 1.10.3 About the dataset
    • 1.10.4 Manually creating vectors
    • @@ -694,7 +694,7 @@

      13.2.1 Contents of weathermetrics ## T.fahrenheit <- round(T.fahrenheit, digits = round) ## return(T.fahrenheit) ## } -## <bytecode: 0x7f94f144fe88> +## <bytecode: 0x7fea9ce1cef0> ## <environment: namespace:weathermetrics>

      Here is part of the help file for this function:

      diff --git a/docs/search_index.json b/docs/search_index.json index e7241258..ea559428 100644 --- a/docs/search_index.json +++ b/docs/search_index.json @@ -1,19 +1,19 @@ [ -["index.html", "R Programming for Research Colorado State University, ERHS 535 Online course book, ERHS 535", " R Programming for Research Colorado State University, ERHS 535 Brooke Anderson, Rachel Severson, and Nicholas Good 2020-08-25 Online course book, ERHS 535 This is the online book for Colorado State University’s R Programming for Research courses (ERHS 535, ERHS 581A3, and ERHS 581A4). This book includes course information, course notes, links to download pdfs of lecture slides, in-course exercises, homework assignments, and vocabulary lists for quizzes for this course. ““Give someone a program, you frustrate them for a day; teach them how to program, you frustrate them for a lifetime.”—David Leinweber\" This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. "], +["index.html", "R Programming for Research Colorado State University, ERHS 535 Online course book, ERHS 535", " R Programming for Research Colorado State University, ERHS 535 Brooke Anderson, Rachel Severson, and Nicholas Good 2020-08-26 Online course book, ERHS 535 This is the online book for Colorado State University’s R Programming for Research courses (ERHS 535, ERHS 581A3, and ERHS 581A4). This book includes course information, course notes, links to download pdfs of lecture slides, in-course exercises, homework assignments, and vocabulary lists for quizzes for this course. ““Give someone a program, you frustrate them for a day; teach them how to program, you frustrate them for a lifetime.”—David Leinweber\" This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. "], ["course-information.html", "Course information 0.1 Course overview 0.2 Time and place 0.3 Detailed schedule 0.4 Grading 0.5 Course set-up 0.6 Coursebook 0.7 In-course Exercise Chapter 0", " Course information Download a pdf of the lecture slides covering this topic. 0.1 Course overview This document provides the course notes for Colorado State University’s R Programming for Research courses (ERHS 535, ERHS 581A3, and ERHS 581A4). The courses offer in-depth instruction on data collection, data management, programming, and visualization, using data examples relevant to data-intensive research. 0.2 Time and place Students for ERHS 535, ERHS 581A3, and ERHS 581A4 will meet together. Students in ERHS 535 will meet for the entire semester, completing a three-credit course. Students in ERHS 581A3 will meet for the first five weeks of the semester, completing a one-credit course. Students in ERHS 581A4 will meet from the sixth week to the final week of the semester, completing a two-credit course. The course meets online. Course lectures are provided through YouTube videos. These are embedded in the online course book, and the book also provides links to playlists for each chapter of all the videos for that chapter. Exceptions to the regular live meeting times are: There will be no meeting on Labor Day (Monday, Sept. 7). There are no course meetings the week of Thanksgiving (week of Nov. 23). Office hours will be 10:00–11:00 AM on Fridays on Zoom. 0.3 Detailed schedule Here is a more detailed view of the schedule for this course for Fall 2019: Week Class dates Level Lecture content Graded items 1 Aug. 24, 26 Preliminary R Preliminaries 2 Aug. 31, Sept. 2 Basic Entering and cleaning data Quiz (W) 3 Sept. 9 Basic Exploring data Quiz (W), HW #1 (F) 4 Sept. 14, 16 Basic Reporting data results Quiz (W) 5 Sept. 21, 23 Basic Reproducible Research Quiz (W), HW #2 (F) 6 Sept. 28, 30 Intermediate Entering and cleaning data Quiz (W) 7 Oct. 5, 7 Intermediate Exploring data Quiz (W) 8 Oct. 12, 14 Intermediate Reporting data results Quiz (W), HW #3 (F) 9 Oct. 19, 21 Intermediate Reproducible Research Quiz (W) 10 Oct. 26, 28 Advanced Entering and cleaning data Quiz (W), HW #4 (F) 11 Nov. 2, 4 Advanced Exploring data 12 Nov. 9, 11 Advanced Exploring data (mapping) HW #5 (F) 13 Nov. 16, 18 Advanced Reporting data results 14 Nov. 30, Dec. 2 Advanced Reproducible Research HW #6 (F) 15 Dec. 7, 9 Advanced Continuing in R Project draft (W) 16 Week of Dec. 14 Group presentations Final project Students in ERHS 581A3 will be in weeks 1–5 of this schedule. Students in ERHS 581A4 will be in weeks 6–16 of this schedule. 0.4 Grading 0.4.1 Grading for ERHS 535 For ERHS 535, course grades will be determined by the following five components: Assessment component Percent of grade Final group project 30 Weekly in-class quizzes, weeks 2-10 25 Six homework assignments 25 Attendance and class participation 10 Weekly in-course group exercises 10 0.4.2 Grading for ERHS 581A3 For ERHS 581A3, course grades will be determined by the following four components: Assessment component Percent of grade Weekly in-class quizzes, weeks 2-5 40 Two homework assignments 30 Attendance and class participation 10 Weekly in-course group exercises 20 0.4.3 Grading for ERHS 581A4 For ERHS 581A4, course grades will be determined by the following five components: Assessment component Percent of grade Final group project 30 Weekly in-class quizzes, weeks 1–5 (weeks 6–10 of the semester) 25 Four homework assignments 30 Attendance and class participation 5 Weekly in-course group exercises 10 0.4.4 Attendance and class participation Because so much of the learning for this class is through interactive work in class, it is critical that you attend the live Zoom sessions. Half of the class will have these meetings from 10:00 AM–11:00 AM on Mondays and Wednesdays and the other half will have these meetings from 11:00 AM–12:00 PM on Mondays and Wednesdays. Videos of the lectures for each chapter of the online book will be shared through YouTube. These will be embedded in the book, and a playlist for each chapter will also be provided through a link at the start of that chapter in the book. You are responsible for watching these videos before the in-person Zoom meetings. You will get email reminders with a list of the videos that you need to watch before each live Zoom meeting. There will be about two hours worth of video lectures each week, broken into videos about 10–15 minutes each. If you are in ERHS 535, out of a possible 10 points for class attendance, you will get: 10 points if you miss two or fewer classes 8 points if you miss three classes 6 points if you miss four classes 4 points if you miss five classes 2 points if you miss six classes 0 points if you miss seven or more classes If you are in ERHS 581A3 or ERHS581A4, out of a possible 10 points for class attendance, you will get: 10 points if you miss one or fewer classes 8 points if you miss two classes 6 points if you miss three classes 4 points if you miss four classes 2 points if you miss five classes 0 points if you miss six or more classes Exceptions: Attendance on the first day of class (Aug. 24) will not be counted. If you miss classes for “University-sanctioned” activities. These can include attending a conference, travel to collect data for your dissertation), For these absences, you must provide a signed letter from your research adviser. For more details, see CSU’s Academic Policies on Course Attendance. If you have to miss class for a serious medical issue (e.g., operation, sickness severe enough to require a doctor’s visit), the absence will be excused if you bring in a note from a doctor of other medical professional giving the date you missed and that it was for a serious medical issue. For an absence to be excused, you must email me a copy of the letter by 5:00 pm the Friday afternoon following the class you missed. 0.4.5 Weekly in-course group exercises The live Zoom meetings will be spent doing in-course group exercises. As long as you are in class and participate in these exercises, you will get full credit for this component. If you miss a live class meeting, to get credit towards this component of your grade, you will need to turn a few paragraphs describing what was covered in the exercise and what you learned. To get credit for this, you must submit it to me by email by 5:00 pm the Friday afternoon of the week of the class you missed. All in-class exercises are included in the online course book at the end of the chapter on the associated material. 0.4.6 In-class quizzes There will be weekly in-course quizzes for weeks 2–10 of the course. Students in ERHS 535 will take all these quizzes. Students in ERHS 581A3 will take quizzes in weeks 2–5. Students in ERHS 581A4 will take quizzes in weeks 6–10. Quizzes will be conducted through Google Forms. They will be immediately graded, and you will get back your grade and feedback as soon as you submit the quiz. All students will take the quizzes from 10:50 AM to 11:10 AM on Wednesdays. Students in the 11:00 AM cohort should plan to arrive to the Zoom meeting 10 minutes early on Wednesdays. You must stay on Zoom while you complete the quiz. A link to the quiz will be provided at 10:50 AM in the Zoom chat. Each quiz will have at least 10 questions. Typically, a quiz will have more questions, usually 12–15 questions. The grading of the quizzes is structures so that you can get full credit for the quiz portion of the grade without getting 100% of quiz questions right. Instead, if you get ten questions right per quiz on average, you will get full credit for the quiz portion of the grade. Once you reach the maximum possible points on quizzes, you can continue to take the quizzes for practice, or you can choose to skip any following quizzes. Quiz questions will be multiple choice, matching, or very short answers. The “Vocabulary” appendix of our online book has the list of material for which you will be responsible for this quiz. Most of the functions and concepts will have been covered in class, but some may not. You are responsible for going through the list and, if there are things you don’t know or remember from class, learning them. To do this, you can use help functions in R, Google, StackOverflow, books on R, ask a friend, and any other resource you can find. The final version of the Vocabulary list you will be responsible will be posted by the Wednesday evening before each quiz. In general, using R frequently in your research or other coursework will help you to prepare and do well on these quizzes. Except in very unusual situations, the only time you will be able to make up a quiz is during office hours of the same week when you missed the quiz. Note that you can still get full credit on your total possible quiz points if you miss a class, but it means you will have to work harder and get more questions right for days you are in class. 0.4.6.1 Quiz grade calculations for ERHS 535 For students in ERHS 581A3, the nine quizzes in weeks 2–10 count for 25 points of the final grade. The final quiz total for students in ERHS 535 will be calculated as: \\[ \\mbox{Quiz grade} = 25 * \\frac{\\mbox{Number of correct quiz answers}}{90} \\] 0.4.6.2 Quiz grade calculations for ERHS 581A3 For students in ERHS 581A3, the four quizzes in weeks 2–5 count for 40 points of the final grade. The final quiz total for students in ERHS 581A3 will be calculated as: \\[ \\mbox{Quiz grade} = 40 * \\frac{\\mbox{Number of correct quiz answers}}{40} \\] 0.4.6.3 Quiz grade calculations for ERHS 581A4 For students in ERHS 581A4, the five quizzes in weeks 6–10 count for 25 points of the final grade. The final quiz total for students in ERHS 581A3 will be calculated as: \\[ \\mbox{Quiz grade} = 25 * \\frac{\\mbox{Number of correct quiz answers}}{50} \\] 0.4.7 Homework There will be homework assignments due every two to three weeks during the course, starting the third week of the course (see the detailed schedule in the online course book for exact due dates). The first two homeworks (HWs #1 and # 2) should be done individually. For later homeworks, you may be given the option to work in small groups of approximately three students. Homeworks will be graded for correctness, but some partial credit will be given for questions you try but fail to answer correctly. Some of the exercises will not have “correct” answers, but instead will be graded on completeness. For later homeworks, a subset of the full set of questions will be selected for which I will do a detailed grading of the code itself, with substantial feedback on coding. All other questions in the homework will be graded for completeness and based on the final answer produced. Homework is due to me by email by 5:00 pm on the Friday it is due. Your grade will be reduced by 10 points for each day it is late, and will receive no credit if it is late by over a week. 0.4.8 Final group project You will do the final group project in groups of 4. The final product will be a report of 1,500 words or less and an accompanying flexdashboard. Come up with an interesting question you’d love to get the answer to that you think you can use the main project data to help you answer. The final product will be a Word or pdf document created from an RMarkdown file and an accompanying flexdashboard (html created from RMarkdown file). You will have in-class group work time to work on this on Zoom. This project will also require some work with your group outside of class. I will provide feedback and help during the in-class group work time on Zoom. The final group project will be graded with A through F, with the following point values (out of 30 possible): 30 points for an A 25 points for a B 20 points for a C 15 points for a D 10 points for an F If you turn nothing in, you will get 0 points. 0.4.8.1 Final presentation In total, the group’s presentation should last 20 minutes. There will then be 5 minutes for questions. Split the presentation up into two parts: (1) the main presentation and overview of your flexdashboard (about 12 minutes) and (2) a tutorial-style discussion of how you used R to do the project (about 8 minutes). The main presentation part should include the following sections: Research question: In one sentence, what is the main thing you were trying to figure out? Introduction: Why did you decide to ask this question? Methods: How did you investigate the data to try to answer your question? This should not include R code (save that for the tutorial part), but rather should use language like “To determine if … was associated with …, we measured the correlation …”. It’s fine for this project if the Methods are fairly simple (“We investigated the distribution of … using boxplots …”, “We took the mean and interquartile range of …”, “We mapped state-level averages of …”, etc.). Why do you choose to use the Methods you used? Why do you think they’re appropriate and useful for your project? Results: What did you find out? Most of these slides should be figures or tables. Discuss your interpretation of your results as you present them. Ideally, you should be able to show your main results in about 3 slides, with one figure or table per slide. Conclusions: So what? How do your results compare with what other people have found out about your research question? Based on what you found, are there now other things you want to check out? The tutorial part should include the following sections: Overview of your approach in R: Step us through a condensed version of how you did your project Interesting packages / techniques: Spend a bit more time on any parts that you found particularly interesting or exciting. Were there packages you used that were helpful that we haven’t talked about in class? Did you find out how to do anything that you think other students could use in the future? Did you end up writing a lot of functions to use? Did you have an interesting way of sharing code and data among your group members? Lessons learned: If you were to do this project again from scratch, what would you do differently? Were there any big wrong turns along the way? Did you find out how to do something late in the project that would have saved you time if you’d started using it earlier? 0.4.8.2 Final report The final report should not exceed 1,500 words. You should aim for no more than three figures and tables. I will assess the final report on the following criteria: Is it written with correct spelling and grammar? Is it very clear what your over-arching research question is? Have you explained the way you analyzed the data clearly enough that I think that I could reproduce your analysis if I had your data? Have you explained a bit why your method of analyzing the data is appropriate for your question? Have you let me know about major caveats or limitations related to the methods of analysis you’re using? Have you presented figures and / or tables with results that help answer your main research question? Is it clear what each is showing and how I should interpret it? (For a nice example of explaining how to interpret results, see footnote 4 here.) Have you explained and interpreted your main results in the text? Have you pointed out any particularly interesting observations (interesting outliers, for example)? When I’m finished with your article, do I have more insight into your research question than when I started? If you include a quote or a figure from an outside source, you must include a full reference for it. Otherwise, I am okay with you doing referencing more in a blog-post style. That is, if you are repeating another person’s ideas or findings, you must reference it, but you may use a web link rather than writing out full references. You do not need to include references of any type for standard analysis techniques (for example, you would not need to include a reference from a Stats book if you are fitting a regression model). 0.4.8.3 Flexdashboard Finally, you should create a flexdashboard (https://rmarkdown.rstudio.com/flexdashboard/) to provide a visualization related to your research question. Expectations for that are: It should work. It should include text that is clearly written, without grammatical errors or typos. Any graphics are easily to interpret and follow some of the principles of good graphics covered in class. It includes at least two rendered outputs (e.g., one plot and one table; two plots). It is self-contained– in other words, a user shouldn’t need to read your report or hear you explain the dashboard to understand it. It should include enough information on the app for a user to figure out how to use the app and interpret the output. 0.5 Course set-up Please download and install the latest version of R and RStudio (Desktop version, Open Source edition) installed. Both are free for anyone to download. Students in ERHS 535 and ERHS 581A4 will also need to download and install a version of LaTeX (MikTeX for Windows and MacTeX for Macs). They will also need to download and install git software and create a GitHub account. Here are useful links for this set-up: R: https://cran.r-project.org RStudio: https://www.rstudio.com/products/rstudio/#Desktop Install MikTeX: https://miktex.org/ (only ERHS 535 / 581A4 with Windows) Install MacTeX: http://www.tug.org/mactex/ (only ERHS 535 / 581A4 with Macs) Install git: https://git-scm.com/downloads (only ERHS 535 / 581A4) Sign-up for a GitHub account: https://github.com (only ERHS 535 / 581A4) 0.6 Coursebook This coursebook will serve as the only required textbook for this course. I am still in the process of editing and adding to this book, so content may change somewhat over the semester (particularly for later weeks, which is currently in a rawer draft than the beginning of the book). We typically cover about a chapter of the book each week of the course. This coursebook includes: Embedded video lectures for the course Links to the slides presented in video lectures for each topic In-course exercises, typically including links to the data used in the exercise An appendix with homework assignments A list of vocabulary and concepts that should be mastered for each quiz If you find any typos or bugs, or if you have any suggestions for how the book can be improved, feel free to post it on the book’s GitHub Issues page. This book was developed using Yihui Xie’s wonderful bookdown framework. The book is built using code that combines R code, data, and text to create a book for which R code and examples can be re-executed every time the book is re-built, which helps identify bugs and broken code examples quickly. The online book is hosted using GitHub’s free GitHub Pages. All material for this book is available and can be explored at the book’s GitHub repository. 0.6.1 Other helpful books (not required) The best book to supplement the coursebook and lectures for this course is R for Data Science, by Garrett Grolemund and Hadley Wickham. The entire book is freely available online through the same format at the coursebook. You can also purchase a paper version of the book (published by O’Reilly) through Amazon, Barnes & Noble, etc., for around $40. This book is an excellent and up-to-date reference by some of the best R programmers in the world. There are a number of other useful books available on general R programming, including: R for Dummies R Cookbook R Graphics Cookbook Roger Peng’s Leanpub books Various books on bookdown.org The R programming language is used extensively within certain fields, including statistics and bioinformatics. If you are using R for a specific type of analysis, you will be able to find many books with advice on using R for both general and specific statistical analysis, including many available in print or online through the CSU library. 0.7 In-course Exercise Chapter 0 Today, we’ll practice doing an in-course exercise, including using breakout groups in Zoom and rotating sharing screens. The purpose of this in-course exercise is to let us all try out how breakout groups and a remote “pair programming” approach to working on the in-course exercises will work. Also, the prompts in this exercise will help you explore the online book and videos for this class to make sure that you are comfortable with navigating those resources. You will work on this for 20 minutes. At the end of this time, please re-join the large Zoom meeting that we started in. For each of the three sections below, pick one group member to share his or her screen in Zoom in your breakout group. That person should do try the following steps. If you are the person sharing your screen, talk through what you’re trying out and why you’re trying different things. If you are not sharing your screen, add suggestions as the other group member tries this, especially if he or she gets stuck at some point. The last prompt requires you to have RStudio installed. If someone in your group has this installed, save that person’s turn for last. If nobody in the group has RStudio installed, you can read through this part without doing the activities. 0.7.1 Navigate the online course book Pick one group member to share his or her screen in Zoom in your breakout group. Find the following in the book: The schedule for this course, including the dates that homeworks are due and the dates that quizzes will be given Information on the grading policies for quizzes for this course You have your first quiz Wednesday, September 2. What are the vocabulary terms you will be responsible for in the first quiz? You will have your first homework assignment due Friday, September 11. How many homeworks are due in total over the full semester (for those taking ERHS 535)? When is the second homework due? Find the assignment information for the first homework in the course book. How will you turn in your first homework? Find information on the requirements for “Course set-up” from the chapter on course information. Click on the links for downloading R and RStudio. Make sure everyone in the group sees where they will need to go to download R and RStudio. You will need to do this before the class meeting on Wednesday. 0.7.2 Find the video lectures Pick a different group member to share his or her screen in Zoom in your breakout group. Look through the book to find links to the YouTube video lectures for Chapter 1 (“R Preliminaries”). You should be able to find: Embedded videos throughout the text Links to download the pdfs for each video below each embedded video A link to a YouTube playlist with all the video lectures for the chapter at the beginning of the chapter text. Download the pdf copy of the slides for the first video lecture for Chapter 1. Watch the beginning of the first video lecture for Chapter 1. You will need to watch the first nine video lectures for Chapter 1 before we meet on Wednesday. What are the titles of these nine videos? What is the title of the only video for Chapter 1 that you are not required to watch before Wednesday’s meeting? 0.7.3 Try coding a bit Pick a different group member to share his or her screen in Zoom in your breakout group. Pick someone who already has RStudio installed, if possible. Open RStudio Open an R script by going to “File” -> “New File” -> “R Script” Type the following code in the R script: sample(c("Johnny", "Waylon", "Willie", "Kris")) Highlight the code you just typed and then click the “Run” bottom on the top right of the script file. Look in the “Console” pane of RStudio. What output do you see? In the script, replace each name with the name of a member of your group. Re-run the code by highlighting it again and the pressing the “Run” button. What output do you see in the console? Without changing the code, highlight and run it three more times. Is the output the same each time? Click your cursor in the R script pane and then save this R script by going to “File” -> “Save”. Save the file somewhere that’s easy to find, like on your Desktop (you can delete it after today). Save it with the name “example.R”. Send this file to your other group members through Zoom chat as a file attachment. When you use Chat in Zoom, you should see a button for “File”. This should allow you to select and send the R script you just saved. Have another group member share their screen and then open this file in RStudio (open RStudio, and then go to “File” -> “Open File” and select the file from where you saved it in your computer). Try highlighting and running this code on this computer. "], -["r-preliminaries.html", "Chapter 1 R Preliminaries 1.1 Objectives 1.2 R and R Studio 1.3 Communicating with R 1.4 Functions 1.5 Objects and assignment 1.6 More on communicating with R 1.7 R scripts 1.8 The “package” system 1.9 R’s most basic object types 1.10 In-course Exercise Chapter 1", " Chapter 1 R Preliminaries The video lectures for this chapter are embedded at relevant places in the text, with links to download a pdf of the associated slides for each video. You can also access a full playlist for the videos for this chapter. 1.1 Objectives After this chapter, you should: Know what free and open source software is and some of its advantages over proprietary software Understand the difference between R and RStudio Be able to download both R and RStudio to your own computer Understand that R has a basic core of code that you initially download, and that this “base R” can be expanded by installing a variety of packages Be able to install a package from CRAN to your computer Be able to load a package that you have installed to use its functions within an R session Be able to access help documentation (vignettes, helpfiles) for a package and its functions Be able to submit R expressions at the console prompt to communicate with R Understand the structure for calling a function and specifying options for that function Know what an R object is and how to assign an R object a name to reference it in later code Be able to create vector objects of numeric and character classes Be able to explore and extract elements from vector objects Be able to create dataframe objects Be able to explore and extract elements from dataframe objects Be able to describe the difference between running R code from the console versus writing and running R code in an R script 1.2 R and R Studio Download a pdf of the lecture slides for this video. 1.2.1 What is R? R in an open-source programming language that evolved from the S language. The S language was developed at Bell Labs in the 1970s, which is the same place (and about the same time) that the C programming language was developed. R itself was developed in the 1990s–2000s at the University of Auckland. It is open-source software, freely and openly distributed under the GNU General Public License (GPL). The base version of R that you download when you install R on your computer includes the critical code for running R, but you can also install and run “packages” that people all over the world have developed to extend R. With new developments, R is becoming more and more useful for a variety of programming tasks. However, where it really shines is in working with data and doing statistical analysis. R is currently popular in a number of fields, including: Statistics Machine learning Data analysis R is an interpreted language. That means that you can communicate with it interactively, from a command line. Other common interpreted languages include Python and Perl. Figure 1.1: Broad types of software programs. R is an interpreted language. ‘Point-and-click’ programs, like Excel and Word, are often easiest for a new user to get started with, but are slower for the computer and are restricted in the functionality they offer. By contrast, compiled languages (like C and Java), assembly languages, and machine code are faster for the computer and allow you to create a wider range of things, but can take longer to code and take longer for a new user to learn to work with. R has some of the same strengths (quick and easy to code, interfaces well with other languages, easy to work interactively) and weaknesses (slower than compiled languages) as Python. For data-related tasks, R and Python are fairly neck-and-neck (with Julia an up-and-coming option). However, R is still the first choice of statisticians in most fields, so I would argue that R has a an advantage if you want to have access to cutting-edge statistical methods. “The best thing about R is that it was developed by statisticians. The worst thing about R is that… it was developed by statisticians.” -Bo Cowgill, Google, at the Bay Area R Users Group 1.2.2 Free and open-source software “Life is too short to run proprietary software.” – Bdale Garbee R is free and open-source software. Many other popular statistical programming languages, conversely, are proprietary (for example, SAS and SPSS). It’s useful to know what it means for software to be “open-source”, both conceptually and in terms of how you will be able to use and add to R in your own work. R is free, and it’s tempting to think of open-source software just as “free software”. Things, however, are a little more subtle than that. It helps to consider some different meanings of the word “free”. “Free” can mean: Gratis: Free as in beer Libre: Free as in speech Figure 1.2: An overview of how software can be each type of free (beer and speech). For software programs developed using a compiled programming language, the final product that you open on your computer is run by machine-readable binary code. A developer can give you this code for free (as in beer) without sharing any of the original source code with you. This means you can’t dig in to figure out how the software works and how you can extend it. By contrast, open-source software (free as in speech) is software for which you have access to the human-readable code that was used as in input in creating the software binaries. With open-source code, you can figure out exactly how the program is coded. Open-source software software is the libre type of free (Figure 1.2). This means that, with software that is open-source, you can: Access all of the code that makes up the software Change the code as you’d like for your own applications Build on the code with your own extensions Share the software and its code, as well as your extensions, with others Often, open-source software is also free, making it “free and open-source software”, or “FOSS”. Popular open source licenses for R and R packages include the GPL and MIT licenses. “Making Linux GPL’d was definitely the best thing I ever did.” – Linus Torvalds In practice, this means that, once you are familiar with the software, you can dig deeply into the code to figure out exactly how it’s performing certain tasks. This can be useful for finding bugs and eliminating bugs, and also can help researchers figure out if there are any limitations in how the code works for their specific research. It also means that you can build your own software on top of existing R software and its extensions. I explain a bit more about R packages a bit later, but this open-source nature of R (and other languages, including Python) has created a large community of people worldwide who develop and share extensions to R. As a result, you can pull in packages that let you do all kinds of things in R, like visualizing Tweets, cleaning up accelerometer data, analyzing complex surveys, fitting maching learning models, and a wealth of other cool things. “Despite its name, open-source software is less vulnerable to hacking than the secret, black box systems like those being used in polling places now. That’s because anyone can see how open-source systems operate. Bugs can be spotted and remedied, deterring those who would attempt attacks. This makes them much more secure than closed-source models like Microsoft’s, which only Microsoft employees can get into to fix.” – Woolsey and Fox. To Protect Voting, Use Open-Source Software. New York Times. August 3, 2017. You can download the latest version of R from CRAN. Be sure to select the distribution for your type of computer system. R is updated occasionally; you should plan to re-install R at least once a year, to make sure you’re working with one of the newer versions. Check your current R version (one way is by running sessionInfo() at the R console) to make sure you’re not using an outdated version of R. Defaults should be fine for everything. “The R engine … is pretty well uniformly excellent code but you have to take my word for that. Actually, you don’t. The whole engine is open source so, if you wish, you can check every line of it. If people were out to push dodgy software, this is not the way they’d go about it.” - Bill Venables, R-help (January 2004) “Talk is cheap. Show me the code.” - Linus Torvalds Download a pdf of the lecture slides for this video. 1.2.3 What is RStudio? To get the R software, you’ll download R from the R Project for Statistical Computing. This is enough for you to use R on your own computer. However, I would suggest one additional, free piece of software to improve your experience while working with R, RStudio. RStudio is an integrated development environment (IDE) for R. This basically means that it provides you an interface for running R and coding in R, with a lot of nice extras that will make your life easier. You download RStudio separately from R—you’ll want to download and install R itself first, and then you can download RStudio. You want the Desktop version with the free license. Defaults should be fine for everything. RStudio (the company) is a leader in the R community. Currently, the company: Develops and freely provides the RStudio IDE Provides excellent resources for learning and using R (e.g., cheatsheets, free online books) Is producing some of the most-used R packages Employs some of the top people in R development Is a key member of The R Consortium (others include Microsoft, IBM, and Google) R has been advancing by leaps in bounds in terms of what it can do and the elegance with which it does it, in large part because of the enormous contributions of people involved with RStudio. Download a pdf of the lecture slides for this video. 1.3 Communicating with R Because R is an interpreted language, you can communicate with it interactively. You do this using the following general steps: Open an R session At the prompt in the console, enter an R expression Read R’s “response” (the output) Repeat 2 and 3 Close the R session 1.3.1 R sessions, the console, and the command prompt An R session is an instance of you using R. To open an R session, double-click on the icon for “RStudio” on you computer. When RStudio opens, you will be in a “fresh” R session, unless you restore a saved session (which I strongly recommend against). This means that, once you open RStudio, you will need to “set up” your session, including loading any packages you need (which we’ll talk about later) and reading in any data (which we’ll also talk about). In RStudio, there screen is divided into several “panes”. We’ll start with the pane called “Console”. The console lets you “talk” to R. This is where you can “talk” to R by typing an expression at the prompt (the caret symbol, “>”). You press the “Return” key to send this message to R. Figure 1.3: Finding the ‘Console’ pane and the command prompt in RStudio. Once you press “Return”, R will respond in one of three ways: R does whatever you asked it to do with the expression and prints the output (if any) of doing that, as well as a new prompt so you can ask it something new R doesn’t think you’ve finished asking you something, and instead of giving you a new prompt (“>”) it gives you a “+”. This means that R is still listening, waiting for you to finish asking it something. R tries to do what you asked it to, but it can’t. It gives you an error message, as well as a new prompt so you can try again or ask it something new. 1.3.2 R expressions, function calls, and objects To “talk” with R, you need to know how to give it a complete expression. Most expressions you’ll want to give R will be some combination of two elements: Function calls Object assignments We’ll go through both these pieces and also look at how you can combine them together for some expressions. According to John Chambers, one of the creators of R’s precursor S: Everything that exists in R is an object Everything that happens in R is a call to a function Download a pdf of the lecture slides for this video. 1.4 Functions In general, function calls in R take the following structure: ## Generic code (this won't run) function_name(formal_argument_1 = named_argument_1, formal_argument_2 = named_argument_2, [etc.]) Sometimes, we’ll show “generic” code in a code block, that doesn’t actually work if you put it in R, but instead shows the generic structure of an R call. We’ll try to always include a comment with any generic code, so you’ll know not to try to run it in R. A function call forms a complete R expression, and the output will be the result of running print or show on the object that is output by the function call. Here is an example of this structure: print(x = "Hello world") ## [1] "Hello world" Figure 1.4 shows an example of the typical elements of a function call. In this example, we’re calling a function with the name print. It has one argument, with a formal argument of x, which in this call we’ve provided the named argument “Hello world”. Figure 1.4: Main parts of a function call. This example is calling a function with the name ‘print’. The function call has one argument, with a formal argument of ‘x’, which in this call is provided the named argument ‘Hello world’. The arguments are how you customize the call to an R function. For example, you can use change the named argument value to print different messages with the print function: print(x = "Hello world") ## [1] "Hello world" print(x = "Hi Fort Collins") ## [1] "Hi Fort Collins" Some functions do not require any arguments. For example, the getRversion function will print out the version of R you are using. getRversion() ## [1] '4.0.2' Some functions will accept multiple arguments. For example, the print function allows you to specify whether the output should include quotation marks, using the quote formal argument: print(x = "Hello world", quote = TRUE) ## [1] "Hello world" print(x = "Hello world", quote = FALSE) ## [1] Hello world Arguments can be required or optional. For a required argument, if you don’t provide a value for the argument when you call the function, R will respond with an error. For example, x is a required argument for the print function, so if you try to call the function without it, you’ll get an error: print() Error in print.default() : argument "x" is missing, with no default For an optional argument on the other hand, R knows a default value for that argument, so if you don’t give it a value for that argument, it will just use the default value for that argument. For example, for the print function, the quote argument has the default value TRUE. So if you don’t specify a value for that argument, R will assume it should use quote = TRUE. That’s why the following two calls give the same result: print(x = "Hello world", quote = TRUE) ## [1] "Hello world" print(x = "Hello world") ## [1] "Hello world" Often, you’ll want to find out more about a function, including: Examples of how to use the function Which arguments you can include for the function Which arguments are required versus optional What the default values are for optional arguments. You can find out all this information in the function’s helpfile, which you can access using the function ?. For example, the mean function will let you calculate the mean (average) of a group of numbers. To find out more about this function, at the console type: ?mean This will open a helpfile in the “Help” pane in RStudio. Figure 1.5 shows some of the key elements of an example helpfile, the helpfile for the mean function. In particular, the “Usage” section helps you figure out which arguments are required and which are optional in the Usage section of the helpfile. Figure 1.5: Navigating a helpfile. This example shows some key parts of the helpfile for the ‘mean’ function. There’s one class of functions that looks a bit different from others. These are the infix operator functions. Instead using parentheses after the function name, they usually go between two arguments. One common example is the + operator: 2 + 3 ## [1] 5 There are operators for several mathematical functions: +, -, *, /. There are also other operators, including logical operators and assignment operators, which we’ll cover later. Download a pdf of the lecture slides for this video. 1.5 Objects and assignment In R, a variety of different types and structures of data can be saved in what’s called objects. For right now, you can just think of an R object as a discrete container of data in R. Function calls will produce an object. If you just call a function, as we’ve been doing, then R will respond by printing out that object. However, we’ll often want to use that object some more. For example, we might want to use it as an argument later in our “conversation” with R, when we call another function later. If you want to re-use the results of a function call later, you can assign that object to an object name. This kind of expression is called an assignment expression. Once you do this, you can use that object name to refer to the object. This means that you don’t need to re-create the object each time you need it—instead you can create it once and then just reference it by name each time you need it after that. For example, you can read in data from an external file as a dataframe object and assign it an object name. Then, when you need that data later, you won’t need to read it in again from the external file. The gets arrow, <-, is R’s assignment operator. It takes whatever you’ve created on the right hand side of the <- and saves it as an object with the name you put on the left hand side of the <- : ## Note: Generic code-- this will not work [object name] <- [object] For example, if I just type \"Hello world\", R will print it back to me, but won’t save it anywhere for me to use later: "Hello world" ## [1] "Hello world" However, if I assign it to an object, I can “refer” to that object in a later expression. For example, the code below assigns the object \"Hello world\" the object name message. Later, I can just refer to this object using the name message, for example in a function call to the print function: message <- "Hello world" print(x = message) ## [1] "Hello world" When you enter an assignment expression like this at the R console, if everything goes right, then R will “respond” by giving you a new prompt, without any kind of message. However, there are three ways you can check to make sure that the object was assigned to the object name: Enter the object’s name at the prompt and press return. The default if you do this is for R to “respond” by calling the print function with that object as the x argument. Call the ls function (which doesn’t require any arguments). This will list all the object names that have been assigned in the current R session. Look in the “Environment” pane in RStudio. This also lists all the object names that have been assigned in the current R session. Here’s are examples of these strategies: Enter the object’s name at the prompt and press return: message ## [1] "Hello world" Call the ls function: ls() ## [1] "a" "message" Look in the “Environment” pane in RStudio (see Figure 1.6). Figure 1.6: ‘Environment’ pane in RStudio. This shows the names and first few values of all objects that have been assigned to object names in the global environment. You can make assignments in R using either the gets arrow (<-) or =. When you read other people’s code, you’ll see both. R gurus advise using <- rather than = when coding in R, and as you move to doing more complex things, some subtle problems might crop up if you use =. I have heard from someone in the know that you can tell the age of a programmer by whether he or she uses the gets arrow or =, with = more common among the young and hip. For this course, however, I am asking you to code according to Hadley Wickham’s R style guide, which specifies using the gets arrow for assignment. While you will be coding with the gets arrow exclusively in this course, it will be helpful for you to know that the two assignment arrows do pretty much the same thing: one_to_ten <- 1:10 one_to_ten ## [1] 1 2 3 4 5 6 7 8 9 10 one_to_ten = 1:10 one_to_ten ## [1] 1 2 3 4 5 6 7 8 9 10 While the gets arrow takes two key strokes instead of one (like the equals sign), you can somewhat get around this limitation by using RStudio’s keyboard shortcut for the gets arrow. This shortcut is Alt + - on Windows and Option + - on Macs. To see a full list of RStudio keyboard shortcuts, go to the “Help” tab in RStudio and select “Keyboard Shortcuts”. There are some absolute rules for the names you can use for an object name: Use only letters, numbers, and underscores Don’t start with anything but a letter If you try to assign an object to a name that doesn’t follow the “hard” rules, you’ll get an error. For example, all of these expressions will give you an error: 1message <- "Hello world" _message <- "Hello world" message! <- "Hello world" In addition to these fixed rules, there are also some guidelines for naming objects that you should adopt now, since they will make your life easier as you advance to writing more complex code in R. The following three guidelines for naming objects are from Hadley Wickham’s R style guide: Use lower case for variable names (message, not Message) Use an underscore as a separator (message_one, not messageOne) Avoid using names that are already defined in R (e.g., don’t name an object mean, because a mean function exists) “Don’t call your matrix ‘matrix’. Would you call your dog ‘dog’? Anyway, it might clash with the function ‘matrix’.” - Barry Rowlingson, R-help (October 2004) Another good practice is to name objects after nouns (e.g., message) and later, when you start writing functions, name those after verbs (e.g., print_message). You’ll want your object names to be short enough that they don’t take forever to type as you’re coding, but not so short that you can’t remember what they stand for. Sometimes, you’ll want to create an object that you won’t want to keep for very long. For example, you might want to create a small object to test some code, but you plan to not need the object again once you’ve done that. You may want to come up with some short, generic object names that you use for these kinds of objects, so that you’ll know that you can delete them without problems when you want to clean up your R session. There are all kinds of traditions for these placeholder variable names in computer science. foo and bar are two popular choices, as are, evidently, xyzzy, spam, ham, and norf. There are different placeholder names in different languages: for example, toto, truc, and azerty (French); and pippo, pluto, paperino (Disney character names; Italian). See the Wikipedia page on metasyntactic variables to find out more. Download a pdf of the lecture slides for this video. 1.6 More on communicating with R What if you want to “compose” a call from more than one function call? One way to do it is to assign the output from the first function call to a name and then use that name for the next call. For example: message <- paste("Hello", "world") print(x = message) ## [1] "Hello world" If you give two objects the same name, the most recent definition will be used (i.e., objects can be overwritten by assigning new content to the same object name). For example: a <- 1:10 b <- LETTERS [1:3] a ## [1] 1 2 3 4 5 6 7 8 9 10 b ## [1] "A" "B" "C" a <- b a ## [1] "A" "B" "C" To create an R expression you can “nest” one function call inside another function call. For example: print(x = paste("Hello", "world")) ## [1] "Hello world" Just like with math, the order that the functions are evaluated moves from the inner set of parentheses to the outer one (Figure 1.7). There’s one more way we’ll look at later called “piping”. Figure 1.7: ‘Environment’ pane in RStudio. This shows the names and first few values of all objects that have been assigned to object names in the global environment. 1.7 R scripts This is a good point in learning R for you to start putting your code in R scripts, rather than entering commands at the console. An R script is a plain text file where you can save a series of R commands. You can save the script and open it up later to see (or re-do) what you did earlier, just like you could with something like a Word document when you’re writing a paper. To open a new R script in RStudio, go to the menu bar and select “File” -> “New File” -> “R Script”. Alternatively, you can use the keyboard shortcut Command-Shift-N. Figure 1.8 gives an example of an R script file opened in RStudio and points out some interesting elements. Figure 1.8: Example of an R script in RStudio. To save a script you’re working on, you can click on the “Save” button (which looks like a floppy disk) at the top of your R script window in RStudio or use the keyboard shortcut Command-S. You should save R scripts using a “.R” file extension. Within the R script, you’ll usually want to type your code so there’s one command per line. If your command runs long, you can write a single call over multiple lines. It’s unusual to put more than one command on a single line of a script file, but you can if you separate the commands with semicolons (;). These rules all correspond to how you can enter commands at the console. Running R code from a script file is very easy in RStudio. You can use either the “Run” button or Command-Return, and any code that is selected (i.e., that you’ve highlighted with your cursor) will run at the console. You can use this functionality to run a single line of code, multiple lines of code, or even just part of a specific line of code. If no code is highlighted, then R will instead run all the code on the line with the cursor and then move the cursor down to the next line in the script. You can also run all of the code in a script. To do this, use the “Source” button at the top of the script window. You can also run the entire script either from the console or from within another script by using the source() function, with the filename of the script you want to run as the argument. For example, to run all of the code in a file named “MyFile.R” that is saved in your current working directory, run: source("MyFile.R") You can add comments into an R script to let others know (and remind yourself) what you’re doing and why. To do this, use R’s comment character, #. Any line on a script line that starts with # will not be read by R. You can also take advantage of commenting to comment out certain parts of code that you don’t want to run at the moment. While it’s generally best to write your R code in a script and run it from there rather than entering it interactively at the R console, there are some exceptions. A main example is when you’re initially checking out a dataset, to make sure you’ve read it in correctly. It often makes more sense to run commands for this task, like str(), head(), tail(), and summary(), at the console. These are all examples of commands where you’re trying to look at something about your data right now, rather than code that builds toward your analysis, or helps you read in or clean up your data. 1.7.1 Commenting code Sometimes, you’ll want to include notes in your code. You can do this in all programming languages by using a comment character to start the line with your comment. In R, the comment character is the hash symbol, #. R will skip any line that starts with # in a script. For example, if you run the following code: # Don't print this. "But print this" ## [1] "But print this" R will only print the second, uncommented line. You can also use a comment in the middle of a line, to add a note on what you’re doing in that line of the code. R will skip any part of the code from the hash symbol on. For example: "Print this" ## But not this, it's a comment. ## [1] "Print this" There’s typically no reason to use code comments when running commands at the R console. However, it’s very important to get in the practice of including meaningful comments in R scripts. This helps you remember what you did when you revisit your code later. “You know you’re brilliant, but maybe you’d like to understand what you did 2 weeks from now.” – Linus Torvalds Download a pdf of the lecture slides for this video. 1.8 The “package” system 1.8.1 R packages “Any doubts about R’s big-league status should be put to rest, now that we have a Sudoku Puzzle Solver. Take that, SAS!” - David Brahm (announcing the sudoku package), R-packages (January 2006) Your original download of R is only a starting point. You can expand functionality of R with what are called packages, or extensions with new code and functionality that add to the basic “base R” environment. To me, this is a bit like the toy train set that my son was obsessed with for a while. You first buy a very basic set that looks something like Figure 1.9. Figure 1.9: The toy version of base R. To take full advantage of R, you’ll want to add on packages. In the case of the train set, at this point, a doting grandparent adds on extensively through birthday presents, so you end up with something that looks like Figure 1.10. Figure 1.10: The toy version of what your R set-up will look like once you find cool packages to use for your research. Each package is basically a bundle of extra R functions. They may also include help documentation, datasets, and some other objects, but typically the heart of an R package is the new functions it provides. You can get these “add-on” packages in a number of ways. The main source for installing packages for R remains the Comprehensive R Archive Network, or CRAN. However, GitHub is growing in popularity, especially for packages that are still in development. You can also create and share packages among your collaborators or co-workers, without ever posting them publicly. In the “Advanced” section of this course, you will learn some about writing your own R package. 1.8.2 Installing from CRAN Figure 1.11: Celebrating CRAN’s 10,000th package. The most popular place from which to get packages is currently CRAN, which has over 10,000 R packages available (Figure 1.11). You can install packages from CRAN using R code, with the install.packages function. For example, telephone keypads include letters for each number (Figure 1.12), which allow companies to have “named” phone numbers that are easier for people to remember, like 1-800-GO-FEDEX and 1-800-FLOWERS. Figure 1.12: Telephone keypad with letters corresponding to each number. The phonenumber package is a cool little package that will convert between numbers and letters based on the telephone keypad. Since this package is on CRAN, you can install the package to your computer using the install.packages function: install.packages(pkgs = "phonenumber") This downloads the package from CRAN and saves it in a special location on your computer where R can load it when you’re ready to use it. Once you’ve installed a package to your computer this way, you don’t need to re-run this install.packages for the package ever again (unless the package maintainer posts an updated version). Just like R itself, packages often evolve and are updated by their maintainers. You should update your packages as new versions come out. Typically, you have to reinstall packages when you update your version of R, so this is a good chance to get the most up-to-date version of the packages you use. 1.8.3 Loading an installed package Once you have installed a package, it will be saved to your computer. However, you won’t be able to access its functions within an R session until you load it in that R session. Loading a package essentially makes all of the package’s functions available to you. You can load a package in an R session using the library function, with the package name inside the parentheses. library(package = "phonenumber") Figure 1.13 provides a conceptual picture of the different steps of installing and loading a package. Figure 1.13: Install a package (with ‘install.packages’) to get it onto your computer. Load it (with ‘library’) to get it into your R session. Once a package is loaded, you can use all its exported (i.e., public) functions by calling them directly. For example, the phonenumber has a function called letterToNumber that converts a character string to a number. If you have not loaded the phonenumber package in your current R session and try to use this function, you will get an error. However, once you’ve loaded phonenumber using the library function, you can use this function in your R session: fedex_number <- "GoFedEx" letterToNumber(value = fedex_number) ## [1] "4633339" R vectors can have several different classes. One common class is the character class, which is the class of the character string we’re using here (“GoFedEx”). You’ll always put character strings in quotation marks. Another key class is numeric (numbers). Later in the course, we’ll introduce other classes that vectors can have, including factors and dates. For the simplest vector classes, these classes are determined by the type of data that the vector stores. When you open RStudio, unless you reload the history of a previous R session (which I typically strongly do not recommend), you will start your work in a “fresh” R session. This means that, once you open RStudio, you will need to run the code to load any packages, define any objects, and read in any data that you will need for analysis in that session. If you are using a package in academic research, you should cite it, especially if it implements an algorithm or method that is not standard. You can use the citation function to get the information you need about how to cite a package: citation(package = "phonenumber") ## ## To cite package 'phonenumber' in publications use: ## ## Steve Myles (2015). phonenumber: Convert Letters to Numbers and Back ## as on a Telephone Keypad. R package version 0.2.2. ## https://CRAN.R-project.org/package=phonenumber ## ## A BibTeX entry for LaTeX users is ## ## @Manual{, ## title = {phonenumber: Convert Letters to Numbers and Back as on a Telephone Keypad}, ## author = {Steve Myles}, ## year = {2015}, ## note = {R package version 0.2.2}, ## url = {https://CRAN.R-project.org/package=phonenumber}, ## } We’ve talked here about loading packages using the library function to access their functions. However, this is not the only way to access the package’s functions. The syntax [package name]::[function name] (e.g., phonenumber::letterToNumber(fedex)) will allow you to use a function from a package you have installed on your computer, even if its package has not been loaded in the current R session. Typically, this syntax is not used much in data analysis scripts, in part because it makes the code much longer. However, you will occassionally see it used to distinguish between two functions from different packages that have the same name, as this format makes the desired function unambiguous. One example where this syntax often is needed is when both plyr and dplyr packages are loaded in an R session, since these share functions with the same name. Packages typically include some documentation to help users. These include: Package vignettes: Longer, tutorial-style documents that walk the user through the basics of how to use the package and often give some helpful example cases of the package in use. Function helpfiles: Files for each external function (i.e., the package maintainer wants it to be used by others) within the package, following an established structure. These include information about what inputs are required and optional for the function, what output will be created, and what options can be selected by the user. In many cases, these also include examples of using the function. To determine which vignettes are available for a package, you can use the vignette function, with the package’s name specified for the package option: vignette(package = "phonenumber") From the output of this, you can call any of the package’s vignettes directly. For example, the previous call tells you that this package only has one vignette, and that vignette has the same name as the package (“phonenumber”). Once you know the name of the vignette you would like to open, you can also use vignette to open it: vignette(topic = "phonenumber") To access the helpfile for any function within a package you’ve loaded, you can use ? followed by the function’s name: ?letterToNumber Download a pdf of the lecture slides for this video. 1.9 R’s most basic object types An R object stores some type of data that you want to use later in your R code, without fully recreating it. The content of R objects can vary from very simple (the \"GoFedEx\" string in the example code above) to very complex objects with lots of elements (for example, a machine learning model). Objects can be structured in different ways, in terms of how they “hold” data. These difference structures are called object classes. One class of objects can be a subtype of a more general object class. There are a variety of different object types in R, shaped to fit different types of objects ranging from the simple to complex. In this section, we’ll start by describing two object types that you will use most often in basic data analysis, vectors (1-dimensional objects) and dataframes (2-dimensional objects). For these two object classes (vectors and dataframes), we’ll look at: How that class is structured How to make a new object with that class How to extract values from objects with that class In later classes, we’ll spend a lot of time learning how to do other things with objects from these two classes, plus learn some other classes. 1.9.1 Vectors To get an initial grasp of the vector object type in R, think of it as a 1-dimensional object, or a string of values. Figure 1.14 provides an example of the structure for a very simple vector, one that holds the names of the three main characters in the Harry Potter book series. Figure 1.14: An example of the structure of an R object with the vector class. This object class contains data as a string of values, all with the same data type. All values in a vector must be of the same data type (i.e., all numbers, all characters, all dates). If you try to create a vector with elements from different types (like “FedEx”, which is a character, and 3, a number), R will coerce all of the elements to the most generic type of any of the elements (i.e., “FedEx” and “3” will both become characters, since “3” can be changed to a character, but “FedEx” can’t be changed to a number). Figure 1.15 gives some examples of different classes of vectors. Figure 1.15: Examples of vectors of different classes. All the values in a vector must be of the same type (e.g., all numbers, all characters). There are different classes of vectors depending on the type of data they store. To create a vector from different elements, you’ll use the concatenation function, c to join them together, with commas between the elements. For example, to create the vector shown in Figure 1.14, you can run: c("Harry", "Ron", "Hermione") ## [1] "Harry" "Ron" "Hermione" If you want to use that object later, you can assign it an object name in the expression: main_characters <- c("Harry", "Ron", "Hermione") print(x = main_characters) ## [1] "Harry" "Ron" "Hermione" This assignment expression, for assigning a vector an object name, follows the structure we covered earlier for function calls and assignment expressions (Figure 1.16). Figure 1.16: Elements of the assignment expression for creating a vector and assigning it an object name. If you create a numeric vector, you should not put the values in quotation marks: n_kids <- c(1, 7, 1) If you mix classes when you create the vector, R will coerce all the elements to most generic of the elements’ classes: mixed_classes <- c(1, 3, "five") mixed_classes ## [1] "1" "3" "five" Notice that the two integers, 1 and 3, are now in quotation marks, once they are put in a vector with a value with the character data type. You can use the class function to determine the class of an object: class(x = mixed_classes) ## [1] "character" A vector’s length is the number of elements in the vector. You can use the length function to determine a vector’s length: length(x = mixed_classes) ## [1] 3 Once you create an object, you will often want to reference the whole object in future code. However, there will be some times when you’ll want to reference just certain elements of the object (for example, the first three values). You can pull out certain values from a vector by using indexing with square brackets ([...]) to identify the locations of the element you want to extract. For example, to extract the second element of the main_characters vector, you can run: main_characters[2] # Get the second value ## [1] "Ron" You can use this same method to extract more than one value. You just need to create a numeric vector with the position of each element you want to extract and pass that in the square brackets. For example, to extract the first and third elements of the main_characters vect, you can run: main_characters[c(1, 3)] # Get first and third values ## [1] "Harry" "Hermione" The : operator can be very helpful with extracting values from a vector. This operator creates a sequence of values from the value before the : to the value after :, going by units of 1. For example, if you want to create a list of the numbers between 1 and 10, you can run: 1:10 ## [1] 1 2 3 4 5 6 7 8 9 10 If you want to extract the first two values from the main_characters vector, you can use the : operator: main_characters[1:2] # Get the first two values ## [1] "Harry" "Ron" You can also use logic to pull out some values of a vector. For example, you might only want to pull out even values from the fibonacci vector. We’ll cover using logical expressions to index vectors later in the book. One thing that people often find confusing when they start using R is knowing when to use and not use quotation marks. The general rule is that you use quotation marks when you want to refer to a character string literally, but no quotation marks when you want to refer to the value in a previously-defined object. For example, if you saved the string “Anderson” as the object my_name (my_name <- “Anderson”), then in later code, if you type my_name (no quotation marks), you’ll get “Anderson”, while if you type out “my_name” (with quotation marks), you’ll get “my_name” (what you typed, literally). One thing that makes this rule confusing is that there are a few cases in R where you really should (by this rule) use quotation marks, but the function is coded to let you be lazy and get away without them. One example is the library function. In the code earlier in this section to load the “phonenumber” package, you want to literally load the package “phonenumber”, rather than load whatever character string is saved in the object named phonenumber. However, library is one of the functions where you can be lazy and skip the quotation marks, and it will still load “phonenumber” for you. Therefore, if you want, this function also works if you call library(package = phonenumber) (without the quotation marks) instead of how we actually called it (library(package = phonenumber)). Download a pdf of the lecture slides for this video. 1.9.2 Dataframes A dataframe is a 2-dimensional object, and is made of one or more vectors of the same length stuck together side-by-side. It is the closest R has to an Excel spreadsheet-type structure. Figure 1.17 gives a conceptual example of a dataframe created from several of the vector examples in Figure ??. Figure 1.17: An example dataframe, created from several vectors of the same length and with observations aligned across vector positions (for example, the first value in each vector provides a value for Harry, the second for Ron). Here’s how the dataframe in Figure 1.17 will look in R: ## # A tibble: 3 x 4 ## first_name last_name n_kids survived ## <chr> <chr> <dbl> <lgl> ## 1 Harry Potter 1 TRUE ## 2 Ron Weasley 7 TRUE ## 3 Hermione Granger 1 TRUE This dataframe is arranged in rows and columns, with column names for each column (Figure 1.18). Note that each row of this dataframe gives a different observation (in this case, our unit of observation is a Harry Potter character). Each column gives a different type of information (first name, last name, birth year, and whether they’re still alive) for each of the observations (Beatles). Notice that the number of elements in each of the columns must be the same in this dataframe, but that the different columns can have different classes of data (e.g., character vectors for first_name and last_name, logical value of TRUE or FALSE for alive). Figure 1.18: The elements of a dataframe: columns, rows, and column names. We’ll be working with a specific class of dataframe called a tibble. You can create tibble dataframes using the tibble function from the tibble package. However, most often you will create a dataframe by reading in data from a file, using something like read_csv from the readr package. There are base R functions for both of these tasks (data.frame and read.csv, respectively), eliminating the need to load additional packages with a library call. However, the series of packages that make up what’s called the “tidyverse” have brought a huge improvement in the ease and speed of working with data in R. We will be teaching these tools in this course, and that’s why we’re going directly to tibble and read_csv from the start, rather than base R equivalents. Later in the course, we’ll talk more about this “tidyverse” and what makes it so great. To create a dataframe, you can use the tibble function from the tibble package. The general format for using tibble is: ## Note: Generic code [name of object] <- tibble([1st column name] = [1st column content], [2nd column name] = [2nd column content]) with an equals sign between the column name and column content for each column, and commas between each of the columns. Here is an example of the code used to create the Harry Potter tibble dataframe shown above: library(package = "tibble") hp_data <- tibble(first_name = c("Harry", "Ron", "Hermione"), last_name = c("Potter", "Weasley", "Granger"), n_kids = c(1, 7, 1), survived = c(TRUE, TRUE, TRUE)) hp_data ## # A tibble: 3 x 4 ## first_name last_name n_kids survived ## <chr> <chr> <dbl> <lgl> ## 1 Harry Potter 1 TRUE ## 2 Ron Weasley 7 TRUE ## 3 Hermione Granger 1 TRUE You can also create a dataframe by sticking together vectors you already have saved as R objects. For example: hp_data <- tibble(first_name = main_characters, last_name = c("Potter", "Weasley", "Granger"), n_kids = n_kids, survived = c(TRUE, TRUE, TRUE)) hp_data ## # A tibble: 3 x 4 ## first_name last_name n_kids survived ## <chr> <chr> <dbl> <lgl> ## 1 Harry Potter 1 TRUE ## 2 Ron Weasley 7 TRUE ## 3 Hermione Granger 1 TRUE Note that this call requires that the main_characters and n_kids vectors are the same length, although they don’t have to be (and in this case aren’t) the same class of objects (main_characters is a character class, n_kids is numeric). You can put more than one function call in a single line of R code, as in this example (the c creates a vector, while the tibble creates a dataframe, using the vectors created by the calls to c). When you use multiple functions within a single R call, R will evaluate starting from the inner-most parentheses out, much like the order of operations in a math equation with parentheses. So far, we’ve only shown how to create dataframes from scratch within an R session. Usually, however, you’ll create R dataframes instead by reading in data from an outside file using the read_csv from the readr package and related functions. For example, you might want to analyze data on all the guests that came on the Daily Show, circa Jon Stewart. If you have this data in a comma-separated (csv) file on your computer called “daily_show_guests.csv” (see the In-Course Exercise for instructions on downloading it), you can read it into your R session with the following code: library(package = "readr") daily_show <- read_csv(file = "daily_show_guests.csv", skip = 4) In this code, the read_csv function is reading in the data from the file “daily_show_guests.csv”, while the gets arrow (<-) assigns that data to the object daily_show, which you can then reference in later code to explore and plot the data. You can use the functions dim, nrow, and ncol to figure out the dimensions (number of rows and columns) of a dataframe: dim(x = daily_show) ## [1] 2693 5 nrow(x = daily_show) ## [1] 2693 ncol(x = daily_show) ## [1] 5 Base R also has some useful functions for quickly exploring dataframes: str: Show the structure of an R object, including a dataframe summary: Give summaries of each column of a dataframe. For example, you can explore the data we just pulled in on the Daily Show with: str(object = daily_show) ## tibble [2,693 × 5] (S3: spec_tbl_df/tbl_df/tbl/data.frame) ## $ YEAR : num [1:2693] 1999 1999 1999 1999 1999 ... ## $ GoogleKnowlege_Occupation: chr [1:2693] "actor" "Comedian" "television actress" "film actress" ... ## $ Show : chr [1:2693] "1/11/99" "1/12/99" "1/13/99" "1/14/99" ... ## $ Group : chr [1:2693] "Acting" "Comedy" "Acting" "Acting" ... ## $ Raw_Guest_List : chr [1:2693] "Michael J. Fox" "Sandra Bernhard" "Tracey Ullman" "Gillian Anderson" ... ## - attr(*, "spec")= ## .. cols( ## .. YEAR = col_double(), ## .. GoogleKnowlege_Occupation = col_character(), ## .. Show = col_character(), ## .. Group = col_character(), ## .. Raw_Guest_List = col_character() ## .. ) summary(object = daily_show) ## YEAR GoogleKnowlege_Occupation Show Group ## Min. :1999 Length:2693 Length:2693 Length:2693 ## 1st Qu.:2003 Class :character Class :character Class :character ## Median :2007 Mode :character Mode :character Mode :character ## Mean :2007 ## 3rd Qu.:2011 ## Max. :2015 ## Raw_Guest_List ## Length:2693 ## Class :character ## Mode :character ## ## ## To extract data from a dataframe, you can use some functions from the dplyr package, select and slice. The select function will pull out columns, while the slice function will pull out rows. In this chapter, we’ll talk about how to extract certain rows or columns of a dataframe by their position (i.e., row or column number). Later in the book, we’ll talk about other ways to extract values from dataframes. For example, if you wanted to get the first two rows of the hp_data dataframe, you could run: library(package = "dplyr") slice(.data = hp_data, c(1:2)) ## # A tibble: 2 x 4 ## first_name last_name n_kids survived ## <chr> <chr> <dbl> <lgl> ## 1 Harry Potter 1 TRUE ## 2 Ron Weasley 7 TRUE If you wanted to get the first and fourth columns, you could run: select(.data = hp_data, c(1, 4)) ## # A tibble: 3 x 2 ## first_name survived ## <chr> <lgl> ## 1 Harry TRUE ## 2 Ron TRUE ## 3 Hermione TRUE You can compose calls from both functions. For example, you could extract the values in the first and fourth columns of the first two rows with: select(.data = slice(.data = hp_data, c(1:2)), c(1, 4)) ## # A tibble: 2 x 2 ## first_name survived ## <chr> <lgl> ## 1 Harry TRUE ## 2 Ron TRUE You can use square-bracket indexing ([..., ...]) for dataframes, too, but now they’ll have two dimensions (rows, then columns). Put the rows you want before the comma, the columns after. If you want all of something (e.g., all rows in the dataframe), leave the designated spot blank. Here are two examples of using square-bracket indexing to pull a subset of the hp_data dataframe we created above: hp_data[1:2, 2] # First two rows, second column ## # A tibble: 2 x 1 ## last_name ## <chr> ## 1 Potter ## 2 Weasley hp_data[3, ] # Last row, all columns ## # A tibble: 1 x 4 ## first_name last_name n_kids survived ## <chr> <chr> <dbl> <lgl> ## 1 Hermione Granger 1 TRUE If you forget to put the comma in the indexing for a dataframe (e.g., fibonacci_seq[1:2]), you will index out the columns that fall at that position or positions. To avoid confusion, I suggest that you always use indexing with a comma when working with dataframes. Download a pdf of the lecture slides for this video. 1.10 In-course Exercise Chapter 1 1.10.1 Trying out the code in slides so far To start, you’ll try running some simple code in R, using examples from the video lectures for Chapter 1. Take the following steps: Open an R session and find the “Console” pane. Go through the slides we’ve covered so far. Find any examples of R expressions and try them out at the prompt in the console. Once you’ve run an assignment expression, find the “Environment” pane. Check that the object name that you assigned now appears there. 1.10.2 Writing your code as an R script While the R console is fine for initially exploring data, you should get in the habit of writing up R code in an R script for most of your data analysis projects in R. Open a new R script and save it to your current working directory (i.e., wherever you saved the data you downloaded for this exercise). Take some of the code that you wrote for this exercise. Put it in the R script. Do not put more than one function call per line (but it’s fine to have longer function calls span a few lines). Use the “Run” button to run a single line of this code. Check the console to see what happens when you do. Highlight a few lines of the code and use “Run” to run them. Try using the keyboard shortcut (Command-Return) to run the line of code your cursor is currently on. Try doing this with a function call that runs across several lines of the R script file– what do you see at the console? Try running the whole script using “Source”. Again, look at the console after you “source” the script. Close your R session (and save any changes to your R script). Do not save your R session history. Re-open R and see if you can re-open your R script and re-run it. Try using ls() to list the objects in your R session before and after you re-run your script. Does anything about the result surprise you? 1.10.3 About the dataset For the rest of today’s class, you’ll be using a dataset of all the guests on The Daily Show when Jon Stewart was the host. This data was originally collected by Nate Silver’s website, FiveThirtyEight and is available on FiveThirtyEight’s GitHub page under the Creative Commons Attribution 4.0 International License. I have copied this data into my GitHub repository for this class. The only change made to the original file was to add (commented) attribution information at the start of the file. First, check out a bit more about this data and its source: Check out the Creative Commons license. What are we allowed to do with this data? What restrictions are there on using the data? It’s often helpful to use prior knowledge to help check out or validate your dataset. One thing we might want to know about this data is if it covers the whole time that Jon Stewart hosted The Daily Show. Use Google to find out the dates he started and finished as host. Briefly browse around FiveThirtyEight’s GitHub data page. What are some other datasets available that you find interesting? For any dataset, you can scroll to the bottom of the page to get to the compiled README.md content, which gives the full titles and links to relevant datasets. You can also click on any dataset to get more information. Look at the GitHub page for this Daily Show data. How many columns will be in this dataset? What kind of information does the data include? What do the columns show? What do the rows show? In this exercise, you’re using data posted by FiveThirtyEight on GitHub. We’ll be using a lot of data that’s on GitHub this semester, and GitHub is being used behind-the-scenes for both this book and the course note slides. We’ll talk more about GitHub later, but you might find it interesting to explore a bit now. It’s a place where people can post, work on, and share code in a number of programming languages– it’s been referred to as “Facebook for Nerds”. You can search GitHub repositories and code specifically by programming language, so it can be a good way to find example R code from which to learn. If you have extra time: Check out the related article on FiveThirtyEight. What are some specific questions they used this data to answer for this article? Who is Nate Silver? 1.10.4 Manually creating vectors Start by manually creating some vectors and data frames with a small subset of this data. Use the concatenate function (c) to create a vector “from scratch” with the names of the five guests to appear on the show (these could be the first five guests, or you could also randomly pick five guests). Assign this vector the object name five_guests. What class (numeric or character) do you think this vector will be? Will you need to use quotation marks for each element you add to the vector? Use square bracket indexing to print out the following subsets of this vector (you’ll have one R expression per subset): (1) The first guest in the vector; (2) The third and fifth guests; (3) The second through fourth guests. Create a new vector called first_guest with just the first guest in the vector, using the square bracket indexing you used in the previous step. In the same way, create a vector with the year of each of these five guests’ appearances. Assign this vector to an object named appearance_year. What class (numeric or character) do you think this vector will be? Will you need to use quotation marks for each element you add to the vector? Use the class function to determine the classes (e.g., numeric, character) of each of the vectors you just created. Example R code: # I picked five random guests from throughout the dataset. The guests you pick will # likely be different. # Create a vector with the names of five guests five_guests <- c("Miss Piggy", "Stanley Tucci", "Kermit the Frog", "Hank Azaria", "Al Gore") # Use square-bracket indexing to print out some subsets of the data five_guests[1] ## [1] "Miss Piggy" five_guests[c(3, 5)] ## [1] "Kermit the Frog" "Al Gore" five_guests[2:4] ## [1] "Stanley Tucci" "Kermit the Frog" "Hank Azaria" # Save just the first guest in a separate object first_guest <- five_guests[1] first_guest ## [1] "Miss Piggy" # Create a vector with the year of the appearance of each guest appearance_year <- c(1999, 2000, 2001, 2001, 2002) # Figure out the classes of the two vectors you just created class(x = five_guests) ## [1] "character" class(x = appearance_year) ## [1] "numeric" 1.10.5 Installing and using a package The stringr package includes a number of functions that make it easier to work with character strings in R. In particular, it includes functions to change the capitalization of words in character stings. Here, you’ll install and load this package and then use it to work with the five_guests vector we created in the last section. If you have not already installed the stringr package, install it from CRAN. Load the stringr package in your current R session, so you will be able to use its functions. Check if the package has a vignette. If so, check out out that vignette. See if you can use the str_to_lower function from the stringr package to convert all the names in your five_guests vector to lowercase. See if you can find a function in the stringr package that you can use to convert all the names in your five_guests vector to uppercase. (Hint: At the R console, try typing ?stringr:: and then the Tab key.) Example R code: # If you need to, install the package from CRAN install.packages(pkgs = "stringr") # Load the package into your current R session library(package = "stringr") # Open the package's vignette vignette(topic = "stringr") # Convert the `five_guests` strings to lowercase str_to_lower(string = five_guests) ## [1] "miss piggy" "stanley tucci" "kermit the frog" "hank azaria" ## [5] "al gore" # Convert the `five_guests` strings to uppercase str_to_upper(string = five_guests) ## [1] "MISS PIGGY" "STANLEY TUCCI" "KERMIT THE FROG" "HANK AZARIA" ## [5] "AL GORE" 1.10.6 Manually creating a dataframe Combine the two vectors you created earlier, five_guests and appearance_year to create a dataframe named guest_list. For the columns, use the same column names used in the original, raw data for the guest names and appearance year. Print out this dataframe at the R console to make sure it looks like you thought it would. Use functions from the dplyr package to print out the following subsets of this dataframe (you’ll have one R call per subset): (1) The appearance year of the first guest; (2) Names of the third through fifth guests; (3) Names of all guests; (4) Both names and appearance years of the first and third guests. The str function can be used to figure out the structure of a dataframe. Run this command on the guest_list dataframe you created. What information does this give you? Use the helpfile for str to help you figure this out (which you can access by running ?str). Do you see anything that surprises you? Use the ls function to list all the objects you currently have defined in your R session. Compare this list to the “Environment” pane in RStudio. Example R code: # Create the data frame, then print it out to make sure it looks like you thought # it would library(package = "tibble") guest_list <- tibble(Raw_Guest_List = five_guests, YEAR = appearance_year) guest_list ## # A tibble: 5 x 2 ## Raw_Guest_List YEAR ## <chr> <dbl> ## 1 Miss Piggy 1999 ## 2 Stanley Tucci 2000 ## 3 Kermit the Frog 2001 ## 4 Hank Azaria 2001 ## 5 Al Gore 2002 # Use functions from the dplyr package to extract values from the dataframe library(package = "dplyr") slice(.data = select(.data = guest_list, 2), 1) ## # A tibble: 1 x 1 ## YEAR ## <dbl> ## 1 1999 slice(.data = select(.data = guest_list, 1), 3:5) ## # A tibble: 3 x 1 ## Raw_Guest_List ## <chr> ## 1 Kermit the Frog ## 2 Hank Azaria ## 3 Al Gore select(.data = guest_list, 1) ## # A tibble: 5 x 1 ## Raw_Guest_List ## <chr> ## 1 Miss Piggy ## 2 Stanley Tucci ## 3 Kermit the Frog ## 4 Hank Azaria ## 5 Al Gore slice(.data = guest_list, c(1, 3)) ## # A tibble: 2 x 2 ## Raw_Guest_List YEAR ## <chr> <dbl> ## 1 Miss Piggy 1999 ## 2 Kermit the Frog 2001 # Use `str` to check out the structure of the data frame you created str(guest_list) ## tibble [5 × 2] (S3: tbl_df/tbl/data.frame) ## $ Raw_Guest_List: chr [1:5] "Miss Piggy" "Stanley Tucci" "Kermit the Frog" "Hank Azaria" ... ## $ YEAR : num [1:5] 1999 2000 2001 2001 2002 1.10.7 Getting the data onto your computer Next, we will work with the whole dataset. Download the data from GitHub onto your computer. In class, we created an R Project for you to use for this class. Put the Daily Show data in that directory. Take the following steps to get the data onto your computer Download the file from GitHub. Right click on Raw and then choose “Download linked file”. Put the file into the directory you created for this course. Use the list.files command to make sure that the “daily_show_guests.csv” file is in your current working directory (we’ll talk more about working directories, listing files in your working directory, and R Projects later in the semester). # List the files in your current working directory list.files() [1] "daily_show_guests.csv" 1.10.8 Getting the data into R Now that you have the dataset in your working directory, you can read it into R. This dataset is in a csv (comma separated values) format. (We will talk more about different file formats in Week 2.) You can read csv files into R using the function read_csv from the readr package. Read the data into your R session If you do not already have it, install the readr package. Then load this package within your current R session using library. Use the read_csv function from the readr package to read the data into R and save it as the object daily_show. Use the help file for the read_csv function to figure out how this function works. To pull that up, type ?read_csv at the R console. Can you figure out why it’s critical to use the skip option and set it to 4? (We will be talking a lot more about the read_csv function in Week 2, so don’t worry if you don’t completely understand it right now.) Note that you need to put the file name in quotation marks. What would have happened if you’d used read_csv but hadn’t saved the result as the object daily_show? (For example, you’d run the code read_csv(\"daily_show_guests.csv\", skip = 4) rather than daily_show <- read_csv(\"daily_show_guests.csv\").) Example R code: # Install (if needed) and load the `readr` package install.packages(pkgs = "readr") # You only need to do this if you # do not already have the `readr` # package. library(package = "readr") # Read in dataframe from the csv file with Daily Show guests daily_show <- read_csv(file = "daily_show_guests.csv", skip = 4) ## Parsed with column specification: ## cols( ## YEAR = col_double(), ## GoogleKnowlege_Occupation = col_character(), ## Show = col_character(), ## Group = col_character(), ## Raw_Guest_List = col_character() ## ) # Print out the first few rows daily_show ## # A tibble: 2,693 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 1999 actor 1/11/99 Acting Michael J. Fox ## 2 1999 Comedian 1/12/99 Comedy Sandra Bernhard ## 3 1999 television actress 1/13/99 Acting Tracey Ullman ## 4 1999 film actress 1/14/99 Acting Gillian Anderson ## 5 1999 actor 1/18/99 Acting David Alan Grier ## 6 1999 actor 1/19/99 Acting William Baldwin ## 7 1999 Singer-lyricist 1/20/99 Musician Michael Stipe ## 8 1999 model 1/21/99 Media Carmen Electra ## 9 1999 actor 1/25/99 Acting Matthew Lillard ## 10 1999 stand-up comedian 1/26/99 Comedy David Cross ## # … with 2,683 more rows If you have extra time: Say this was a really big dataset. You want to check out just the first 10 rows to make sure that you’ve got your code right before you take the time to pull in the whole dataset. Use the help file for read_csv to figure out how to only read in a few rows. Look through the help file for other options available for read_csv. Can you think of examples when some of these options would be useful? Look again at the version of this raw data on FiveThirtyEight’s GitHub page (rather than the course’s GitHub repository, where you downloaded the data for the course exercise). How are these two versions of the raw data different? How would you need to change your read_csv call if you changed to use the FiveThirtyEight version of the raw data? Example R code: # Read in only the first 10 rows of the dataset daily_show_first10 <- read_csv(file = "daily_show_guests.csv", skip = 4, n_max = 10) ## Parsed with column specification: ## cols( ## YEAR = col_double(), ## GoogleKnowlege_Occupation = col_character(), ## Show = col_character(), ## Group = col_character(), ## Raw_Guest_List = col_character() ## ) # Check the dataframe daily_show_first10 ## # A tibble: 10 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 1999 actor 1/11/99 Acting Michael J. Fox ## 2 1999 Comedian 1/12/99 Comedy Sandra Bernhard ## 3 1999 television actress 1/13/99 Acting Tracey Ullman ## 4 1999 film actress 1/14/99 Acting Gillian Anderson ## 5 1999 actor 1/18/99 Acting David Alan Grier ## 6 1999 actor 1/19/99 Acting William Baldwin ## 7 1999 Singer-lyricist 1/20/99 Musician Michael Stipe ## 8 1999 model 1/21/99 Media Carmen Electra ## 9 1999 actor 1/25/99 Acting Matthew Lillard ## 10 1999 stand-up comedian 1/26/99 Comedy David Cross 1.10.9 Checking out the data You now have the data available in your current R session as the daily_show object. You’ll want to check it out to make sure it read in correctly, and also to get a feel for the data. Throughout, you can use the help pages to figure out more about any of the functions being used (for example, ?dim). Take the following steps to check out the dataset Use the dim function to find out how many rows and columns this dataframe has. Based on what you found out about the data from the GitHub page, does it have the number of columns you expected? Based on what you know about the data (that it includes all the guests who came on The Daily Show with Jon Stewart), do you think it has about the right number of rows? Use functions from the dplyr package to look at the first two rows of the dataset. Based on this, what does each row “measure” (unit of observation)? What information (variables) do you get for each “measurement”? The head function can be used to explore the first few rows of dataframes (see the helpfile at ?head). Use the head function to look at the first few rows of the dataframe. Does it look like the rows go in order by date? What was the date of Jon Stewart’s first show? Does it look like this dataset covers that first show? Use the tail function to look at the last few rows of the dataframe. What is the last show date covered by the dataframe? Who was the last guest? Example R code: # Extract values from the dataframe library(package = "dplyr") # Load the 'dplyr' package slice(.data = daily_show, 1:2) # Look at the first two rows of data ## # A tibble: 2 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 1999 actor 1/11/99 Acting Michael J. Fox ## 2 1999 Comedian 1/12/99 Comedy Sandra Bernhard # Check the dimensions of the data dim(x = daily_show) ## [1] 2693 5 head(x = daily_show) ## # A tibble: 6 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 1999 actor 1/11/99 Acting Michael J. Fox ## 2 1999 Comedian 1/12/99 Comedy Sandra Bernhard ## 3 1999 television actress 1/13/99 Acting Tracey Ullman ## 4 1999 film actress 1/14/99 Acting Gillian Anderson ## 5 1999 actor 1/18/99 Acting David Alan Grier ## 6 1999 actor 1/19/99 Acting William Baldwin tail(x = daily_show) ## # A tibble: 6 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 2015 actor 7/28/15 Acting Tom Cruise ## 2 2015 biographer 7/29/15 Media Doris Kearns Goodwin ## 3 2015 director 7/30/15 Media J. J. Abrams ## 4 2015 stand-up comedian 8/3/15 Comedy Amy Schumer ## 5 2015 actor 8/4/15 Acting Denis Leary ## 6 2015 comedian 8/5/15 Comedy Louis C.K. If you have extra time: Say you wanted to look at the first ten rows of the dataframe, rather than the first six. How could you use an option with head to do this? Example R code: # Look at the first few rows of the data head(x = daily_show, n = 10) ## # A tibble: 10 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 1999 actor 1/11/99 Acting Michael J. Fox ## 2 1999 Comedian 1/12/99 Comedy Sandra Bernhard ## 3 1999 television actress 1/13/99 Acting Tracey Ullman ## 4 1999 film actress 1/14/99 Acting Gillian Anderson ## 5 1999 actor 1/18/99 Acting David Alan Grier ## 6 1999 actor 1/19/99 Acting William Baldwin ## 7 1999 Singer-lyricist 1/20/99 Musician Michael Stipe ## 8 1999 model 1/21/99 Media Carmen Electra ## 9 1999 actor 1/25/99 Acting Matthew Lillard ## 10 1999 stand-up comedian 1/26/99 Comedy David Cross 1.10.10 Using the data to answer questions Nate Silver was a guest on The Daily Show. Let’s use this data to figure out how many times he was a guest and when he was on the show. Find out more about Nate Silver on The Daily Show The filter function from the dplyr package can be combined with logical statements to help you create a specific subset of data. For example, if you only wanted data from guest visits in 1999, you could run filter(.data = daily_show, YEAR == 1999). Check out the helpfile for filter and use the function to create a new dataframe that only has the rows of daily_show when Nate Silver was a guest (Raw_Guest_List == \"Nate Silver\"). Save this as an object named nate_silver. Print out the full nate_silver dataframe by typing nate_silver. (You could just use this to answer both questions, but still try the next steps. They would be important with a bigger dataset.) To count the number of times Nate Silver was a guest, you’ll need to count the number of rows in the new dataset. You can either use the dim function or the nrow function to do this. What additional information does the dim function give you? To get the dates when Nate Silver was a guest, you can print out just the Show column of the dataframe. There are a few ways you can do this using the select function from the dplyr package. Example R code: library(package = "dplyr") # Create a subset of the data with just Nate Silver appearances nate_silver <- filter(.data = daily_show, Raw_Guest_List == "Nate Silver") # Investigate this subset of the data nate_silver ## # A tibble: 3 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 2012 Statistician 10/17/12 Media Nate Silver ## 2 2012 Statistician 11/7/12 Media Nate Silver ## 3 2014 Statistician 3/27/14 Media Nate Silver dim(x = nate_silver) ## [1] 3 5 nrow(x = nate_silver) ## [1] 3 select(.data = nate_silver, 3) ## # A tibble: 3 x 1 ## Show ## <chr> ## 1 10/17/12 ## 2 11/7/12 ## 3 3/27/14 If you have extra time: Was Nate Silver the only statistician to be a guest on the show? What were the occupations that were only represented by one guest visit? Since GoogleKnowlege_Occupation is a factor, you can use the table function to create a new vector with the number of times each value of GoogleKnowlege_Occupation shows up. You can put this information into a new vector and then pull out only the values that equal 1 (so, only had one guest). (Note that “Statistician” doesn’t show up– there was only one person who was a guest, but he had three visits.) Pick your favorite “one-off” example and find out who the guest was for that occupation. Example R code: statisticians <- filter(.data = daily_show, GoogleKnowlege_Occupation == "Statistician") statisticians ## # A tibble: 3 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 2012 Statistician 10/17/12 Media Nate Silver ## 2 2012 Statistician 11/7/12 Media Nate Silver ## 3 2014 Statistician 3/27/14 Media Nate Silver num_visits <- table(daily_show$GoogleKnowlege_Occupation) head(x = num_visits) # Note: This is a vector rather than a dataframe ## ## - 0 academic Academic accountant activist ## 1 4 3 3 1 14 single_visits <- num_visits[num_visits == 1] # This is using a "logical operator" to extract values that meet a condition names(single_visits) ## [1] "-" ## [2] "accountant" ## [3] "administrator" ## [4] "advocate" ## [5] "aei president" ## [6] "afghan politician" ## [7] "American football running back" ## [8] "american football wide reciever" ## [9] "assistant secretary of defense" ## [10] "assistant to the president for communications" ## [11] "Associate Justice of the Supreme Court of the United States" ## [12] "astronaut" ## [13] "Astronaut" ## [14] "Attorney at law" ## [15] "author of novels" ## [16] "aviator" ## [17] "Baseball athlete" ## [18] "baseball player" ## [19] "Basketball Coach" ## [20] "bass guitarist" ## [21] "bassist" ## [22] "Beach Volleyball Player" ## [23] "boxer" ## [24] "business person" ## [25] "businesswoman" ## [26] "Businesswoman" ## [27] "Cartoonist" ## [28] "celbrity chef" ## [29] "CHARACTER" ## [30] "chess player" ## [31] "chief technology officer of united states" ## [32] "Choreographer" ## [33] "civil rights activist" ## [34] "Coach" ## [35] "comic" ## [36] "Comic" ## [37] "communications consultant" ## [38] "Composer" ## [39] "comptroller of the us" ## [40] "coorespondant" ## [41] "Critic" ## [42] "designer" ## [43] "Director of the Consumer Financial Protection Bureau" ## [44] "doctor" ## [45] "drummer" ## [46] "Educator" ## [47] "entrepreneur" ## [48] "Ethologist" ## [49] "executive" ## [50] "Executive" ## [51] "fbi agent" ## [52] "Fiction writer" ## [53] "Film critic" ## [54] "film producer" ## [55] "Film-maker" ## [56] "Financier" ## [57] "first lady" ## [58] "first lady of egypt" ## [59] "First Lady of the United States" ## [60] "First Minister of Scotland" ## [61] "Football coach" ## [62] "football player" ## [63] "foreign policy analyst" ## [64] "foreign policy expert" ## [65] "foreign policy strategist" ## [66] "Former American senator" ## [67] "former british prime minister" ## [68] "former cia director" ## [69] "former director of the national economic counscil" ## [70] "Former Director of the Office of Management and Budget" ## [71] "Former First Lady of the United States" ## [72] "former governor of arizona" ## [73] "former governor of arkansas" ## [74] "former governor of california" ## [75] "Former Governor of Indiana" ## [76] "former governor of louisiana" ## [77] "former governor of massachusetts" ## [78] "former governor of michigan" ## [79] "former governor of missouri" ## [80] "former governor of montans" ## [81] "former governor of new hampshire" ## [82] "Former Governor of New Jersey" ## [83] "Former Governor of New York" ## [84] "former governor of rhode island" ## [85] "Former Governor of Texas" ## [86] "former governor of washington" ## [87] "former govrnor of masssachusetts" ## [88] "Former Mayor of Cincinnati" ## [89] "Former Mayor of New Orleans" ## [90] "former mayor of san antonio" ## [91] "Former member of the United States Senate" ## [92] "former mjority leader" ## [93] "former national security advisio\\\\r" ## [94] "former omb director" ## [95] "Former President of Mexico" ## [96] "Former President of the Maldives" ## [97] "former press secretary" ## [98] "former secretary of defense" ## [99] "former senator" ## [100] "former senator from kansas" ## [101] "Former United States Deputy Secretary of State" ## [102] "Former United States National Security Advisor" ## [103] "Former United States Secretary of Education" ## [104] "Former United States Secretary of Energy" ## [105] "Former United States Secretary of the Interior" ## [106] "Former United States Secretary of the Treasury" ## [107] "Former United States Secretary of Transportation" ## [108] "former us representativ" ## [109] "former us secretary of education" ## [110] "former white house counsel" ## [111] "Futurist" ## [112] "game show host" ## [113] "Geneticist" ## [114] "governor of new jersey" ## [115] "guitarist" ## [116] "high-altitude mountaineer" ## [117] "Host" ## [118] "Ice hockey coach" ## [119] "illustrator" ## [120] "Innovator" ## [121] "inspector general of homeland security department" ## [122] "intellectual" ## [123] "internet entrepreneur" ## [124] "investment banker" ## [125] "israeli official" ## [126] "JOURNALIST" ## [127] "Law professor" ## [128] "legal scholar" ## [129] "magician" ## [130] "mathematician" ## [131] "Mayor of Chicago" ## [132] "mayor of london" ## [133] "Media person" ## [134] "minister of defense" ## [135] "Music Producer" ## [136] "Neurologist" ## [137] "Neuroscientist" ## [138] "non profit director" ## [139] "non profit worker" ## [140] "orca trainer" ## [141] "pastor" ## [142] "peace activist" ## [143] "photojournalist" ## [144] "Photojournalist" ## [145] "physicist" ## [146] "pianist" ## [147] "police officer" ## [148] "political consultant" ## [149] "political expert" ## [150] "Political figure" ## [151] "political psychologist" ## [152] "political satirist" ## [153] "political strategist" ## [154] "Pop group" ## [155] "president of liberia" ## [156] "priest" ## [157] "prince" ## [158] "Product line" ## [159] "professional wrestler" ## [160] "psychic" ## [161] "Psychologist" ## [162] "public official" ## [163] "public speaker" ## [164] "publisher" ## [165] "Pundit" ## [166] "Puppeteer" ## [167] "Puzzle Creator" ## [168] "race car driver" ## [169] "Racing driver" ## [170] "reality show contestant" ## [171] "RNC chairman" ## [172] "Scholar" ## [173] "secretary of state" ## [174] "security expert" ## [175] "Soccer player" ## [176] "social activist" ## [177] "speechwriter" ## [178] "Sports Columnist" ## [179] "Surgeon" ## [180] "swimmer" ## [181] "syrian politician" ## [182] "television actor" ## [183] "television Director" ## [184] "television writer" ## [185] "televison actor" ## [186] "telvision actor" ## [187] "telvision personality" ## [188] "Tennis player" ## [189] "Track and field athlete" ## [190] "TV Producer" ## [191] "united nations official" ## [192] "United States Secretary of Agriculture" ## [193] "United States Secretary of Defense" ## [194] "United States Secretary of Housing and Urban Development" ## [195] "United States Secretary of the Navy" ## [196] "us assistant attorney" ## [197] "us official" ## [198] "us permanent representative to nato" ## [199] "us secetary of education" ## [200] "us secretary of defense" ## [201] "us secretary of energy" ## [202] "white house official" filter(.data = daily_show, GoogleKnowlege_Occupation == "chess player") ## # A tibble: 1 x 5 ## YEAR GoogleKnowlege_Occupati… Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 2012 chess player 11/8/12 Misc Katie Dellamaggiore and Pobo Efe… filter(.data = daily_show, GoogleKnowlege_Occupation == "mathematician") ## # A tibble: 1 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 2005 mathematician 9/14/05 Academic Dr. William A. Dembski filter(.data = daily_show, GoogleKnowlege_Occupation == "orca trainer") ## # A tibble: 1 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 2015 orca trainer 3/26/15 Athletics John Hargrove filter(.data = daily_show, GoogleKnowlege_Occupation == "Puzzle Creator") ## # A tibble: 1 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 2003 Puzzle Creator 8/20/03 Media Will Shortz filter(.data = daily_show, GoogleKnowlege_Occupation == "Scholar") ## # A tibble: 1 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 2005 Scholar 6/13/05 Academic Larry Diamond "], +["r-preliminaries.html", "Chapter 1 R Preliminaries 1.1 Objectives 1.2 R and R Studio 1.3 Communicating with R 1.4 Functions 1.5 Objects and assignment 1.6 More on communicating with R 1.7 R scripts 1.8 The “package” system 1.9 R’s most basic object types 1.10 In-course Exercise Chapter 1", " Chapter 1 R Preliminaries The video lectures for this chapter are embedded at relevant places in the text, with links to download a pdf of the associated slides for each video. You can also access a full playlist for the videos for this chapter. 1.1 Objectives After this chapter, you should: Know what free and open source software is and some of its advantages over proprietary software Understand the difference between R and RStudio Be able to download both R and RStudio to your own computer Understand that R has a basic core of code that you initially download, and that this “base R” can be expanded by installing a variety of packages Be able to install a package from CRAN to your computer Be able to load a package that you have installed to use its functions within an R session Be able to access help documentation (vignettes, helpfiles) for a package and its functions Be able to submit R expressions at the console prompt to communicate with R Understand the structure for calling a function and specifying options for that function Know what an R object is and how to assign an R object a name to reference it in later code Be able to create vector objects of numeric and character classes Be able to explore and extract elements from vector objects Be able to create dataframe objects Be able to explore and extract elements from dataframe objects Be able to describe the difference between running R code from the console versus writing and running R code in an R script 1.2 R and R Studio Download a pdf of the lecture slides for this video. 1.2.1 What is R? R in an open-source programming language that evolved from the S language. The S language was developed at Bell Labs in the 1970s, which is the same place (and about the same time) that the C programming language was developed. R itself was developed in the 1990s–2000s at the University of Auckland. It is open-source software, freely and openly distributed under the GNU General Public License (GPL). The base version of R that you download when you install R on your computer includes the critical code for running R, but you can also install and run “packages” that people all over the world have developed to extend R. With new developments, R is becoming more and more useful for a variety of programming tasks. However, where it really shines is in working with data and doing statistical analysis. R is currently popular in a number of fields, including: Statistics Machine learning Data analysis R is an interpreted language. That means that you can communicate with it interactively, from a command line. Other common interpreted languages include Python and Perl. Figure 1.1: Broad types of software programs. R is an interpreted language. ‘Point-and-click’ programs, like Excel and Word, are often easiest for a new user to get started with, but are slower for the computer and are restricted in the functionality they offer. By contrast, compiled languages (like C and Java), assembly languages, and machine code are faster for the computer and allow you to create a wider range of things, but can take longer to code and take longer for a new user to learn to work with. R has some of the same strengths (quick and easy to code, interfaces well with other languages, easy to work interactively) and weaknesses (slower than compiled languages) as Python. For data-related tasks, R and Python are fairly neck-and-neck (with Julia an up-and-coming option). However, R is still the first choice of statisticians in most fields, so I would argue that R has a an advantage if you want to have access to cutting-edge statistical methods. “The best thing about R is that it was developed by statisticians. The worst thing about R is that… it was developed by statisticians.” -Bo Cowgill, Google, at the Bay Area R Users Group 1.2.2 Free and open-source software “Life is too short to run proprietary software.” – Bdale Garbee R is free and open-source software. Many other popular statistical programming languages, conversely, are proprietary (for example, SAS and SPSS). It’s useful to know what it means for software to be “open-source”, both conceptually and in terms of how you will be able to use and add to R in your own work. R is free, and it’s tempting to think of open-source software just as “free software”. Things, however, are a little more subtle than that. It helps to consider some different meanings of the word “free”. “Free” can mean: Gratis: Free as in beer Libre: Free as in speech Figure 1.2: An overview of how software can be each type of free (beer and speech). For software programs developed using a compiled programming language, the final product that you open on your computer is run by machine-readable binary code. A developer can give you this code for free (as in beer) without sharing any of the original source code with you. This means you can’t dig in to figure out how the software works and how you can extend it. By contrast, open-source software (free as in speech) is software for which you have access to the human-readable code that was used as in input in creating the software binaries. With open-source code, you can figure out exactly how the program is coded. Open-source software software is the libre type of free (Figure 1.2). This means that, with software that is open-source, you can: Access all of the code that makes up the software Change the code as you’d like for your own applications Build on the code with your own extensions Share the software and its code, as well as your extensions, with others Often, open-source software is also free, making it “free and open-source software”, or “FOSS”. Popular open source licenses for R and R packages include the GPL and MIT licenses. “Making Linux GPL’d was definitely the best thing I ever did.” – Linus Torvalds In practice, this means that, once you are familiar with the software, you can dig deeply into the code to figure out exactly how it’s performing certain tasks. This can be useful for finding bugs and eliminating bugs, and also can help researchers figure out if there are any limitations in how the code works for their specific research. It also means that you can build your own software on top of existing R software and its extensions. I explain a bit more about R packages a bit later, but this open-source nature of R (and other languages, including Python) has created a large community of people worldwide who develop and share extensions to R. As a result, you can pull in packages that let you do all kinds of things in R, like visualizing Tweets, cleaning up accelerometer data, analyzing complex surveys, fitting maching learning models, and a wealth of other cool things. “Despite its name, open-source software is less vulnerable to hacking than the secret, black box systems like those being used in polling places now. That’s because anyone can see how open-source systems operate. Bugs can be spotted and remedied, deterring those who would attempt attacks. This makes them much more secure than closed-source models like Microsoft’s, which only Microsoft employees can get into to fix.” – Woolsey and Fox. To Protect Voting, Use Open-Source Software. New York Times. August 3, 2017. You can download the latest version of R from CRAN. Be sure to select the distribution for your type of computer system. R is updated occasionally; you should plan to re-install R at least once a year, to make sure you’re working with one of the newer versions. Check your current R version (one way is by running sessionInfo() at the R console) to make sure you’re not using an outdated version of R. Defaults should be fine for everything. “The R engine … is pretty well uniformly excellent code but you have to take my word for that. Actually, you don’t. The whole engine is open source so, if you wish, you can check every line of it. If people were out to push dodgy software, this is not the way they’d go about it.” - Bill Venables, R-help (January 2004) “Talk is cheap. Show me the code.” - Linus Torvalds Download a pdf of the lecture slides for this video. 1.2.3 What is RStudio? To get the R software, you’ll download R from the R Project for Statistical Computing. This is enough for you to use R on your own computer. However, I would suggest one additional, free piece of software to improve your experience while working with R, RStudio. RStudio is an integrated development environment (IDE) for R. This basically means that it provides you an interface for running R and coding in R, with a lot of nice extras that will make your life easier. You download RStudio separately from R—you’ll want to download and install R itself first, and then you can download RStudio. You want the Desktop version with the free license. Defaults should be fine for everything. RStudio (the company) is a leader in the R community. Currently, the company: Develops and freely provides the RStudio IDE Provides excellent resources for learning and using R (e.g., cheatsheets, free online books) Is producing some of the most-used R packages Employs some of the top people in R development Is a key member of The R Consortium (others include Microsoft, IBM, and Google) R has been advancing by leaps in bounds in terms of what it can do and the elegance with which it does it, in large part because of the enormous contributions of people involved with RStudio. Download a pdf of the lecture slides for this video. 1.3 Communicating with R Because R is an interpreted language, you can communicate with it interactively. You do this using the following general steps: Open an R session At the prompt in the console, enter an R expression Read R’s “response” (the output) Repeat 2 and 3 Close the R session 1.3.1 R sessions, the console, and the command prompt An R session is an instance of you using R. To open an R session, double-click on the icon for “RStudio” on you computer. When RStudio opens, you will be in a “fresh” R session, unless you restore a saved session (which I strongly recommend against). This means that, once you open RStudio, you will need to “set up” your session, including loading any packages you need (which we’ll talk about later) and reading in any data (which we’ll also talk about). In RStudio, there screen is divided into several “panes”. We’ll start with the pane called “Console”. The console lets you “talk” to R. This is where you can “talk” to R by typing an expression at the prompt (the caret symbol, “>”). You press the “Return” key to send this message to R. Figure 1.3: Finding the ‘Console’ pane and the command prompt in RStudio. Once you press “Return”, R will respond in one of three ways: R does whatever you asked it to do with the expression and prints the output (if any) of doing that, as well as a new prompt so you can ask it something new R doesn’t think you’ve finished asking you something, and instead of giving you a new prompt (“>”) it gives you a “+”. This means that R is still listening, waiting for you to finish asking it something. R tries to do what you asked it to, but it can’t. It gives you an error message, as well as a new prompt so you can try again or ask it something new. 1.3.2 R expressions, function calls, and objects To “talk” with R, you need to know how to give it a complete expression. Most expressions you’ll want to give R will be some combination of two elements: Function calls Object assignments We’ll go through both these pieces and also look at how you can combine them together for some expressions. According to John Chambers, one of the creators of R’s precursor S: Everything that exists in R is an object Everything that happens in R is a call to a function Download a pdf of the lecture slides for this video. 1.4 Functions In general, function calls in R take the following structure: ## Generic code (this won't run) function_name(formal_argument_1 = named_argument_1, formal_argument_2 = named_argument_2, [etc.]) Sometimes, we’ll show “generic” code in a code block, that doesn’t actually work if you put it in R, but instead shows the generic structure of an R call. We’ll try to always include a comment with any generic code, so you’ll know not to try to run it in R. A function call forms a complete R expression, and the output will be the result of running print or show on the object that is output by the function call. Here is an example of this structure: print(x = "Hello world") ## [1] "Hello world" Figure 1.4 shows an example of the typical elements of a function call. In this example, we’re calling a function with the name print. It has one argument, with a formal argument of x, which in this call we’ve provided the named argument “Hello world”. Figure 1.4: Main parts of a function call. This example is calling a function with the name ‘print’. The function call has one argument, with a formal argument of ‘x’, which in this call is provided the named argument ‘Hello world’. The arguments are how you customize the call to an R function. For example, you can use change the named argument value to print different messages with the print function: print(x = "Hello world") ## [1] "Hello world" print(x = "Hi Fort Collins") ## [1] "Hi Fort Collins" Some functions do not require any arguments. For example, the getRversion function will print out the version of R you are using. getRversion() ## [1] '4.0.2' Some functions will accept multiple arguments. For example, the print function allows you to specify whether the output should include quotation marks, using the quote formal argument: print(x = "Hello world", quote = TRUE) ## [1] "Hello world" print(x = "Hello world", quote = FALSE) ## [1] Hello world Arguments can be required or optional. For a required argument, if you don’t provide a value for the argument when you call the function, R will respond with an error. For example, x is a required argument for the print function, so if you try to call the function without it, you’ll get an error: print() Error in print.default() : argument "x" is missing, with no default For an optional argument on the other hand, R knows a default value for that argument, so if you don’t give it a value for that argument, it will just use the default value for that argument. For example, for the print function, the quote argument has the default value TRUE. So if you don’t specify a value for that argument, R will assume it should use quote = TRUE. That’s why the following two calls give the same result: print(x = "Hello world", quote = TRUE) ## [1] "Hello world" print(x = "Hello world") ## [1] "Hello world" Often, you’ll want to find out more about a function, including: Examples of how to use the function Which arguments you can include for the function Which arguments are required versus optional What the default values are for optional arguments. You can find out all this information in the function’s helpfile, which you can access using the function ?. For example, the mean function will let you calculate the mean (average) of a group of numbers. To find out more about this function, at the console type: ?mean This will open a helpfile in the “Help” pane in RStudio. Figure 1.5 shows some of the key elements of an example helpfile, the helpfile for the mean function. In particular, the “Usage” section helps you figure out which arguments are required and which are optional in the Usage section of the helpfile. Figure 1.5: Navigating a helpfile. This example shows some key parts of the helpfile for the ‘mean’ function. There’s one class of functions that looks a bit different from others. These are the infix operator functions. Instead using parentheses after the function name, they usually go between two arguments. One common example is the + operator: 2 + 3 ## [1] 5 There are operators for several mathematical functions: +, -, *, /. There are also other operators, including logical operators and assignment operators, which we’ll cover later. Download a pdf of the lecture slides for this video. 1.5 Objects and assignment In R, a variety of different types and structures of data can be saved in what’s called objects. For right now, you can just think of an R object as a discrete container of data in R. Function calls will produce an object. If you just call a function, as we’ve been doing, then R will respond by printing out that object. However, we’ll often want to use that object some more. For example, we might want to use it as an argument later in our “conversation” with R, when we call another function later. If you want to re-use the results of a function call later, you can assign that object to an object name. This kind of expression is called an assignment expression. Once you do this, you can use that object name to refer to the object. This means that you don’t need to re-create the object each time you need it—instead you can create it once and then just reference it by name each time you need it after that. For example, you can read in data from an external file as a dataframe object and assign it an object name. Then, when you need that data later, you won’t need to read it in again from the external file. The gets arrow, <-, is R’s assignment operator. It takes whatever you’ve created on the right hand side of the <- and saves it as an object with the name you put on the left hand side of the <- : ## Note: Generic code-- this will not work [object name] <- [object] For example, if I just type \"Hello world\", R will print it back to me, but won’t save it anywhere for me to use later: "Hello world" ## [1] "Hello world" However, if I assign it to an object, I can “refer” to that object in a later expression. For example, the code below assigns the object \"Hello world\" the object name message. Later, I can just refer to this object using the name message, for example in a function call to the print function: message <- "Hello world" print(x = message) ## [1] "Hello world" When you enter an assignment expression like this at the R console, if everything goes right, then R will “respond” by giving you a new prompt, without any kind of message. However, there are three ways you can check to make sure that the object was assigned to the object name: Enter the object’s name at the prompt and press return. The default if you do this is for R to “respond” by calling the print function with that object as the x argument. Call the ls function (which doesn’t require any arguments). This will list all the object names that have been assigned in the current R session. Look in the “Environment” pane in RStudio. This also lists all the object names that have been assigned in the current R session. Here’s are examples of these strategies: Enter the object’s name at the prompt and press return: message ## [1] "Hello world" Call the ls function: ls() ## [1] "a" "message" Look in the “Environment” pane in RStudio (see Figure 1.6). Figure 1.6: ‘Environment’ pane in RStudio. This shows the names and first few values of all objects that have been assigned to object names in the global environment. You can make assignments in R using either the gets arrow (<-) or =. When you read other people’s code, you’ll see both. R gurus advise using <- rather than = when coding in R, and as you move to doing more complex things, some subtle problems might crop up if you use =. I have heard from someone in the know that you can tell the age of a programmer by whether he or she uses the gets arrow or =, with = more common among the young and hip. For this course, however, I am asking you to code according to Hadley Wickham’s R style guide, which specifies using the gets arrow for assignment. While you will be coding with the gets arrow exclusively in this course, it will be helpful for you to know that the two assignment arrows do pretty much the same thing: one_to_ten <- 1:10 one_to_ten ## [1] 1 2 3 4 5 6 7 8 9 10 one_to_ten = 1:10 one_to_ten ## [1] 1 2 3 4 5 6 7 8 9 10 While the gets arrow takes two key strokes instead of one (like the equals sign), you can somewhat get around this limitation by using RStudio’s keyboard shortcut for the gets arrow. This shortcut is Alt + - on Windows and Option + - on Macs. To see a full list of RStudio keyboard shortcuts, go to the “Help” tab in RStudio and select “Keyboard Shortcuts”. There are some absolute rules for the names you can use for an object name: Use only letters, numbers, and underscores Don’t start with anything but a letter If you try to assign an object to a name that doesn’t follow the “hard” rules, you’ll get an error. For example, all of these expressions will give you an error: 1message <- "Hello world" _message <- "Hello world" message! <- "Hello world" In addition to these fixed rules, there are also some guidelines for naming objects that you should adopt now, since they will make your life easier as you advance to writing more complex code in R. The following three guidelines for naming objects are from Hadley Wickham’s R style guide: Use lower case for variable names (message, not Message) Use an underscore as a separator (message_one, not messageOne) Avoid using names that are already defined in R (e.g., don’t name an object mean, because a mean function exists) “Don’t call your matrix ‘matrix’. Would you call your dog ‘dog’? Anyway, it might clash with the function ‘matrix’.” - Barry Rowlingson, R-help (October 2004) Another good practice is to name objects after nouns (e.g., message) and later, when you start writing functions, name those after verbs (e.g., print_message). You’ll want your object names to be short enough that they don’t take forever to type as you’re coding, but not so short that you can’t remember what they stand for. Sometimes, you’ll want to create an object that you won’t want to keep for very long. For example, you might want to create a small object to test some code, but you plan to not need the object again once you’ve done that. You may want to come up with some short, generic object names that you use for these kinds of objects, so that you’ll know that you can delete them without problems when you want to clean up your R session. There are all kinds of traditions for these placeholder variable names in computer science. foo and bar are two popular choices, as are, evidently, xyzzy, spam, ham, and norf. There are different placeholder names in different languages: for example, toto, truc, and azerty (French); and pippo, pluto, paperino (Disney character names; Italian). See the Wikipedia page on metasyntactic variables to find out more. Download a pdf of the lecture slides for this video. 1.6 More on communicating with R What if you want to “compose” a call from more than one function call? One way to do it is to assign the output from the first function call to a name and then use that name for the next call. For example: message <- paste("Hello", "world") print(x = message) ## [1] "Hello world" If you give two objects the same name, the most recent definition will be used (i.e., objects can be overwritten by assigning new content to the same object name). For example: a <- 1:10 b <- LETTERS [1:3] a ## [1] 1 2 3 4 5 6 7 8 9 10 b ## [1] "A" "B" "C" a <- b a ## [1] "A" "B" "C" To create an R expression you can “nest” one function call inside another function call. For example: print(x = paste("Hello", "world")) ## [1] "Hello world" Just like with math, the order that the functions are evaluated moves from the inner set of parentheses to the outer one (Figure 1.7). There’s one more way we’ll look at later called “piping”. Figure 1.7: ‘Environment’ pane in RStudio. This shows the names and first few values of all objects that have been assigned to object names in the global environment. 1.7 R scripts This is a good point in learning R for you to start putting your code in R scripts, rather than entering commands at the console. An R script is a plain text file where you can save a series of R commands. You can save the script and open it up later to see (or re-do) what you did earlier, just like you could with something like a Word document when you’re writing a paper. To open a new R script in RStudio, go to the menu bar and select “File” -> “New File” -> “R Script”. Alternatively, you can use the keyboard shortcut Command-Shift-N. Figure 1.8 gives an example of an R script file opened in RStudio and points out some interesting elements. Figure 1.8: Example of an R script in RStudio. To save a script you’re working on, you can click on the “Save” button (which looks like a floppy disk) at the top of your R script window in RStudio or use the keyboard shortcut Command-S. You should save R scripts using a “.R” file extension. Within the R script, you’ll usually want to type your code so there’s one command per line. If your command runs long, you can write a single call over multiple lines. It’s unusual to put more than one command on a single line of a script file, but you can if you separate the commands with semicolons (;). These rules all correspond to how you can enter commands at the console. Running R code from a script file is very easy in RStudio. You can use either the “Run” button or Command-Return, and any code that is selected (i.e., that you’ve highlighted with your cursor) will run at the console. You can use this functionality to run a single line of code, multiple lines of code, or even just part of a specific line of code. If no code is highlighted, then R will instead run all the code on the line with the cursor and then move the cursor down to the next line in the script. You can also run all of the code in a script. To do this, use the “Source” button at the top of the script window. You can also run the entire script either from the console or from within another script by using the source() function, with the filename of the script you want to run as the argument. For example, to run all of the code in a file named “MyFile.R” that is saved in your current working directory, run: source("MyFile.R") You can add comments into an R script to let others know (and remind yourself) what you’re doing and why. To do this, use R’s comment character, #. Any line on a script line that starts with # will not be read by R. You can also take advantage of commenting to comment out certain parts of code that you don’t want to run at the moment. While it’s generally best to write your R code in a script and run it from there rather than entering it interactively at the R console, there are some exceptions. A main example is when you’re initially checking out a dataset, to make sure you’ve read it in correctly. It often makes more sense to run commands for this task, like str(), head(), tail(), and summary(), at the console. These are all examples of commands where you’re trying to look at something about your data right now, rather than code that builds toward your analysis, or helps you read in or clean up your data. 1.7.1 Commenting code Sometimes, you’ll want to include notes in your code. You can do this in all programming languages by using a comment character to start the line with your comment. In R, the comment character is the hash symbol, #. R will skip any line that starts with # in a script. For example, if you run the following code: # Don't print this. "But print this" ## [1] "But print this" R will only print the second, uncommented line. You can also use a comment in the middle of a line, to add a note on what you’re doing in that line of the code. R will skip any part of the code from the hash symbol on. For example: "Print this" ## But not this, it's a comment. ## [1] "Print this" There’s typically no reason to use code comments when running commands at the R console. However, it’s very important to get in the practice of including meaningful comments in R scripts. This helps you remember what you did when you revisit your code later. “You know you’re brilliant, but maybe you’d like to understand what you did 2 weeks from now.” – Linus Torvalds Download a pdf of the lecture slides for this video. 1.8 The “package” system 1.8.1 R packages “Any doubts about R’s big-league status should be put to rest, now that we have a Sudoku Puzzle Solver. Take that, SAS!” - David Brahm (announcing the sudoku package), R-packages (January 2006) Your original download of R is only a starting point. You can expand functionality of R with what are called packages, or extensions with new code and functionality that add to the basic “base R” environment. To me, this is a bit like the toy train set that my son was obsessed with for a while. You first buy a very basic set that looks something like Figure 1.9. Figure 1.9: The toy version of base R. To take full advantage of R, you’ll want to add on packages. In the case of the train set, at this point, a doting grandparent adds on extensively through birthday presents, so you end up with something that looks like Figure 1.10. Figure 1.10: The toy version of what your R set-up will look like once you find cool packages to use for your research. Each package is basically a bundle of extra R functions. They may also include help documentation, datasets, and some other objects, but typically the heart of an R package is the new functions it provides. You can get these “add-on” packages in a number of ways. The main source for installing packages for R remains the Comprehensive R Archive Network, or CRAN. However, GitHub is growing in popularity, especially for packages that are still in development. You can also create and share packages among your collaborators or co-workers, without ever posting them publicly. In the “Advanced” section of this course, you will learn some about writing your own R package. 1.8.2 Installing from CRAN Figure 1.11: Celebrating CRAN’s 10,000th package. The most popular place from which to get packages is currently CRAN, which has over 10,000 R packages available (Figure 1.11). You can install packages from CRAN using R code, with the install.packages function. For example, telephone keypads include letters for each number (Figure 1.12), which allow companies to have “named” phone numbers that are easier for people to remember, like 1-800-GO-FEDEX and 1-800-FLOWERS. Figure 1.12: Telephone keypad with letters corresponding to each number. The phonenumber package is a cool little package that will convert between numbers and letters based on the telephone keypad. Since this package is on CRAN, you can install the package to your computer using the install.packages function: install.packages(pkgs = "phonenumber") This downloads the package from CRAN and saves it in a special location on your computer where R can load it when you’re ready to use it. Once you’ve installed a package to your computer this way, you don’t need to re-run this install.packages for the package ever again (unless the package maintainer posts an updated version). Just like R itself, packages often evolve and are updated by their maintainers. You should update your packages as new versions come out. Typically, you have to reinstall packages when you update your version of R, so this is a good chance to get the most up-to-date version of the packages you use. 1.8.3 Loading an installed package Once you have installed a package, it will be saved to your computer. However, you won’t be able to access its functions within an R session until you load it in that R session. Loading a package essentially makes all of the package’s functions available to you. You can load a package in an R session using the library function, with the package name inside the parentheses. library(package = "phonenumber") Figure 1.13 provides a conceptual picture of the different steps of installing and loading a package. Figure 1.13: Install a package (with ‘install.packages’) to get it onto your computer. Load it (with ‘library’) to get it into your R session. Once a package is loaded, you can use all its exported (i.e., public) functions by calling them directly. For example, the phonenumber has a function called letterToNumber that converts a character string to a number. If you have not loaded the phonenumber package in your current R session and try to use this function, you will get an error. However, once you’ve loaded phonenumber using the library function, you can use this function in your R session: fedex_number <- "GoFedEx" letterToNumber(value = fedex_number) ## [1] "4633339" R vectors can have several different classes. One common class is the character class, which is the class of the character string we’re using here (“GoFedEx”). You’ll always put character strings in quotation marks. Another key class is numeric (numbers). Later in the course, we’ll introduce other classes that vectors can have, including factors and dates. For the simplest vector classes, these classes are determined by the type of data that the vector stores. When you open RStudio, unless you reload the history of a previous R session (which I typically strongly do not recommend), you will start your work in a “fresh” R session. This means that, once you open RStudio, you will need to run the code to load any packages, define any objects, and read in any data that you will need for analysis in that session. If you are using a package in academic research, you should cite it, especially if it implements an algorithm or method that is not standard. You can use the citation function to get the information you need about how to cite a package: citation(package = "phonenumber") ## ## To cite package 'phonenumber' in publications use: ## ## Steve Myles (2015). phonenumber: Convert Letters to Numbers and Back ## as on a Telephone Keypad. R package version 0.2.2. ## https://CRAN.R-project.org/package=phonenumber ## ## A BibTeX entry for LaTeX users is ## ## @Manual{, ## title = {phonenumber: Convert Letters to Numbers and Back as on a Telephone Keypad}, ## author = {Steve Myles}, ## year = {2015}, ## note = {R package version 0.2.2}, ## url = {https://CRAN.R-project.org/package=phonenumber}, ## } We’ve talked here about loading packages using the library function to access their functions. However, this is not the only way to access the package’s functions. The syntax [package name]::[function name] (e.g., phonenumber::letterToNumber(fedex)) will allow you to use a function from a package you have installed on your computer, even if its package has not been loaded in the current R session. Typically, this syntax is not used much in data analysis scripts, in part because it makes the code much longer. However, you will occassionally see it used to distinguish between two functions from different packages that have the same name, as this format makes the desired function unambiguous. One example where this syntax often is needed is when both plyr and dplyr packages are loaded in an R session, since these share functions with the same name. Packages typically include some documentation to help users. These include: Package vignettes: Longer, tutorial-style documents that walk the user through the basics of how to use the package and often give some helpful example cases of the package in use. Function helpfiles: Files for each external function (i.e., the package maintainer wants it to be used by others) within the package, following an established structure. These include information about what inputs are required and optional for the function, what output will be created, and what options can be selected by the user. In many cases, these also include examples of using the function. To determine which vignettes are available for a package, you can use the vignette function, with the package’s name specified for the package option: vignette(package = "phonenumber") From the output of this, you can call any of the package’s vignettes directly. For example, the previous call tells you that this package only has one vignette, and that vignette has the same name as the package (“phonenumber”). Once you know the name of the vignette you would like to open, you can also use vignette to open it: vignette(topic = "phonenumber") To access the helpfile for any function within a package you’ve loaded, you can use ? followed by the function’s name: ?letterToNumber Download a pdf of the lecture slides for this video. 1.9 R’s most basic object types An R object stores some type of data that you want to use later in your R code, without fully recreating it. The content of R objects can vary from very simple (the \"GoFedEx\" string in the example code above) to very complex objects with lots of elements (for example, a machine learning model). Objects can be structured in different ways, in terms of how they “hold” data. These difference structures are called object classes. One class of objects can be a subtype of a more general object class. There are a variety of different object types in R, shaped to fit different types of objects ranging from the simple to complex. In this section, we’ll start by describing two object types that you will use most often in basic data analysis, vectors (1-dimensional objects) and dataframes (2-dimensional objects). For these two object classes (vectors and dataframes), we’ll look at: How that class is structured How to make a new object with that class How to extract values from objects with that class In later classes, we’ll spend a lot of time learning how to do other things with objects from these two classes, plus learn some other classes. 1.9.1 Vectors To get an initial grasp of the vector object type in R, think of it as a 1-dimensional object, or a string of values. Figure 1.14 provides an example of the structure for a very simple vector, one that holds the names of the three main characters in the Harry Potter book series. Figure 1.14: An example of the structure of an R object with the vector class. This object class contains data as a string of values, all with the same data type. All values in a vector must be of the same data type (i.e., all numbers, all characters, all dates). If you try to create a vector with elements from different types (like “FedEx”, which is a character, and 3, a number), R will coerce all of the elements to the most generic type of any of the elements (i.e., “FedEx” and “3” will both become characters, since “3” can be changed to a character, but “FedEx” can’t be changed to a number). Figure 1.15 gives some examples of different classes of vectors. Figure 1.15: Examples of vectors of different classes. All the values in a vector must be of the same type (e.g., all numbers, all characters). There are different classes of vectors depending on the type of data they store. To create a vector from different elements, you’ll use the concatenation function, c to join them together, with commas between the elements. For example, to create the vector shown in Figure 1.14, you can run: c("Harry", "Ron", "Hermione") ## [1] "Harry" "Ron" "Hermione" If you want to use that object later, you can assign it an object name in the expression: main_characters <- c("Harry", "Ron", "Hermione") print(x = main_characters) ## [1] "Harry" "Ron" "Hermione" This assignment expression, for assigning a vector an object name, follows the structure we covered earlier for function calls and assignment expressions (Figure 1.16). Figure 1.16: Elements of the assignment expression for creating a vector and assigning it an object name. If you create a numeric vector, you should not put the values in quotation marks: n_kids <- c(1, 7, 1) If you mix classes when you create the vector, R will coerce all the elements to most generic of the elements’ classes: mixed_classes <- c(1, 3, "five") mixed_classes ## [1] "1" "3" "five" Notice that the two integers, 1 and 3, are now in quotation marks, once they are put in a vector with a value with the character data type. You can use the class function to determine the class of an object: class(x = mixed_classes) ## [1] "character" A vector’s length is the number of elements in the vector. You can use the length function to determine a vector’s length: length(x = mixed_classes) ## [1] 3 Once you create an object, you will often want to reference the whole object in future code. However, there will be some times when you’ll want to reference just certain elements of the object (for example, the first three values). You can pull out certain values from a vector by using indexing with square brackets ([...]) to identify the locations of the element you want to extract. For example, to extract the second element of the main_characters vector, you can run: main_characters[2] # Get the second value ## [1] "Ron" You can use this same method to extract more than one value. You just need to create a numeric vector with the position of each element you want to extract and pass that in the square brackets. For example, to extract the first and third elements of the main_characters vect, you can run: main_characters[c(1, 3)] # Get first and third values ## [1] "Harry" "Hermione" The : operator can be very helpful with extracting values from a vector. This operator creates a sequence of values from the value before the : to the value after :, going by units of 1. For example, if you want to create a list of the numbers between 1 and 10, you can run: 1:10 ## [1] 1 2 3 4 5 6 7 8 9 10 If you want to extract the first two values from the main_characters vector, you can use the : operator: main_characters[1:2] # Get the first two values ## [1] "Harry" "Ron" You can also use logic to pull out some values of a vector. For example, you might only want to pull out even values from the fibonacci vector. We’ll cover using logical expressions to index vectors later in the book. One thing that people often find confusing when they start using R is knowing when to use and not use quotation marks. The general rule is that you use quotation marks when you want to refer to a character string literally, but no quotation marks when you want to refer to the value in a previously-defined object. For example, if you saved the string “Anderson” as the object my_name (my_name <- “Anderson”), then in later code, if you type my_name (no quotation marks), you’ll get “Anderson”, while if you type out “my_name” (with quotation marks), you’ll get “my_name” (what you typed, literally). One thing that makes this rule confusing is that there are a few cases in R where you really should (by this rule) use quotation marks, but the function is coded to let you be lazy and get away without them. One example is the library function. In the code earlier in this section to load the “phonenumber” package, you want to literally load the package “phonenumber”, rather than load whatever character string is saved in the object named phonenumber. However, library is one of the functions where you can be lazy and skip the quotation marks, and it will still load “phonenumber” for you. Therefore, if you want, this function also works if you call library(package = phonenumber) (without the quotation marks) instead of how we actually called it (library(package = phonenumber)). Download a pdf of the lecture slides for this video. 1.9.2 Dataframes A dataframe is a 2-dimensional object, and is made of one or more vectors of the same length stuck together side-by-side. It is the closest R has to an Excel spreadsheet-type structure. Figure 1.17 gives a conceptual example of a dataframe created from several of the vector examples in Figure ??. Figure 1.17: An example dataframe, created from several vectors of the same length and with observations aligned across vector positions (for example, the first value in each vector provides a value for Harry, the second for Ron). Here’s how the dataframe in Figure 1.17 will look in R: ## # A tibble: 3 x 4 ## first_name last_name n_kids survived ## <chr> <chr> <dbl> <lgl> ## 1 Harry Potter 1 TRUE ## 2 Ron Weasley 7 TRUE ## 3 Hermione Granger 1 TRUE This dataframe is arranged in rows and columns, with column names for each column (Figure 1.18). Note that each row of this dataframe gives a different observation (in this case, our unit of observation is a Harry Potter character). Each column gives a different type of information (first name, last name, birth year, and whether they’re still alive) for each of the observations (Beatles). Notice that the number of elements in each of the columns must be the same in this dataframe, but that the different columns can have different classes of data (e.g., character vectors for first_name and last_name, logical value of TRUE or FALSE for alive). Figure 1.18: The elements of a dataframe: columns, rows, and column names. We’ll be working with a specific class of dataframe called a tibble. You can create tibble dataframes using the tibble function from the tibble package. However, most often you will create a dataframe by reading in data from a file, using something like read_csv from the readr package. There are base R functions for both of these tasks (data.frame and read.csv, respectively), eliminating the need to load additional packages with a library call. However, the series of packages that make up what’s called the “tidyverse” have brought a huge improvement in the ease and speed of working with data in R. We will be teaching these tools in this course, and that’s why we’re going directly to tibble and read_csv from the start, rather than base R equivalents. Later in the course, we’ll talk more about this “tidyverse” and what makes it so great. To create a dataframe, you can use the tibble function from the tibble package. The general format for using tibble is: ## Note: Generic code [name of object] <- tibble([1st column name] = [1st column content], [2nd column name] = [2nd column content]) with an equals sign between the column name and column content for each column, and commas between each of the columns. Here is an example of the code used to create the Harry Potter tibble dataframe shown above: library(package = "tibble") hp_data <- tibble(first_name = c("Harry", "Ron", "Hermione"), last_name = c("Potter", "Weasley", "Granger"), n_kids = c(1, 7, 1), survived = c(TRUE, TRUE, TRUE)) hp_data ## # A tibble: 3 x 4 ## first_name last_name n_kids survived ## <chr> <chr> <dbl> <lgl> ## 1 Harry Potter 1 TRUE ## 2 Ron Weasley 7 TRUE ## 3 Hermione Granger 1 TRUE You can also create a dataframe by sticking together vectors you already have saved as R objects. For example: hp_data <- tibble(first_name = main_characters, last_name = c("Potter", "Weasley", "Granger"), n_kids = n_kids, survived = c(TRUE, TRUE, TRUE)) hp_data ## # A tibble: 3 x 4 ## first_name last_name n_kids survived ## <chr> <chr> <dbl> <lgl> ## 1 Harry Potter 1 TRUE ## 2 Ron Weasley 7 TRUE ## 3 Hermione Granger 1 TRUE Note that this call requires that the main_characters and n_kids vectors are the same length, although they don’t have to be (and in this case aren’t) the same class of objects (main_characters is a character class, n_kids is numeric). You can put more than one function call in a single line of R code, as in this example (the c creates a vector, while the tibble creates a dataframe, using the vectors created by the calls to c). When you use multiple functions within a single R call, R will evaluate starting from the inner-most parentheses out, much like the order of operations in a math equation with parentheses. So far, we’ve only shown how to create dataframes from scratch within an R session. Usually, however, you’ll create R dataframes instead by reading in data from an outside file using the read_csv from the readr package and related functions. For example, you might want to analyze data on all the guests that came on the Daily Show, circa Jon Stewart. If you have this data in a comma-separated (csv) file on your computer called “daily_show_guests.csv” (see the In-Course Exercise for instructions on downloading it), you can read it into your R session with the following code: library(package = "readr") daily_show <- read_csv(file = "daily_show_guests.csv", skip = 4) In this code, the read_csv function is reading in the data from the file “daily_show_guests.csv”, while the gets arrow (<-) assigns that data to the object daily_show, which you can then reference in later code to explore and plot the data. You can use the functions dim, nrow, and ncol to figure out the dimensions (number of rows and columns) of a dataframe: dim(x = daily_show) ## [1] 2693 5 nrow(x = daily_show) ## [1] 2693 ncol(x = daily_show) ## [1] 5 Base R also has some useful functions for quickly exploring dataframes: str: Show the structure of an R object, including a dataframe summary: Give summaries of each column of a dataframe. For example, you can explore the data we just pulled in on the Daily Show with: str(object = daily_show) ## tibble [2,693 × 5] (S3: spec_tbl_df/tbl_df/tbl/data.frame) ## $ YEAR : num [1:2693] 1999 1999 1999 1999 1999 ... ## $ GoogleKnowlege_Occupation: chr [1:2693] "actor" "Comedian" "television actress" "film actress" ... ## $ Show : chr [1:2693] "1/11/99" "1/12/99" "1/13/99" "1/14/99" ... ## $ Group : chr [1:2693] "Acting" "Comedy" "Acting" "Acting" ... ## $ Raw_Guest_List : chr [1:2693] "Michael J. Fox" "Sandra Bernhard" "Tracey Ullman" "Gillian Anderson" ... ## - attr(*, "spec")= ## .. cols( ## .. YEAR = col_double(), ## .. GoogleKnowlege_Occupation = col_character(), ## .. Show = col_character(), ## .. Group = col_character(), ## .. Raw_Guest_List = col_character() ## .. ) summary(object = daily_show) ## YEAR GoogleKnowlege_Occupation Show Group ## Min. :1999 Length:2693 Length:2693 Length:2693 ## 1st Qu.:2003 Class :character Class :character Class :character ## Median :2007 Mode :character Mode :character Mode :character ## Mean :2007 ## 3rd Qu.:2011 ## Max. :2015 ## Raw_Guest_List ## Length:2693 ## Class :character ## Mode :character ## ## ## To extract data from a dataframe, you can use some functions from the dplyr package, select and slice. The select function will pull out columns, while the slice function will pull out rows. In this chapter, we’ll talk about how to extract certain rows or columns of a dataframe by their position (i.e., row or column number). Later in the book, we’ll talk about other ways to extract values from dataframes. For example, if you wanted to get the first two rows of the hp_data dataframe, you could run: library(package = "dplyr") slice(.data = hp_data, c(1:2)) ## # A tibble: 2 x 4 ## first_name last_name n_kids survived ## <chr> <chr> <dbl> <lgl> ## 1 Harry Potter 1 TRUE ## 2 Ron Weasley 7 TRUE If you wanted to get the first and fourth columns, you could run: select(.data = hp_data, c(1, 4)) ## # A tibble: 3 x 2 ## first_name survived ## <chr> <lgl> ## 1 Harry TRUE ## 2 Ron TRUE ## 3 Hermione TRUE You can compose calls from both functions. For example, you could extract the values in the first and fourth columns of the first two rows with: select(.data = slice(.data = hp_data, c(1:2)), c(1, 4)) ## # A tibble: 2 x 2 ## first_name survived ## <chr> <lgl> ## 1 Harry TRUE ## 2 Ron TRUE You can use square-bracket indexing ([..., ...]) for dataframes, too, but now they’ll have two dimensions (rows, then columns). Put the rows you want before the comma, the columns after. If you want all of something (e.g., all rows in the dataframe), leave the designated spot blank. Here are two examples of using square-bracket indexing to pull a subset of the hp_data dataframe we created above: hp_data[1:2, 2] # First two rows, second column ## # A tibble: 2 x 1 ## last_name ## <chr> ## 1 Potter ## 2 Weasley hp_data[3, ] # Last row, all columns ## # A tibble: 1 x 4 ## first_name last_name n_kids survived ## <chr> <chr> <dbl> <lgl> ## 1 Hermione Granger 1 TRUE If you forget to put the comma in the indexing for a dataframe (e.g., fibonacci_seq[1:2]), you will index out the columns that fall at that position or positions. To avoid confusion, I suggest that you always use indexing with a comma when working with dataframes. Download a pdf of the lecture slides for this video. 1.10 In-course Exercise Chapter 1 You will take turns sharing your screens as you work through this exercise. Before you start, open you R session and use the sample function, with all of your group members’ names, to randomly shuffle your names (revisit the in-course exercise in the “Course Overview” chapter if you need a reminder). You should do this on only one groups members computer. The order that you get from R is the order that you should take turns sharing your screen and leading the effort on coding for your group. When you are not sharing your screen, help out with suggestions, especially for general directions you could take to approach a question. (There are standards for pair programming that we’ll discuss next week, and these will provide more advice on how to productively code in a group.) 1.10.1 Trying out the code in slides for first lecture videos Have one person in your group share their screen and take the lead in typing the code or doing the other work for this part. To start, you’ll try running some simple code in R, using examples from the video lectures for Chapter 1. Take the following steps: Open an R session and find the “Console” pane. Go through the slides for video lectures 4 (“Function calls”) and 5 (\"Objects and assignments). Find any examples of R expressions and try them out at the prompt in the console. Once you’ve run an assignment expression, find the “Environment” pane. Check that the object name that you assigned now appears there. 1.10.2 Writing your code as an R script While the R console is fine for initially exploring data, you should get in the habit of writing up R code in an R script for most of your data analysis projects in R. Open a new R script and save it to your current working directory (i.e., wherever you saved the data you downloaded for this exercise). Take some of the code that you wrote for this exercise. Put it in the R script. Do not put more than one function call per line (but it’s fine to have longer function calls span a few lines). Use the “Run” button to run a single line of this code. Check the console to see what happens when you do. Highlight a few lines of the code and use “Run” to run them. Try using the keyboard shortcut (Command-Return) to run the line of code your cursor is currently on. Try doing this with a function call that runs across several lines of the R script file– what do you see at the console? Try running the whole script using “Source”. Again, look at the console after you “source” the script. Close your R session (and save any changes to your R script). Do not save your R session history. Re-open R and see if you can re-open your R script and re-run it. Try using ls() to list the objects in your R session before and after you re-run your script. Does anything about the result surprise you? 1.10.3 About the dataset Trade the screen sharing to the next member of your group. For the rest of today’s class, you’ll be using a dataset of all the guests on The Daily Show when Jon Stewart was the host. This data was originally collected by Nate Silver’s website, FiveThirtyEight and is available on FiveThirtyEight’s GitHub page under the Creative Commons Attribution 4.0 International License. I have copied this data into my GitHub repository for this class. The only change made to the original file was to add (commented) attribution information at the start of the file. First, check out a bit more about this data and its source: It’s often helpful to use prior knowledge to help check out or validate your dataset. One thing we might want to know about this data is if it covers the whole time that Jon Stewart hosted The Daily Show. Use Google to find out the dates he started and finished as host. Briefly browse around FiveThirtyEight’s GitHub data page. What are some other datasets available that you find interesting? For any dataset, you can scroll to the bottom of the page to get to the compiled README.md content, which gives the full titles and links to relevant datasets. You can also click on any dataset to get more information. Look at the GitHub page for this Daily Show data. How many columns will be in this dataset? What kind of information does the data include? What do the columns show? What do the rows show? In this exercise, you’re using data posted by FiveThirtyEight on GitHub. We’ll be using a lot of data that’s on GitHub this semester, and GitHub is being used behind-the-scenes for both this book and the course note slides. We’ll talk more about GitHub later, but you might find it interesting to explore a bit now. It’s a place where people can post, work on, and share code in a number of programming languages– it’s been referred to as “Facebook for Nerds”. You can search GitHub repositories and code specifically by programming language, so it can be a good way to find example R code from which to learn. 1.10.4 Manually creating vectors Start by manually creating some vectors and data frames with a small subset of this data. Use the concatenate function (c) to create a vector “from scratch” with the names of the five guests to appear on the show (these could be the first five guests, or you could also randomly pick five guests). Assign this vector the object name five_guests. What class (numeric or character) do you think this vector will be? Will you need to use quotation marks for each element you add to the vector? Use square bracket indexing to print out the following subsets of this vector (you’ll have one R expression per subset): (1) The first guest in the vector; (2) The third and fifth guests; (3) The second through fourth guests. Create a new vector called first_guest with just the first guest in the vector, using the square bracket indexing you used in the previous step. In the same way, create a vector with the year of each of these five guests’ appearances. Assign this vector to an object named appearance_year. What class (numeric or character) do you think this vector will be? Will you need to use quotation marks for each element you add to the vector? Use the class function to determine the classes (e.g., numeric, character) of each of the vectors you just created. Example R code: # I picked five random guests from throughout the dataset. The guests you pick will # likely be different. # Create a vector with the names of five guests five_guests <- c("Miss Piggy", "Stanley Tucci", "Kermit the Frog", "Hank Azaria", "Al Gore") # Use square-bracket indexing to print out some subsets of the data five_guests[1] ## [1] "Miss Piggy" five_guests[c(3, 5)] ## [1] "Kermit the Frog" "Al Gore" five_guests[2:4] ## [1] "Stanley Tucci" "Kermit the Frog" "Hank Azaria" # Save just the first guest in a separate object first_guest <- five_guests[1] first_guest ## [1] "Miss Piggy" # Create a vector with the year of the appearance of each guest appearance_year <- c(1999, 2000, 2001, 2001, 2002) # Figure out the classes of the two vectors you just created class(x = five_guests) ## [1] "character" class(x = appearance_year) ## [1] "numeric" 1.10.5 Installing and using a package Trade the screen sharing to the next member of your group. Have the person who was sharing their screen save their R script and send it to this person through the Zoom chat. The new person should open this R script and use it to re-run the last part of the analysis, so that the vectors defined in the last part of the exercise can be used here. The stringr package includes a number of functions that make it easier to work with character strings in R. In particular, it includes functions to change the capitalization of words in character stings. Here, you’ll install and load this package and then use it to work with the five_guests vector we created in the last section. If you have not already installed the stringr package, install it from CRAN. Load the stringr package in your current R session, so you will be able to use its functions. Check if the package has a vignette. If so, check out out that vignette. See if you can use the str_to_lower function from the stringr package to convert all the names in your five_guests vector to lowercase. See if you can find a function in the stringr package that you can use to convert all the names in your five_guests vector to uppercase. (Hint: At the R console, try typing ?stringr:: and then the Tab key.) Example R code: # If you need to, install the package from CRAN install.packages(pkgs = "stringr") # Load the package into your current R session library(package = "stringr") # Open the package's vignette vignette(topic = "stringr") # Convert the `five_guests` strings to lowercase str_to_lower(string = five_guests) ## [1] "miss piggy" "stanley tucci" "kermit the frog" "hank azaria" ## [5] "al gore" # Convert the `five_guests` strings to uppercase str_to_upper(string = five_guests) ## [1] "MISS PIGGY" "STANLEY TUCCI" "KERMIT THE FROG" "HANK AZARIA" ## [5] "AL GORE" 1.10.6 Manually creating a dataframe Combine the two vectors you created earlier, five_guests and appearance_year to create a dataframe named guest_list. For the columns, use the same column names used in the original, raw data for the guest names and appearance year. Print out this dataframe at the R console to make sure it looks like you thought it would. Use functions from the dplyr package to print out the following subsets of this dataframe (you’ll have one R call per subset): (1) The appearance year of the first guest; (2) Names of the third through fifth guests; (3) Names of all guests; (4) Both names and appearance years of the first and third guests. The str function can be used to figure out the structure of a dataframe. Run this command on the guest_list dataframe you created. What information does this give you? Use the helpfile for str to help you figure this out (which you can access by running ?str). Do you see anything that surprises you? Use the ls function to list all the objects you currently have defined in your R session. Compare this list to the “Environment” pane in RStudio. Example R code: # Create the data frame, then print it out to make sure it looks like you thought # it would library(package = "tibble") guest_list <- tibble(Raw_Guest_List = five_guests, YEAR = appearance_year) guest_list ## # A tibble: 5 x 2 ## Raw_Guest_List YEAR ## <chr> <dbl> ## 1 Miss Piggy 1999 ## 2 Stanley Tucci 2000 ## 3 Kermit the Frog 2001 ## 4 Hank Azaria 2001 ## 5 Al Gore 2002 # Use functions from the dplyr package to extract values from the dataframe library(package = "dplyr") slice(.data = select(.data = guest_list, 2), 1) ## # A tibble: 1 x 1 ## YEAR ## <dbl> ## 1 1999 slice(.data = select(.data = guest_list, 1), 3:5) ## # A tibble: 3 x 1 ## Raw_Guest_List ## <chr> ## 1 Kermit the Frog ## 2 Hank Azaria ## 3 Al Gore select(.data = guest_list, 1) ## # A tibble: 5 x 1 ## Raw_Guest_List ## <chr> ## 1 Miss Piggy ## 2 Stanley Tucci ## 3 Kermit the Frog ## 4 Hank Azaria ## 5 Al Gore slice(.data = guest_list, c(1, 3)) ## # A tibble: 2 x 2 ## Raw_Guest_List YEAR ## <chr> <dbl> ## 1 Miss Piggy 1999 ## 2 Kermit the Frog 2001 # Use `str` to check out the structure of the data frame you created str(guest_list) ## tibble [5 × 2] (S3: tbl_df/tbl/data.frame) ## $ Raw_Guest_List: chr [1:5] "Miss Piggy" "Stanley Tucci" "Kermit the Frog" "Hank Azaria" ... ## $ YEAR : num [1:5] 1999 2000 2001 2001 2002 1.10.7 Getting the data onto your computer Next, we will work with the whole dataset. Download the data from GitHub onto your computer. It is very important for you to use this link rather than downloading the data from the FiveThirtyEight GitHub page, because there’s a small difference between the two files. In class, we created an R Project for you to use for this class. Put the Daily Show data in that directory. Take the following steps to get the data onto your computer Download the file from GitHub. Right click on Raw and then choose “Download linked file”. Put the file into the directory you created for this course. Use the list.files command to make sure that the “daily_show_guests.csv” file is in your current working directory (we’ll talk more about working directories, listing files in your working directory, and R Projects later in the semester). # List the files in your current working directory list.files() [1] "daily_show_guests.csv" 1.10.8 Getting the data into R Now that you have the dataset in your working directory, you can read it into R. This dataset is in a csv (comma separated values) format. (We will talk more about different file formats in Week 2.) You can read csv files into R using the function read_csv from the readr package. Read the data into your R session If you do not already have it, install the readr package. Then load this package within your current R session using library. Use the read_csv function from the readr package to read the data into R and save it as the object daily_show (see tips in the next few bullets). Use the help file for the read_csv function to figure out how this function works. To pull that up, type ?read_csv at the R console. Can you figure out why it’s critical to use the skip option and set it to 4? (We will be talking a lot more about the read_csv function in Week 2, so don’t worry if you don’t completely understand it right now.) Note that you need to put the file name in quotation marks. What would have happened if you’d used read_csv but hadn’t saved the result as the object daily_show? (For example, you’d run the code read_csv(\"daily_show_guests.csv\", skip = 4) rather than daily_show <- read_csv(\"daily_show_guests.csv\").) Example R code: # Install (if needed) and load the `readr` package install.packages(pkgs = "readr") # You only need to do this if you # do not already have the `readr` # package. library(package = "readr") # Read in dataframe from the csv file with Daily Show guests daily_show <- read_csv(file = "daily_show_guests.csv", skip = 4) ## Parsed with column specification: ## cols( ## YEAR = col_double(), ## GoogleKnowlege_Occupation = col_character(), ## Show = col_character(), ## Group = col_character(), ## Raw_Guest_List = col_character() ## ) # Print out the first few rows daily_show ## # A tibble: 2,693 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 1999 actor 1/11/99 Acting Michael J. Fox ## 2 1999 Comedian 1/12/99 Comedy Sandra Bernhard ## 3 1999 television actress 1/13/99 Acting Tracey Ullman ## 4 1999 film actress 1/14/99 Acting Gillian Anderson ## 5 1999 actor 1/18/99 Acting David Alan Grier ## 6 1999 actor 1/19/99 Acting William Baldwin ## 7 1999 Singer-lyricist 1/20/99 Musician Michael Stipe ## 8 1999 model 1/21/99 Media Carmen Electra ## 9 1999 actor 1/25/99 Acting Matthew Lillard ## 10 1999 stand-up comedian 1/26/99 Comedy David Cross ## # … with 2,683 more rows If you have extra time: Say this was a really big dataset. You want to check out just the first 10 rows to make sure that you’ve got your code right before you take the time to pull in the whole dataset. Use the help file for read_csv to figure out how to only read in a few rows. Look through the help file for other options available for read_csv. Can you think of examples when some of these options would be useful? Look again at the version of this raw data on FiveThirtyEight’s GitHub page (rather than the course’s GitHub repository, where you downloaded the data for the course exercise). How are these two versions of the raw data different? How would you need to change your read_csv call if you changed to use the FiveThirtyEight version of the raw data? Example R code: # Read in only the first 10 rows of the dataset daily_show_first10 <- read_csv(file = "daily_show_guests.csv", skip = 4, n_max = 10) ## Parsed with column specification: ## cols( ## YEAR = col_double(), ## GoogleKnowlege_Occupation = col_character(), ## Show = col_character(), ## Group = col_character(), ## Raw_Guest_List = col_character() ## ) # Check the dataframe daily_show_first10 ## # A tibble: 10 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 1999 actor 1/11/99 Acting Michael J. Fox ## 2 1999 Comedian 1/12/99 Comedy Sandra Bernhard ## 3 1999 television actress 1/13/99 Acting Tracey Ullman ## 4 1999 film actress 1/14/99 Acting Gillian Anderson ## 5 1999 actor 1/18/99 Acting David Alan Grier ## 6 1999 actor 1/19/99 Acting William Baldwin ## 7 1999 Singer-lyricist 1/20/99 Musician Michael Stipe ## 8 1999 model 1/21/99 Media Carmen Electra ## 9 1999 actor 1/25/99 Acting Matthew Lillard ## 10 1999 stand-up comedian 1/26/99 Comedy David Cross 1.10.9 Checking out the data Trade who is sharing their screen again. The new coder will need to download the data file fresh and move it into a “data” subdirectory of the R project created at the start of the class meeting. The previous coder should save and share his or her’s R script and send that to the new person by Zoom. The new person should start by running that code and making sure everything’s working well on their computer. You now have the data available in your current R session as the daily_show object. You’ll want to check it out to make sure it read in correctly, and also to get a feel for the data. Throughout, you can use the help pages to figure out more about any of the functions being used (for example, ?dim). Take the following steps to check out the dataset Use the dim function to find out how many rows and columns this dataframe has. Based on what you found out about the data from the GitHub page, does it have the number of columns you expected? Based on what you know about the data (that it includes all the guests who came on The Daily Show with Jon Stewart), do you think it has about the right number of rows? Use functions from the dplyr package to look at the first two rows of the dataset. Based on this, what does each row “measure” (unit of observation)? What information (variables) do you get for each “measurement”? The head function can be used to explore the first few rows of dataframes (see the helpfile at ?head). Use the head function to look at the first few rows of the dataframe. Does it look like the rows go in order by date? What was the date of Jon Stewart’s first show? Does it look like this dataset covers that first show? Use the tail function to look at the last few rows of the dataframe. What is the last show date covered by the dataframe? Who was the last guest? Example R code: # Extract values from the dataframe library(package = "dplyr") # Load the 'dplyr' package slice(.data = daily_show, 1:2) # Look at the first two rows of data ## # A tibble: 2 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 1999 actor 1/11/99 Acting Michael J. Fox ## 2 1999 Comedian 1/12/99 Comedy Sandra Bernhard # Check the dimensions of the data dim(x = daily_show) ## [1] 2693 5 head(x = daily_show) ## # A tibble: 6 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 1999 actor 1/11/99 Acting Michael J. Fox ## 2 1999 Comedian 1/12/99 Comedy Sandra Bernhard ## 3 1999 television actress 1/13/99 Acting Tracey Ullman ## 4 1999 film actress 1/14/99 Acting Gillian Anderson ## 5 1999 actor 1/18/99 Acting David Alan Grier ## 6 1999 actor 1/19/99 Acting William Baldwin tail(x = daily_show) ## # A tibble: 6 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 2015 actor 7/28/15 Acting Tom Cruise ## 2 2015 biographer 7/29/15 Media Doris Kearns Goodwin ## 3 2015 director 7/30/15 Media J. J. Abrams ## 4 2015 stand-up comedian 8/3/15 Comedy Amy Schumer ## 5 2015 actor 8/4/15 Acting Denis Leary ## 6 2015 comedian 8/5/15 Comedy Louis C.K. If you have extra time: Say you wanted to look at the first ten rows of the dataframe, rather than the first six. How could you use an option with head to do this? Example R code: # Look at the first few rows of the data head(x = daily_show, n = 10) ## # A tibble: 10 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 1999 actor 1/11/99 Acting Michael J. Fox ## 2 1999 Comedian 1/12/99 Comedy Sandra Bernhard ## 3 1999 television actress 1/13/99 Acting Tracey Ullman ## 4 1999 film actress 1/14/99 Acting Gillian Anderson ## 5 1999 actor 1/18/99 Acting David Alan Grier ## 6 1999 actor 1/19/99 Acting William Baldwin ## 7 1999 Singer-lyricist 1/20/99 Musician Michael Stipe ## 8 1999 model 1/21/99 Media Carmen Electra ## 9 1999 actor 1/25/99 Acting Matthew Lillard ## 10 1999 stand-up comedian 1/26/99 Comedy David Cross 1.10.10 Using the data to answer questions Nate Silver was a guest on The Daily Show. Let’s use this data to figure out how many times he was a guest and when he was on the show. Find out more about Nate Silver on The Daily Show (Don’t worry if you don’t make it to this sections! I’ve put it here for groups that move through the rest quickly.) The filter function from the dplyr package can be combined with logical statements to help you create a specific subset of data. For example, if you only wanted data from guest visits in 1999, you could run filter(.data = daily_show, YEAR == 1999). Check out the helpfile for filter and use the function to create a new dataframe that only has the rows of daily_show when Nate Silver was a guest (Raw_Guest_List == \"Nate Silver\"). Save this as an object named nate_silver. Print out the full nate_silver dataframe by typing nate_silver. (You could just use this to answer both questions, but still try the next steps. They would be important with a bigger dataset.) To count the number of times Nate Silver was a guest, you’ll need to count the number of rows in the new dataset. You can either use the dim function or the nrow function to do this. What additional information does the dim function give you? To get the dates when Nate Silver was a guest, you can print out just the Show column of the dataframe. There are a few ways you can do this using the select function from the dplyr package. Example R code: library(package = "dplyr") # Create a subset of the data with just Nate Silver appearances nate_silver <- filter(.data = daily_show, Raw_Guest_List == "Nate Silver") # Investigate this subset of the data nate_silver ## # A tibble: 3 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 2012 Statistician 10/17/12 Media Nate Silver ## 2 2012 Statistician 11/7/12 Media Nate Silver ## 3 2014 Statistician 3/27/14 Media Nate Silver dim(x = nate_silver) ## [1] 3 5 nrow(x = nate_silver) ## [1] 3 select(.data = nate_silver, 3) ## # A tibble: 3 x 1 ## Show ## <chr> ## 1 10/17/12 ## 2 11/7/12 ## 3 3/27/14 If you have extra time: Was Nate Silver the only statistician to be a guest on the show? What were the occupations that were only represented by one guest visit? Since GoogleKnowlege_Occupation is a factor, you can use the table function to create a new vector with the number of times each value of GoogleKnowlege_Occupation shows up. You can put this information into a new vector and then pull out only the values that equal 1 (so, only had one guest). (Note that “Statistician” doesn’t show up– there was only one person who was a guest, but he had three visits.) Pick your favorite “one-off” example and find out who the guest was for that occupation. Example R code: statisticians <- filter(.data = daily_show, GoogleKnowlege_Occupation == "Statistician") statisticians ## # A tibble: 3 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 2012 Statistician 10/17/12 Media Nate Silver ## 2 2012 Statistician 11/7/12 Media Nate Silver ## 3 2014 Statistician 3/27/14 Media Nate Silver num_visits <- table(daily_show$GoogleKnowlege_Occupation) head(x = num_visits) # Note: This is a vector rather than a dataframe ## ## - 0 academic Academic accountant activist ## 1 4 3 3 1 14 single_visits <- num_visits[num_visits == 1] # This is using a "logical operator" to extract values that meet a condition names(single_visits) ## [1] "-" ## [2] "accountant" ## [3] "administrator" ## [4] "advocate" ## [5] "aei president" ## [6] "afghan politician" ## [7] "American football running back" ## [8] "american football wide reciever" ## [9] "assistant secretary of defense" ## [10] "assistant to the president for communications" ## [11] "Associate Justice of the Supreme Court of the United States" ## [12] "astronaut" ## [13] "Astronaut" ## [14] "Attorney at law" ## [15] "author of novels" ## [16] "aviator" ## [17] "Baseball athlete" ## [18] "baseball player" ## [19] "Basketball Coach" ## [20] "bass guitarist" ## [21] "bassist" ## [22] "Beach Volleyball Player" ## [23] "boxer" ## [24] "business person" ## [25] "businesswoman" ## [26] "Businesswoman" ## [27] "Cartoonist" ## [28] "celbrity chef" ## [29] "CHARACTER" ## [30] "chess player" ## [31] "chief technology officer of united states" ## [32] "Choreographer" ## [33] "civil rights activist" ## [34] "Coach" ## [35] "comic" ## [36] "Comic" ## [37] "communications consultant" ## [38] "Composer" ## [39] "comptroller of the us" ## [40] "coorespondant" ## [41] "Critic" ## [42] "designer" ## [43] "Director of the Consumer Financial Protection Bureau" ## [44] "doctor" ## [45] "drummer" ## [46] "Educator" ## [47] "entrepreneur" ## [48] "Ethologist" ## [49] "executive" ## [50] "Executive" ## [51] "fbi agent" ## [52] "Fiction writer" ## [53] "Film critic" ## [54] "film producer" ## [55] "Film-maker" ## [56] "Financier" ## [57] "first lady" ## [58] "first lady of egypt" ## [59] "First Lady of the United States" ## [60] "First Minister of Scotland" ## [61] "Football coach" ## [62] "football player" ## [63] "foreign policy analyst" ## [64] "foreign policy expert" ## [65] "foreign policy strategist" ## [66] "Former American senator" ## [67] "former british prime minister" ## [68] "former cia director" ## [69] "former director of the national economic counscil" ## [70] "Former Director of the Office of Management and Budget" ## [71] "Former First Lady of the United States" ## [72] "former governor of arizona" ## [73] "former governor of arkansas" ## [74] "former governor of california" ## [75] "Former Governor of Indiana" ## [76] "former governor of louisiana" ## [77] "former governor of massachusetts" ## [78] "former governor of michigan" ## [79] "former governor of missouri" ## [80] "former governor of montans" ## [81] "former governor of new hampshire" ## [82] "Former Governor of New Jersey" ## [83] "Former Governor of New York" ## [84] "former governor of rhode island" ## [85] "Former Governor of Texas" ## [86] "former governor of washington" ## [87] "former govrnor of masssachusetts" ## [88] "Former Mayor of Cincinnati" ## [89] "Former Mayor of New Orleans" ## [90] "former mayor of san antonio" ## [91] "Former member of the United States Senate" ## [92] "former mjority leader" ## [93] "former national security advisio\\\\r" ## [94] "former omb director" ## [95] "Former President of Mexico" ## [96] "Former President of the Maldives" ## [97] "former press secretary" ## [98] "former secretary of defense" ## [99] "former senator" ## [100] "former senator from kansas" ## [101] "Former United States Deputy Secretary of State" ## [102] "Former United States National Security Advisor" ## [103] "Former United States Secretary of Education" ## [104] "Former United States Secretary of Energy" ## [105] "Former United States Secretary of the Interior" ## [106] "Former United States Secretary of the Treasury" ## [107] "Former United States Secretary of Transportation" ## [108] "former us representativ" ## [109] "former us secretary of education" ## [110] "former white house counsel" ## [111] "Futurist" ## [112] "game show host" ## [113] "Geneticist" ## [114] "governor of new jersey" ## [115] "guitarist" ## [116] "high-altitude mountaineer" ## [117] "Host" ## [118] "Ice hockey coach" ## [119] "illustrator" ## [120] "Innovator" ## [121] "inspector general of homeland security department" ## [122] "intellectual" ## [123] "internet entrepreneur" ## [124] "investment banker" ## [125] "israeli official" ## [126] "JOURNALIST" ## [127] "Law professor" ## [128] "legal scholar" ## [129] "magician" ## [130] "mathematician" ## [131] "Mayor of Chicago" ## [132] "mayor of london" ## [133] "Media person" ## [134] "minister of defense" ## [135] "Music Producer" ## [136] "Neurologist" ## [137] "Neuroscientist" ## [138] "non profit director" ## [139] "non profit worker" ## [140] "orca trainer" ## [141] "pastor" ## [142] "peace activist" ## [143] "photojournalist" ## [144] "Photojournalist" ## [145] "physicist" ## [146] "pianist" ## [147] "police officer" ## [148] "political consultant" ## [149] "political expert" ## [150] "Political figure" ## [151] "political psychologist" ## [152] "political satirist" ## [153] "political strategist" ## [154] "Pop group" ## [155] "president of liberia" ## [156] "priest" ## [157] "prince" ## [158] "Product line" ## [159] "professional wrestler" ## [160] "psychic" ## [161] "Psychologist" ## [162] "public official" ## [163] "public speaker" ## [164] "publisher" ## [165] "Pundit" ## [166] "Puppeteer" ## [167] "Puzzle Creator" ## [168] "race car driver" ## [169] "Racing driver" ## [170] "reality show contestant" ## [171] "RNC chairman" ## [172] "Scholar" ## [173] "secretary of state" ## [174] "security expert" ## [175] "Soccer player" ## [176] "social activist" ## [177] "speechwriter" ## [178] "Sports Columnist" ## [179] "Surgeon" ## [180] "swimmer" ## [181] "syrian politician" ## [182] "television actor" ## [183] "television Director" ## [184] "television writer" ## [185] "televison actor" ## [186] "telvision actor" ## [187] "telvision personality" ## [188] "Tennis player" ## [189] "Track and field athlete" ## [190] "TV Producer" ## [191] "united nations official" ## [192] "United States Secretary of Agriculture" ## [193] "United States Secretary of Defense" ## [194] "United States Secretary of Housing and Urban Development" ## [195] "United States Secretary of the Navy" ## [196] "us assistant attorney" ## [197] "us official" ## [198] "us permanent representative to nato" ## [199] "us secetary of education" ## [200] "us secretary of defense" ## [201] "us secretary of energy" ## [202] "white house official" filter(.data = daily_show, GoogleKnowlege_Occupation == "chess player") ## # A tibble: 1 x 5 ## YEAR GoogleKnowlege_Occupati… Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 2012 chess player 11/8/12 Misc Katie Dellamaggiore and Pobo Efe… filter(.data = daily_show, GoogleKnowlege_Occupation == "mathematician") ## # A tibble: 1 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 2005 mathematician 9/14/05 Academic Dr. William A. Dembski filter(.data = daily_show, GoogleKnowlege_Occupation == "orca trainer") ## # A tibble: 1 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 2015 orca trainer 3/26/15 Athletics John Hargrove filter(.data = daily_show, GoogleKnowlege_Occupation == "Puzzle Creator") ## # A tibble: 1 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 2003 Puzzle Creator 8/20/03 Media Will Shortz filter(.data = daily_show, GoogleKnowlege_Occupation == "Scholar") ## # A tibble: 1 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 2005 Scholar 6/13/05 Academic Larry Diamond "], ["entering-and-cleaning-data-1.html", "Chapter 2 Entering and cleaning data #1 2.1 Objectives 2.2 Overview 2.3 Reading data into R 2.4 Directories and pathnames 2.5 Data cleaning 2.6 Dates and filtering 2.7 Piping 2.8 In-course Exercise", " Chapter 2 Entering and cleaning data #1 Download a pdf of the lecture slides covering this topic. 2.1 Objectives After this chapter, you should (know / understand / be able to ): Understand what a flat file is and how it differs from data stored in a binary file format Be able to distinguish between delimited and fixed width formats for flat files Be able to identify the delimiter in a delimited file Be able to describe a working directory Be able to read in different types of flat files Be able to read in a few types of binary files (SAS, Excel) Understand the difference between relative and absolute file pathnames Describe the basics of your computer’s directory structure Reference files in different locations in your directory structure using relative and absolute pathnames Use the basic dplyr functions rename, select, mutate, slice, filter, and arrange to work with data in a dataframe object Convert a column to a date format using lubridate functions Extract information from a date object (e.g., month, year, day of week) using lubridate functions Define a logical operator and know the R syntax for common logical operators Use logical operators in conjunction with dplyr’s filter function to create subsets of a dataframe based on logical conditions Use piping to apply multiple dplyr functions in sequence to a dataframe 2.2 Overview There are four basic steps you will often repeat as you prepare to analyze data in R: Identify where the data is (If it’s on your computer, which directory? If it’s online, what’s the url?) Read data into R (e.g., read_delim, read_csv from the readr package) using the file path you figured out in step 1 Check to make sure the data came in correctly (dim, head, tail, str) Clean the data up In this chapter, I’ll go basics for each of these steps, as well as dive a bit deeper into some related topics you should learn now to make your life easier as you get started using R for research. 2.3 Reading data into R The following video covers the slides in this section on “Reading data into R” from 2018: Data comes in files of all shapes and sizes. R has the capability to read data in from many of these, even proprietary files for other software (e.g., Excel and SAS files). As a small sample, here are some of the types of data files that R can read and work with: Flat files (much more about these in just a minute) Files from other statistical packages (SAS, Excel, Stata, SPSS) Tables on webpages (e.g., the table on ebola outbreaks near the end of this Wikipedia page) Data in a database (e.g., MySQL, Oracle) Data in JSON and XML formats Really crazy data formats used in other disciplines (e.g., netCDF files from climate research, MRI data stored in Analyze, NIfTI, and DICOM formats) Geographic shapefiles Data through APIs Often, it is possible to read in and clean up even incredibly messy data, by using functions like scan and readLines to read the data in a line at a time, and then using regular expressions (which I’ll cover in the “Intermediate” section of the course) to clean up each line as it comes in. In over a decade of coding in R, I think the only time I’ve come across a data file I couldn’t get into R was for proprietary precision agriculture data collected at harvest by a combine. 2.3.1 Reading local flat files Much of the data that you will want to read in will be in flat files. Basically, these are files that you can open using a text editor; the most common type you’ll work with are probably comma-separated files (often with a .csv or .txt file extension). Most flat files come in two general categories: Fixed width files; and Delimited files: “.csv”: Comma-separated values “.tab”, “.tsv”: Tab-separated values Other possible delimiters: colon, semicolon, pipe (“|”) Fixed width files are files where a column always has the same width, for all the rows in the column. These tend to look very neat and easy-to-read when you open them in a text editor. For example, the first few rows of a fixed-width file might look like this: Course Number Day Time Intro to Epi 501 M/W/F 9:00-9:50 Advanced Epi 521 T/Th 1:00-2:15 Fixed width files used to be very popular, and they make it easier to look at data when you open the file in a text editor. However, now it’s pretty rare to just use a text editor to open a file and check out the data, and these files can be a bit of a pain to read into R and other programs because you sometimes have to specify exactly how wide each of the columns is. You may come across a fixed width file every now and then, though, particularly when working with older data sets, so it’s useful to be able to recognize one and to know how to read it in. Delimited files use some delimiter (for example, a column or a tab) to separate each column value within a row. The first few rows of a delimited file might look like this: Course, Number, Day, Time "Intro to Epi", 501, "M/W/F", "9:00-9:50" "Advanced Epi", 521, "T/Th", "1:00-2:15" Delimited files are very easy to read into R. You just need to be able to figure out what character is used as a delimiter (commas in the example above) and specify that to R in the function call to read in the data. These flat files can have a number of different file extensions. The most generic is .txt, but they will also have ones more specific to their format, like .csv for a comma-delimited file or .fwf for a fixed with file. R can read in data from both fixed with and delimited flat files. The only catch is that you need to tell R a bit more about the format of the flat file, including whether it is fixed width or delimited. If the file is fixed width, you will usually have to tell R the width of each column. If the file is delimited, you’ll need to tell R which delimiter is being used. If the file is delimited, you can use the read_delim family of functions from the readr package to read it in. This family of functions includes several specialized functions. All members of the read_delim family are doing the same basic thing. The only difference is what defaults each function has for the delimiter (delim). Members of the read_delim family include: Function Delimiter read_csv comma read_csv2 semi-colon read_table2 whitespace read_tsv tab You can use read_delim to read in any delimited file, regardless of the delimiter. However, you will need to specify the delimiter using the delim parameters. If you remember the more specialized function call (e.g., read_csv for a comma delimited file), therefore, you can save yourself some typing. For example, to read in the Ebola data, which is comma-delimited, you could either use read_table with a delim argument specified or use read_csv, in which case you don’t have to specify delim: library(package = "readr") # The following two calls do the same thing ebola <- read_delim(file = "data/country_timeseries.csv", delim = ",") ebola <- read_csv(file = "data/country_timeseries.csv") ## Parsed with column specification: ## cols( ## Date = col_character(), ## Day = col_double(), ## Cases_Guinea = col_double(), ## Cases_Liberia = col_double(), ## Cases_SierraLeone = col_double(), ## Cases_Nigeria = col_double(), ## Cases_Senegal = col_double(), ## Cases_UnitedStates = col_double(), ## Cases_Spain = col_double(), ## Cases_Mali = col_double(), ## Deaths_Guinea = col_double(), ## Deaths_Liberia = col_double(), ## Deaths_SierraLeone = col_double(), ## Deaths_Nigeria = col_double(), ## Deaths_Senegal = col_double(), ## Deaths_UnitedStates = col_double(), ## Deaths_Spain = col_double(), ## Deaths_Mali = col_double() ## ) The message that R prints after this call (“Parsed with column specification:..”) lets you know what classes were used for each column (this function tries to guess the appropriate class and typically gets it right). You can suppress the message using the cols_types = cols() argument. If readr doesn’t correctly guess some of the columns classes you can use the type_convert() function to take another go at guessing them after you’ve tweaked the formats of the rogue columns. This family of functions has a few other helpful options you can specify. For example, if you want to skip the first few lines of a file before you start reading in the data, you can use skip to set the number of lines to skip. If you only want to read in a few lines of the data, you can use the n_max option. For example, if you have a really long file, and you want to save time by only reading in the first ten lines as you figure out what other options to use in read_delim for that file, you could include the option n_max = 10 in the read_delim call. Here is a table of some of the most useful options common to the read_delim family of functions: Option Description skip How many lines of the start of the file should you skip? col_names What would you like to use as the column names? col_types What would you like to use as the column types? n_max How many rows do you want to read in? na How are missing values coded? Remember that you can always find out more about a function by looking at its help file. For example, check out ?read_delim and ?read_fwf. You can also use the help files to determine the default values of arguments for each function. So far, we’ve only looked at functions from the readr package for reading in data files. There is a similar family of functions available in base R, the read.table family of functions. The readr family of functions is very similar to the base R read.table functions, but have some more sensible defaults. Compared to the read.table family of functions, the readr functions: Work better with large datasets: faster, includes progress bar Have more sensible defaults (e.g., characters default to characters, not factors) I recommend that you always use the readr functions rather than their base R alternatives, given these advantages. However, you are likely to come across code that someone else has written that uses one of these base R functions, so it’s helpful to know what they are. Functions in the read.table family include: read.csv read.delim read.table read.fwf The readr package is a member of the tidyverse of packages. The tidyverse describes an evolving collection of R packages with a common philosophy, and they are unquestionably changing the way people code in R. Many were developed in part or full by Hadley Wickham and others at RStudio. Many of these packages are less than ten years old, but have been rapidly adapted by the R community. As a result, newer examples of R code will often look very different from the code in older R scripts, including examples in books that are more than a few years old. In this course, I’ll focus on “tidyverse” functions when possible, but I do put in details about base R equivalent functions or processes at some points—this will help you interpret older code. You can download all the tidyverse packages using install.packages(“tidyverse”), library(“tidyverse”) makes all the tidyverse functions available for use. 2.3.2 Reading in other file types Later in the course, we’ll talk about how to open a variety of other file types in R. However, you might find it immediately useful to be able to read in files from other statistical programs. There are two “tidyverse” packages—readxl and haven—that help with this. They allow you to read in files from the following formats: File type Function Package Excel read_excel readxl SAS read_sas haven SPSS read_spss haven Stata read_stata haven 2.4 Directories and pathnames The following video covers this section on “Directories and pathnames” from 2018: 2.4.1 Directory structure So far, we’ve only looked at reading in files that are located in your current working directory. For example, if you’re working in an R Project, by default the project will open with that directory as the working directory, so you can read files that are saved in that project’s main directory using only the file name as a reference. However, you’ll often want to read in files that are located somewhere else on your computer, or even files that are saved on another computer (for example, data files that are posted online). Doing this is very similar to reading in a file that is in your current working directory; the only difference is that you need to give R some directions so it can find the file. The most common case will be reading in files in a subdirectory of your current working directory. For example, you may have created a “data” subdirectory in one of your R Projects directories to keep all the project’s data files in the same place while keeping the structure of the main directory fairly clean. In this case, you’ll need to direct R into that subdirectory when you want to read one of those files. To understand how to give R these directions, you need to have some understanding of the directory structure of your computer. It seems a bit of a pain and a bit complex to have to think about computer directory structure in the “basics” part of this class, but this structure is not terribly complex once you get the idea of it. There are a couple of very good reasons why it’s worth learning now. First, many of the most frustrating errors you get when you start using R trace back to understanding directories and filepaths. For example, when you try to read a file into R using only the filename, and that file is not in your current working directory, you will get an error like: Error in file(file, "rt") : cannot open the connection In addition: Warning message: In file(file, "rt") : cannot open file 'Ex.csv': No such file or directory This error is especially frustrating when you’re new to R because it happens at the very beginning of your analysis—you can’t even get your data in. Also, if you don’t understand a bit about working directories and how R looks for the file you’re asking it to find, you’d have no idea where to start to fix this error. Second, once you understand how to use pathnames, especially relative pathnames, to tell R how to find a file that is in a directory other than your working directory, you will be able to organize all of your files for a project in a much cleaner way. For example, you can create a directory for your project, then create one subdirectory to store all of your R scripts, and another to store all of your data, and so on. This can help you keep very complex projects more structured and easier to navigate. We’ll talk about these ideas more in the course sections on Reproducible Research, but it’s good to start learning how directory structures and filepaths work early. Your computer organizes files through a collection of directories. Chances are, you are fairly used to working with these in your daily life already (although you may call them “folders” rather than “directories”). For example, you’ve probably created new directories to store data files and Word documents for a specific project. Figure 2.1 gives an example file directory structure for a hypothetical computer. Directories are shown in blue, and files in green. Figure 2.1: An example of file directory structure. You can notice a few interesting things from Figure 2.1. First, you might notice the structure includes a few of the directories that you use a lot on your own computer, like Desktop, Documents, and Downloads. Next, the directory at the very top is the computer’s root directory, /. For a PC, the root directory might something like C:; for Unix and Macs, it’s usually /. Finally, if you look closely, you’ll notice that it’s possible to have different files in different locations of the directory structure with the same file name. For example, in the figure, there are files names heat_mort.csv in both the CourseText directory and in the example_data directory. These are two different files with different contents, but they can have the same name as long as they’re in different directories. This fact—that you can have files with the same name in different places—should help you appreciate how useful it is that R requires you to give very clear directions to describe exactly which file you want R to read in, if you aren’t reading in something in your current working directory. You will have a home directory somewhere near the top of your structure, although it’s likely not your root directory. In the hypothetic computer in Figure 2.1, the home directory is /Users/brookeanderson. I’ll describe just a bit later how you can figure out what your own home directory is on your own computer. 2.4.2 Working directory When you run R, it’s always running from within some working directory, which will be one of the directories somewhere in your computer’s directory structure. At any time, you can figure out which directory R is working in by running the command getwd() (short for “get working directory”). For example, my R session is currently running in the following directory: getwd() ## [1] "/Users/georgianaanderson/Documents/my_books/RProgrammingForResearch" This means that, for my current R session, R is working in the RProgrammingForResearch subdirectory of my brookeanderson directory (which is my home directory). There are a few general rules for which working directory R will start in when you open an R session. These are not absolute rules, but they’re generally true. If you have R closed, and you open it by double-clicking on an R script, then R will generally open with, as its working directory, the directory in which that script is stored. This is often a very convenient convention, because often any of the data you’ll be reading in for that script is somewhere near where the script file is saved in the directory structure. If you open R by double-clicking on the R icon in “Applications” (or something similar on a PC), R will start in its default working directory. You can find out what this is, or change it, in RStudio’s “Preferences”. Finally, if you open an R Project, R will start in that project’s working directory (the directory in which the .Rproj file for the project is stored). 2.4.3 File and directory pathnames Once you get a picture of how your directories and files are organized, you can use pathnames, either absolute or relative, to read in files from different directories than your current working directory. Pathnames are the directions for getting to a directory or file stored on your computer. When you want to reference a directory or file, you can use one of two types of pathnames: Relative pathname: How to get to the file or directory from your current working directory Absolute pathname: How to get to the file or directory from anywhere on the computer Absolute pathnames are a bit more straightforward conceptually, because they don’t depend on your current working directory. However, they’re also a lot longer to write, and they’re much less convenient if you’ll be sharing some of your code with other people who might run it on their own computers. I’ll explain this second point a bit more later in this section. Absolute pathnames give the full directions to a directory or file, starting all the way at the root directory. For example, the heat_mort.csv file in the CourseText directory has the absolute pathname: "/Users/brookeanderson/Desktop/RCourseFall2015/CourseText/heat_mort.csv" You can use this absolute pathname to read this file in using any of the readr functions to read in data. This absolute pathname will always work, regardless of your current working directory, because it gives directions from the root—it will always be clear to R exactly what file you’re talking about. Here’s the code to use to read that file in using the read.csv function with the file’s absolute pathname: heat_mort <- read_csv(file = "/Users/brookeanderson/Desktop/RCourseFall2015/CourseText/heat_mort.csv") The relative pathname, on the other hand, gives R the directions for how to get to a directory or file from the current working directory. If the file or directory you’re looking for is pretty close to your current working directory in your directory structure, then a relative pathname can be a much shorter way to tell R how to get to the file than an absolute pathname. However, the relative pathname depends on your current working directory—the relative pathname that works perfectly when you’re working in one directory will not work at all once you move into a different working directory. As an example of a relative pathname, say you’re working in the directory RCourseFall2015 within the file structure shown in Figure 2.1, and you want to read in the heat_mort.csv file in the CourseText directory. To get from RCourseFall2015 to that file, you’d need to look in the subdirectory CourseText, where you could find heat_mort.csv. Therefore, the relative pathname from your working directory would be: "CourseText/heat_mort.csv" You can use this relative pathname to tell R where to find and read in the file: heat_mort <- read_csv("CourseText/heat_mort.csv") While this pathname is much shorter than the absolute pathname, it is important to remember that if you are working in a different working directory, this relative pathname would no longer work. There are a few abbreviations that can be really useful for pathnames: Shorthand Meaning ~ Home directory . Current working directory .. One directory up from current working directory ../.. Two directories up from current working directory These can help you keep pathnames shorter and also help you move “up-and-over” to get to a file or directory that’s not on the direct path below your current working directory. For example, my home directory is /Users/brookeanderson. You can use the list.files() function to list all the files in a directory. If I wanted to list all the files in my Downloads directory, which is a direct sub-directory of my home directory, I could use: list.files("~/Downloads") As a second example, say I was working in the working directory CourseText, but I wanted to read in the heat_mort.csv file that’s in the example_data directory, rather than the one in the CourseText directory. I can use the .. abbreviation to tell R to look up one directory from the current working directory, and then down within a subdirectory of that. The relative pathname in this case is: "../Week2_Aug31/example_data/heat_mort.csv" This tells R to look one directory up from the working directory (..) (this is also known as the parent directory of the current directory), which in this case is to RCourseFall2015, and then down within that directory to Week2_Aug31, then to example_data, and then to look there for the file heat_mort.csv. The relative pathname to read this file while R is working in the CourseTest directory would be: heat_mort <- read_csv("../Week2_Aug31/example_data/heat_mort.csv") Relative pathnames “break” as soon as you tried them from a different working directory—this fact might make it seem like you would never want to use relative pathnames, and would always want to use absolute ones instead, even if they’re longer. If that were the only consideration (length of the pathname), then perhaps that would be true. However, as you do more and more in R, there will likely be many occasions when you want to use relative pathnames instead. They are particularly useful if you ever want to share a whole directory, with all subdirectories, with a collaborator. In that case, if you’ve used relative pathnames, all the code should work fine for the person you share with, even though they’re running it on their own computer. Conversely, if you’d used absolute pathnames, none of them would work on another computer, because the “top” of the directory structure (i.e., for me, /Users/brookeanderson/Desktop) will almost definitely be different for your collaborator’s computer than it is for yours. If you’re getting errors reading in files, and you think it’s related to the relative pathname you’re using, it’s often helpful to use list.files() to make sure the file you’re trying to load is in the directory that the relative pathname you’re using is directing R to. 2.4.4 Diversion: paste This is a good opportunity to explain how to use some functions that can be very helpful when you’re using relative or absolute pathnames: paste() and paste0(). As a bit of important background information, it’s important that you understand that you can save a pathname (absolute or relative) as an R object, and then use that R object in calls to later functions like list.files() and read_csv(). For example, to use the absolute pathname to read the heat_mort.csv file in the CourseText directory, you could run: my_file <- "/Users/brookeanderson/Desktop/RCourseFall2015/CourseText/heat_mort.csv" heat_mort <- read_csv(file = my_file) You’ll notice from this code that the pathname to get to a directory or file can sometimes become ungainly and long. To keep your code cleaner, you can address this by using the paste or paste0 functions. These functions come in handy in a lot of other applications, too, but this is a good place to introduce them. The paste() function is very straightforward. It takes, as inputs, a series of different character strings you want to join together, and it pastes them together in a single character string. (As a note, this means that your result vector will only be one element long, for basic uses of paste(), while the inputs will be several different character stings.) You separate all the different things you want to paste together using with commas in the function call. For example: paste("Sunday", "Monday", "Tuesday") ## [1] "Sunday Monday Tuesday" length(x = c("Sunday", "Monday", "Tuesday")) ## [1] 3 length(x = paste("Sunday", "Monday", "Tuesday")) ## [1] 1 The paste() function has an option called sep =. This tells R what you want to use to separate the values you’re pasting together in the output. The default is for R to use a space, as shown in the example above. To change the separator, you can change this option, and you can put in just about anything you want. For example, if you wanted to paste all the values together without spaces, you could use sep = \"\": paste("Sunday", "Monday", "Tuesday", sep = "") ## [1] "SundayMondayTuesday" As a shortcut, instead of using the sep = \"\" option, you could achieve the same thing using the paste0 function. This function is almost exactly like paste, but it defaults to \"\" (i.e., no space) as the separator between values by default: paste0("Sunday", "Monday", "Tuesday") ## [1] "SundayMondayTuesday" With pathnames, you will usually not want spaces. Therefore, you could think about using paste0() to write an object with the pathname you want to ultimately use in commands like list.files() and setwd(). This will allow you to keep your code cleaner, since you can now divide long pathnames over multiple lines: my_file <- paste0("/Users/brookeanderson/Desktop/", "RCourseFall2015/CourseText/heat_mort.csv") heat_mort <- read_csv(file = my_file) You will end up using paste() and paste0() for many other applications, but this is a good example of how you can start using these functions to start to get a feel for them. 2.4.5 Reading online flat files So far, I’ve only shown you how to read in data from files that are saved to your computer. R can also read in data directly from the web. If a flat file is posted online, you can read it into R in almost exactly the same way that you would read in a local file. The only difference is that you will use the file’s url instead of a local file path for the file argument. With the read_* family of functions, you can do this both for flat files from a non-secure webpage (i.e., one that starts with http) and for files from a secure webpage (i.e., one that starts with https), including GitHub and Dropbox. For example, to read in data from this GitHub repository of Ebola data, you can run: url <- paste0("https://raw.githubusercontent.com/cmrivers/", "ebola/master/country_timeseries.csv") ebola <- read_csv(file = url) slice(.data = (select(.data = ebola, 1:3)), 1:3) ## # A tibble: 3 x 3 ## Date Day Cases_Guinea ## <chr> <dbl> <dbl> ## 1 1/5/2015 289 2776 ## 2 1/4/2015 288 2775 ## 3 1/3/2015 287 2769 2.5 Data cleaning The following video covers the section on “Data Cleaning” from 2018: Once you have loaded data into R, you’ll likely need to clean it up a little before you’re ready to analyze it. Here, I’ll go over the first steps of how to do that with functions from dplyr, another package in the tidyverse. Here are some of the most common data-cleaning tasks, along with the corresponding dplyr function for each: Task dplyr function Renaming columns rename Filtering to certain rows filter Selecting certain columns select Adding or changing columns mutate In this section, I’ll describe how to do each of these four tasks; in later sections of the course, we’ll go much deeper into how to clean messier data. For the examples in this section, I’ll use example data listing guests to the Daily Show. To follow along with these examples, you’ll want to load that data, as well as load the dplyr package (install it using install.packages if you have not already): library("dplyr") daily_show <- read_csv(file = "data/daily_show_guests.csv", skip = 4) I’ve used this data in previous examples, but as a reminder, here’s what it looks like: head(x = daily_show) ## # A tibble: 6 x 5 ## YEAR GoogleKnowlege_Occupation Show Group Raw_Guest_List ## <dbl> <chr> <chr> <chr> <chr> ## 1 1999 actor 1/11/99 Acting Michael J. Fox ## 2 1999 Comedian 1/12/99 Comedy Sandra Bernhard ## 3 1999 television actress 1/13/99 Acting Tracey Ullman ## 4 1999 film actress 1/14/99 Acting Gillian Anderson ## 5 1999 actor 1/18/99 Acting David Alan Grier ## 6 1999 actor 1/19/99 Acting William Baldwin 2.5.1 Renaming columns A first step is often re-naming the columns of the dataframe. It can be hard to work with a column name that: is long includes spaces or other special characters includes upper case You can check out the column names for a dataframe using the colnames function, with the dataframe object as the argument. Several of the column names in daily_show have some of these issues: colnames(x = daily_show) ## [1] "YEAR" "GoogleKnowlege_Occupation" ## [3] "Show" "Group" ## [5] "Raw_Guest_List" To rename these columns, use rename. The basic syntax is: ## Generic code rename(.data = dataframe, new_column_name_1 = old_column_name_1, new_column_name_2 = old_column_name_2) The first argument is the dataframe for which you’d like to rename columns. Then you list each pair of new versus old column names (in that order) for each of the columns you want to rename. To rename columns in the daily_show data using rename, for example, you would run: daily_show <- rename(.data = daily_show, year = YEAR, job = GoogleKnowlege_Occupation, date = Show, category = Group, guest_name = Raw_Guest_List) head(x = daily_show, 3) ## # A tibble: 3 x 5 ## year job date category guest_name ## <dbl> <chr> <chr> <chr> <chr> ## 1 1999 actor 1/11/99 Acting Michael J. Fox ## 2 1999 Comedian 1/12/99 Comedy Sandra Bernhard ## 3 1999 television actress 1/13/99 Acting Tracey Ullman Many of the functions in tidyverse packages, including those in dplyr, provide exceptions to the general rule about when to use quotation marks versus when to leave them off. Unfortunately, this may make it a bit hard to learn when to use quotation marks versus when not to. One way to think about this, which is a bit of an oversimplification but can help as you’re learning, is to assume that anytime you’re using a dplyr function, every column in the dataframe you’re working with has been loaded to your R session as its own object. 2.5.2 Selecting columns Next, you may want to select only some columns of the dataframe. You can use the select function from dplyr to subset the dataframe to certain columns. The basic structure of this command is: ## Generic code select(.data = dataframe, column_name_1, column_name_2, ...) In this call, you first specify the dataframe to use and then list all of the column names to include in the output dataframe, with commas between each column name. For example, to select all columns in daily_show except year (since that information is already included in date), run: select(.data = daily_show, job, date, category, guest_name) ## # A tibble: 2,693 x 4 ## job date category guest_name ## <chr> <chr> <chr> <chr> ## 1 actor 1/11/99 Acting Michael J. Fox ## 2 Comedian 1/12/99 Comedy Sandra Bernhard ## 3 television actress 1/13/99 Acting Tracey Ullman ## 4 film actress 1/14/99 Acting Gillian Anderson ## 5 actor 1/18/99 Acting David Alan Grier ## 6 actor 1/19/99 Acting William Baldwin ## 7 Singer-lyricist 1/20/99 Musician Michael Stipe ## 8 model 1/21/99 Media Carmen Electra ## 9 actor 1/25/99 Acting Matthew Lillard ## 10 stand-up comedian 1/26/99 Comedy David Cross ## # … with 2,683 more rows Don’t forget that, if you want to change column names in the saved object, you must reassign the object to be the output of rename. If you run one of these cleaning functions without reassigning the object, R will print out the result, but the object itself won’t change. You can take advantage of this, as I’ve done in this example, to look at the result of applying a function to a dataframe without changing the original dataframe. This can be helpful as you’re figuring out how to write your code. The select function also provides some time-saving tools. For example, in the last example, we wanted all the columns except one. Instead of writing out all the columns we want, we can use - with the columns we don’t want to save time: daily_show <- select(.data = daily_show, -year) head(x = daily_show, n = 3) ## # A tibble: 3 x 4 ## job date category guest_name ## <chr> <chr> <chr> <chr> ## 1 actor 1/11/99 Acting Michael J. Fox ## 2 Comedian 1/12/99 Comedy Sandra Bernhard ## 3 television actress 1/13/99 Acting Tracey Ullman 2.5.3 Add or change columns You can change a column or add a new column using the mutate function from the dplyr package. That function has the syntax: # Generic code mutate(.data = dataframe, changed_column = function(changed_column), new_column = function(other arguments)) For example, the job column in daily_show sometimes uses upper case and sometimes does not (this call uses the unique function to list only unique values in this column): head(x = unique(x = daily_show$job), n = 10) ## [1] "actor" "Comedian" "television actress" ## [4] "film actress" "Singer-lyricist" "model" ## [7] "stand-up comedian" "actress" "comedian" ## [10] "Singer-songwriter" To make all the observations in the job column lowercase, use the str_to_lower function from the stringr package within a mutate function: library(package = "stringr") mutate(.data = daily_show, job = str_to_lower(string = job)) ## # A tibble: 2,693 x 4 ## job date category guest_name ## <chr> <chr> <chr> <chr> ## 1 actor 1/11/99 Acting Michael J. Fox ## 2 comedian 1/12/99 Comedy Sandra Bernhard ## 3 television actress 1/13/99 Acting Tracey Ullman ## 4 film actress 1/14/99 Acting Gillian Anderson ## 5 actor 1/18/99 Acting David Alan Grier ## 6 actor 1/19/99 Acting William Baldwin ## 7 singer-lyricist 1/20/99 Musician Michael Stipe ## 8 model 1/21/99 Media Carmen Electra ## 9 actor 1/25/99 Acting Matthew Lillard ## 10 stand-up comedian 1/26/99 Comedy David Cross ## # … with 2,683 more rows 2.5.4 Base R equivalents to dplyr functions Just so you know, all of these dplyr functions have alternatives, either functions or processes, in base R: dplyr Base R equivalent rename Reassign colnames select Square bracket indexing filter subset mutate Use $ to change / create columns You will see these alternatives used in older code examples. 2.6 Dates and filtering The following video covers the lecture material on working with dates in R and on filtering a dataframe to a subset of rows using logical operators from 2018: 2.6.1 Dates in R As part of the data cleaning process, you may want to change the class of some of the columns in the dataframe. For example, you may want to change a column from a character to a date. Here are some of the most common vector classes in R: Class Example character “Chemistry”, “Physics”, “Mathematics” numeric 10, 20, 30, 40 factor Male [underlying number: 1], Female [2] Date “2010-01-01” [underlying number: 14,610] logical TRUE, FALSE To find out the class of a vector (including a column in a dataframe – remember each column can be thought of as a vector), you can use class(): class(daily_show$date) ## [1] "character" It is especially common to need to convert dates during the data cleaning process, since date columns will usually be read into R as characters or factors—you can do some interesting things with vectors that are in a Date class that you cannot do with a vector in a character class. To convert a vector to the Date class, if you’d like to only use base R, you can use the as.Date function. I’ll walk through how to use as.Date, since it’s often used in older R code. However, I recommend in your own code that you instead use the lubridate package, which I’ll talk about later in this section. To convert a vector to the Date class, you can use functions in the lubridate package. This package has a series of functions based on the order that date elements are given in the incoming character with date information. For example, in “12/31/99”, the date elements are given in the order of month (m), day (d), year (y), so this character string could be converted to the date class with the function mdy. As another example, the ymd function from lubridate can be used to parse a column into a Date class, regardless of the original format of the date, as long as the date elements are in the order: year, month, day. For example: library("lubridate") ymd("2008-10-13") ## [1] "2008-10-13" ymd("'08 Oct 13") ## [1] "2008-10-13" ymd("'08 Oct 13") ## [1] "2008-10-13" To convert the date column in the daily_show data into a Date class, then, you can run: library(package = "lubridate") class(x = daily_show$date) # Check the class of the 'date' column before mutating it ## [1] "character" daily_show <- mutate(.data = daily_show, date = mdy(date)) head(x = daily_show, n = 3) ## # A tibble: 3 x 4 ## job date category guest_name ## <chr> <date> <chr> <chr> ## 1 actor 1999-01-11 Acting Michael J. Fox ## 2 Comedian 1999-01-12 Comedy Sandra Bernhard ## 3 television actress 1999-01-13 Acting Tracey Ullman class(x = daily_show$date) # Check the class of the 'date' column after mutating it ## [1] "Date" Once you have an object in the Date class, you can do things like plot by date, calculate the range of dates, and calculate the total number of days the dataset covers: range(daily_show$date) diff(x = range(daily_show$date)) We could have used these to transform the date in daily_show, using the following pipe chain: daily_show <- read_csv(file = "data/daily_show_guests.csv", skip = 4) %>% rename(job = GoogleKnowlege_Occupation, date = Show, category = Group, guest_name = Raw_Guest_List) %>% select(-YEAR) %>% mutate(date = mdy(date)) %>% filter(category == "Science") head(x = daily_show, n = 2) ## # A tibble: 2 x 4 ## job date category guest_name ## <chr> <date> <chr> <chr> ## 1 neurosurgeon 2003-04-28 Science Dr Sanjay Gupta ## 2 scientist 2004-01-13 Science Catherine Weitz The lubridate package also includes functions to pull out certain elements of a date, including: wday mday yday month quarter year For example, we could use wday to create a new column with the weekday of each show: mutate(.data = daily_show, show_day = wday(x = date, label = TRUE)) %>% select(date, show_day, guest_name) %>% slice(1:5) ## # A tibble: 5 x 3 ## date show_day guest_name ## <date> <ord> <chr> ## 1 2003-04-28 Mon Dr Sanjay Gupta ## 2 2004-01-13 Tue Catherine Weitz ## 3 2004-06-15 Tue Hassan Ibrahim ## 4 2005-09-06 Tue Dr. Marc Siegel ## 5 2006-02-13 Mon Astronaut Mike Mullane R functions tend to use the timezone of YOUR computer’s operating system by default, or UTC, or GMT. You need to be careful when working with dates and times to either specify the time zone or convince yourself the default behavior works for your application. 2.6.2 Filtering to certain rows Next, you might want to filter the dataset down so that it only includes certain rows. For example, you might want to get a dataset with only the guests from 2015, or only guests who are scientists. You can use the filter function from dplyr to filter a dataframe down to a subset of rows. The syntax is: ## Generic code filter(.data = dataframe, logical expression) The logical expression in this call gives the condition that a row must meet to be included in the output data frame. For example, if you want to create a data frame that only includes guests who were scientists, you can run: scientists <- filter(.data = daily_show, category == "Science") head(x = scientists) ## # A tibble: 6 x 4 ## job date category guest_name ## <chr> <date> <chr> <chr> ## 1 neurosurgeon 2003-04-28 Science Dr Sanjay Gupta ## 2 scientist 2004-01-13 Science Catherine Weitz ## 3 physician 2004-06-15 Science Hassan Ibrahim ## 4 doctor 2005-09-06 Science Dr. Marc Siegel ## 5 astronaut 2006-02-13 Science Astronaut Mike Mullane ## 6 Astrophysicist 2007-01-30 Science Neil deGrasse Tyson To build a logical expression to use in filter, you’ll need to know some of R’s logical operators. Some of the most commonly used ones are: Operator Meaning Example == equals category == \"Acting\" != does not equal category != \"Comedy %in% is in category %in% c(\"Academic\", \"Science\") is.na() is missing is.na(job) !is.na() is not missing !is.na(job) & and year == 2015 & category == \"Academic\" | or year == 2015 | category == \"Academic\" We’ll use these logical operators and expressions a lot more as the course continues, so they’re worth learning by heart. Two common errors with logical operators are: (1) Using = instead of == to check if two values are equal; and (2) Using == NA instead of is.na to check for missing observations. 2.7 Piping The following video covers the lecture material on piping from 2018: So far, I’ve shown how to use these dplyr functions one at a time to clean up the data, reassigning the dataframe object at each step. However, there’s a trick called “piping” that will let you clean up your code a bit when you’re writing a script to clean data. If you look at the format of these dplyr functions, you’ll notice that they all take a dataframe as their first argument: # Generic code rename(.data = dataframe, new_column_name_1 = old_column_name_1, new_column_name_2 = old_column_name_2) select(.data = dataframe, column_name_1, column_name_2) filter(.data = dataframe, logical expression) mutate(.data = dataframe, changed_column = function(changed_column), new_column = function(other arguments)) Without piping, you have to reassign the dataframe object at each step of this cleaning if you want the changes saved in the object: daily_show <-read_csv(file = "data/daily_show_guests.csv", skip = 4) daily_show <- rename(.data = daily_show, job = GoogleKnowlege_Occupation, date = Show, category = Group, guest_name = Raw_Guest_List) daily_show <- select(.data = daily_show, -YEAR) daily_show <- mutate(.data = daily_show, job = str_to_lower(job)) daily_show <- filter(.data = daily_show, category == "Science") Piping lets you clean this code up a bit. It can be used with any function that inputs a dataframe as its first argument. It pipes the dataframe created right before the pipe (%>%) into the function right after the pipe. With piping, therefore, the same data cleaning looks like: daily_show <-read_csv(file = "data/daily_show_guests.csv", skip = 4) %>% rename(job = GoogleKnowlege_Occupation, date = Show, category = Group, guest_name = Raw_Guest_List) %>% select(-YEAR) %>% mutate(job = str_to_lower(job)) %>% filter(category == "Science") Notice that, when piping, the first argument (the name of the dataframe) is excluded from all function calls that follow a pipe. This is because piping sends the dataframe from the last step into each of these functions as the dataframe argument. 2.8 In-course Exercise 2.8.1 Downloading and checking out the example data Download the whole directory for this week from Github (https://github.com/geanders/week_2_data). To do that, go the the GitHub page with data for this week’s exercise and, in the top right, choose “Clone or Download” and then choose “Download ZIP”. This will download a compressed file with the full directory of data, probably to your computer’s “Downloads” folder. Then move the directory into your course Project directory and “unzip” it (try double-clicking the file, or right click on the file and see if there’s a “decompress” or “unzip” option). All the files will be in a subdirectory—move them into the main Project directory (don’t do this in R, just use whatever technique you usually use on your computer to move files between directories). Look through the structure of the “data” directory. What files are in the directory? Which files are flat files? Which are delimited (one category of flat files), and what are their delimiters? Create a new R script to put all the code you use for this exercise. Create a subdirectory in your course directory called “R” and save this script there using a .R extension (e.g., “week_2.R”). 2.8.2 Reading in different types of files Now you’ll try reading in data from a variety of types of file formats. Try the following tasks: What type of flat file do you think the “ld_genetics.txt” file is? See if you can read it in and save it as the R object ld_genetics. Use the summary function to check out basic statistics on the data. Check out the file “measles_data/02-09-2015.txt”. What type of flat file do you think it is? Since it’s in a subdirectory, you’ll need to tell R how to get to it from the project directory, using something called a relative pathname (we’ll talk about this a lot more in the next section of the lecture). Read this file into R as an object named ca_measles, using the relative pathname (“measles_data/02-09-2015.txt”) in place of the file name in the read_tsv function call. Use the col_names option to name the columns “city” and “count”. What would the default column names be if you didn’t use this option (try this out by running read_csv without the col_names option)? Read in the Excel file “icd-10.xls” and assign it to the object name idc10. Use the readxl package to do that (examples are at the bottom of the linked page). Read in the SAS file icu.sas7bdat. To do this, use the haven package. Read the file into the R object icu. Example R code: # Load the `readr` package library(package = "readr") # Use `read_tsv` to read this file. ld_genetics <- read_tsv(file = "ld_genetics.txt") ## Parsed with column specification: ## cols( ## pos = col_double(), ## nA = col_double(), ## nC = col_double(), ## nG = col_double(), ## nT = col_double(), ## GCsk = col_double(), ## TAsk = col_double(), ## cGCsk = col_double(), ## cTAsk = col_double() ## ) summary(object = ld_genetics) ## pos nA nC nG ## Min. : 500 Min. :185 Min. :120.0 Min. : 85.0 ## 1st Qu.: 876000 1st Qu.:288 1st Qu.:173.0 1st Qu.:172.0 ## Median :1751500 Median :308 Median :190.0 Median :189.0 ## Mean :1751500 Mean :309 Mean :191.9 Mean :191.8 ## 3rd Qu.:2627000 3rd Qu.:329 3rd Qu.:209.0 3rd Qu.:208.0 ## Max. :3502500 Max. :463 Max. :321.0 Max. :326.0 ## nT GCsk TAsk cGCsk ## Min. :188.0 Min. :-189.0000 Min. :-254.000 Min. : -453 ## 1st Qu.:286.0 1st Qu.: -30.0000 1st Qu.: -36.000 1st Qu.:10796 ## Median :306.0 Median : 0.0000 Median : -2.000 Median :23543 ## Mean :307.2 Mean : -0.1293 Mean : -1.736 Mean :22889 ## 3rd Qu.:328.0 3rd Qu.: 29.0000 3rd Qu.: 32.500 3rd Qu.:34940 ## Max. :444.0 Max. : 134.0000 Max. : 205.000 Max. :46085 ## cTAsk ## Min. :-6247 ## 1st Qu.: 1817 ## Median : 7656 ## Mean : 7855 ## 3rd Qu.:15036 ## Max. :19049 # Use `read_tsv` to read this file. Because the first line # of the file is *not* the column names, you need to specify what the column # names should be with the `col_names` parameter. ca_measles <- read_tsv(file = "measles_data/02-09-2015.txt", col_names = c("city", "count")) ## Parsed with column specification: ## cols( ## city = col_character(), ## count = col_double() ## ) head(x = ca_measles) ## # A tibble: 6 x 2 ## city count ## <chr> <dbl> ## 1 ALAMEDA 6 ## 2 LOS ANGELES 20 ## 3 City of Long Beach 2 ## 4 City of Pasadena 4 ## 5 MARIN 2 ## 6 ORANGE 34 # You'll need the `readxl` package to read in the Excel file. Load that. library(package = "readxl") # Use the `read_excel` function to read in the file. icd10 <- read_excel(path = "icd-10.xls") head(x = icd10) ## # A tibble: 6 x 2 ## Code `ICD Title` ## <chr> <chr> ## 1 A00-B99 I. Certain infectious and parasitic diseases ## 2 A00-A09 Intestinal infectious diseases ## 3 A00 Cholera ## 4 A00.0 Cholera due to Vibrio cholerae 01, biovar cholerae ## 5 A00.1 Cholera due to Vibrio cholerae 01, biovar eltor ## 6 A00.9 Cholera, unspecified # You'll need the `haven` function to read in the SAS file. Load that. library(package = "haven") # Use the `read_sas` function to read in this file. icu <- read_sas(data_file = "icu.sas7bdat") library(package = "dplyr") slice(.data = select(.data = icu, 1:5), 1:5) ## # A tibble: 5 x 5 ## ID STA AGE GENDER RACE ## <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 4 1 87 1 1 ## 2 8 0 27 1 1 ## 3 12 0 59 0 1 ## 4 14 0 77 0 1 ## 5 27 1 76 1 1 2.8.3 Directory structure Once you have the data, I’d like you to try using getwd() to figure out your current working directory and list.files() to figure out which files you have in the directories near that current working directory. Start by creating a new subdirectory called “data” in your R Project directory for this class (if you don’t already have that subdirectory). Move the data you downloaded in the start of this In-Course Exercise into that “data” subdirectory. (For this, use whatever tools you would normally use on your computer to move files from one directory to another—you don’t have to do this part in R.) Keep the “measles” data in its own subdirectory (so, the “data” subdirectory of your project will have its own “measles” subdirectory, which will have those files). Check that you are, in fact, in the working directory you think you’re in. Run: getwd() Does it agree with the R project name in the top right hand corner of your R Studio window? Now, use the list.files function to print out which files or subdirectories you have in your current working directory: list.files() Try the following tasks: Read in the ebola data in country_timeseries.csv from your current working directory. This will require you to use a relative filename to direct R to how to find that file in the “data” subdirectory of your current working directory. Assign the data you read in to an R object named ebola. How many rows and columns does it have? What are the names of the columns? While staying in the same working directory, used list.files() to print the names of the available files in the “data” subdirectory using the path argument. How about in the “R” subdirectory (if you have one)? Try to list the files in your “data” subdirectory using: A relative pathname An absolute pathname Now use a relative pathname along with list.files() to list all the files in the “measles_data” subdirectory. Then try to read in the Ebola data using the appropriate readr function and a relative pathname. Which method (absolute or relative pathnames) always used the same code, regardless of your current working directory? Which method used different code, depending on the starting working directory? Read in the Ebola data in country_timeseries.csv from your current working directory. This will require you to use a relative filename to direct R to how to find that file in the “data” subdirectory of your current working directory. ebola <- read_csv(file = "data/country_timeseries.csv") How many rows and columns does it have? What are the names of the columns? dim(x = ebola) # Get the dimensions of the data (`nrow` and `ncol` would also work) colnames(x = ebola) # Get the column names (you can also just print the object: `ebola`) While staying in the same working directory, used list.files() to print the names of the available files in the “data” subdirectory by using the path argument. How about in the “R” subdirectory (if you have one)? list.files(path = "data") list.files(path = "R") Try to list the files in your “data” subdirectory using: + A relative pathname + An absolute pathname list.files(path = "data") # This is using a relative pathname list.files(path = "/Users/brookeanderson/Documents/r_course_2018/data") # Absolute pathname # (Yours will be different and will depend on how your computer file # structure is set up.) Now use a relative pathname along with list.files() to list all the files in the “measles_data” subdirectory. list.files(path = "data/measles_data") Then try to read in the Ebola data using the appropriate readr function and a relative pathname ebola <- read_csv(file = "data/country_timeseries.csv") If you have extra time: Find out some more about this Ebola dataset by checking out Caitlin Rivers’ Ebola data GitHub repository. Who is Caitlin Rivers? How did she put this dataset together? Search for R code related to Ebola research on GitHub. Go to the GitHub home page and use the search bar to search for “ebola”. On the results page, scroll down and use the “Language” sidebar on the left to choose repositories with R code. Did you find any interesting projects? When you list.files() for the “data” subdirectory, almost everything listed has a file extension, like .csv, .xls, .sas7bdat. One thing does not. Which one? Why does this listing not have a file extension? 2.8.4 Cleaning up data #1 Try out the following tasks: Copy the following code into an R script. Figure out what each line does, and add comments to each line of code describing what the code is doing. Use the helpfiles for functions as needed to figure out functions we haven’t covered yet. # Copy this code to an R script and add comments describing what each line is doing # Install any packages that the code loads but that you don't have. library(package = "haven") library(package = "forcats") library(package = "stringr") icu <- read_sas(data_file = "data/icu.sas7bdat") icu <- select(.data = icu, ID, AGE, GENDER) icu <- rename(.data = icu, id = ID, age = AGE, gender = GENDER) icu <- mutate(.data = icu, gender = as_factor(x = gender), gender = fct_recode(.f = gender, Male = "0", Female = "1"), id = str_c(id)) icu Following previous parts of the in-course exercise, you have an R object called ebola (if you need to, use some code from earlier in this in-course exercise to read in the data and create that object). Create an object called ebola_liberia that only has the columns with the date and the number of cases and deaths in Liberia. How many columns does this new dataframe have? How many observations? Change the column names to date, cases, and deaths. Add a column called ratio that has the ratio of deaths to cases for each observation (i.e., death counts divided by case counts). Example R code: # Load the dplyr package library(package = "dplyr") ## Create a subset with just the Liberia columns and Date ebola_liberia <- select(.data = ebola, Date, Cases_Liberia, Deaths_Liberia) head(x = ebola_liberia) ## # A tibble: 6 x 3 ## Date Cases_Liberia Deaths_Liberia ## <chr> <dbl> <dbl> ## 1 1/5/2015 NA NA ## 2 1/4/2015 NA NA ## 3 1/3/2015 8166 3496 ## 4 1/2/2015 8157 3496 ## 5 12/31/2014 8115 3471 ## 6 12/28/2014 8018 3423 ## How many colums and rows does the whole dataset have (could also use `dim`)? ncol(x = ebola_liberia) ## [1] 3 nrow(x = ebola_liberia) ## [1] 122 ## Rename the columns ebola_liberia <- rename(.data = ebola_liberia, date = Date, cases = Cases_Liberia, deaths = Deaths_Liberia) head(ebola_liberia) ## # A tibble: 6 x 3 ## date cases deaths ## <chr> <dbl> <dbl> ## 1 1/5/2015 NA NA ## 2 1/4/2015 NA NA ## 3 1/3/2015 8166 3496 ## 4 1/2/2015 8157 3496 ## 5 12/31/2014 8115 3471 ## 6 12/28/2014 8018 3423 ## Add a `ratio` column ebola_liberia <- mutate(.data = ebola_liberia, ratio = deaths / cases) head(x = ebola_liberia) ## # A tibble: 6 x 4 ## date cases deaths ratio ## <chr> <dbl> <dbl> <dbl> ## 1 1/5/2015 NA NA NA ## 2 1/4/2015 NA NA NA ## 3 1/3/2015 8166 3496 0.428 ## 4 1/2/2015 8157 3496 0.429 ## 5 12/31/2014 8115 3471 0.428 ## 6 12/28/2014 8018 3423 0.427 2.8.5 Cleaning up data #2 Filter out all rows from the ebola_liberia dataframe that are missing death counts for Liberia. How many rows are in the dataframe now? Create a new object called first_five that has only the five observations with the highest death counts in Liberia. What date in this dataset had the most deaths? Example R code: ## Filter out the rows that are missing death counts for Liberia ebola_liberia <- filter(.data = ebola_liberia, !is.na(deaths)) head(x = ebola_liberia) ## # A tibble: 6 x 4 ## date cases deaths ratio ## <chr> <dbl> <dbl> <dbl> ## 1 1/3/2015 8166 3496 0.428 ## 2 1/2/2015 8157 3496 0.429 ## 3 12/31/2014 8115 3471 0.428 ## 4 12/28/2014 8018 3423 0.427 ## 5 12/24/2014 7977 3413 0.428 ## 6 12/20/2014 7862 3384 0.430 nrow(x = ebola_liberia) ## [1] 81 ## Create an object with just the top five observations in terms of death counts first_five <- arrange(.data = ebola_liberia, desc(deaths)) # First, rearrange the rows by deaths first_five <- slice(.data = first_five, 1:5) # Limit the dataframe to the first five rows first_five # Two days tied for the highest deaths counts (Jan. 2 and 3, 2015). ## # A tibble: 5 x 4 ## date cases deaths ratio ## <chr> <dbl> <dbl> <dbl> ## 1 1/3/2015 8166 3496 0.428 ## 2 1/2/2015 8157 3496 0.429 ## 3 12/31/2014 8115 3471 0.428 ## 4 12/28/2014 8018 3423 0.427 ## 5 12/24/2014 7977 3413 0.428 2.8.6 Piping Try the following tasks: Copy the following “piped” code into an R script. Figure out what each line does, and add comments to each line of code describing what the code is doing. # Copy this code to an R script and add comments describing what each line is doing library(package = "haven") icu <- read_sas(data_file = "data/icu.sas7bdat") %>% select(ID, AGE, GENDER) %>% rename(id = ID, age = AGE, gender = GENDER) %>% mutate(gender = as_factor(x = gender), gender = fct_recode(.f = gender, Male = "0", Female = "1"), id = str_c(id)) %>% arrange(age) %>% slice(1:10) icu In previous sections of the in-course exercise, you have created code to read in and clean the Ebola dataset to create ebola_liberia. This included the following cleaning steps: (1) selecting certain columns, (2) renaming those columns, (3) adding a ratio column, and (4) removing observations for which the count of deaths in Liberia is missing. Re-write this code to create and clean ebola_liberia as “piped” code. Start from reading in the raw data. Example R code: ebola_liberia <- read_csv(file = "data/country_timeseries.csv") %>% select(Date, Cases_Liberia, Deaths_Liberia) %>% rename(date = Date, cases = Cases_Liberia, deaths = Deaths_Liberia) %>% mutate(ratio = deaths / cases) %>% filter(!is.na(x = cases)) head(x = ebola_liberia) ## # A tibble: 6 x 4 ## date cases deaths ratio ## <chr> <dbl> <dbl> <dbl> ## 1 1/3/2015 8166 3496 0.428 ## 2 1/2/2015 8157 3496 0.429 ## 3 12/31/2014 8115 3471 0.428 ## 4 12/28/2014 8018 3423 0.427 ## 5 12/24/2014 7977 3413 0.428 ## 6 12/20/2014 7862 3384 0.430 "], ["exploring-data-1.html", "Chapter 3 Exploring data #1 3.1 Objectives 3.2 Data from a package 3.3 Logical vectors 3.4 Simple statistics functions 3.5 Plots to explore data 3.6 In-course exercise", " Chapter 3 Exploring data #1 Download a pdf of the lecture slides covering this topic. 3.1 Objectives After this chapter, you should (know / understand / be able to ): Be able to load and use datasets from R packages Be able to describe and use logical vectors Understand how logical vectors check logical statements against other R vector(s) and store TRUE / FALSE values as 0 / 1 at a deeper level Be able to use the dplyr function mutate to create a logical vector as a new column in a dataframe and the dplyr function filter with that new column to filter a dataframe to a subset of rows Be able to use the bang operator (!) to reverse a logical vector Know what the “tidyverse” is and name some of its packages Be able to use some simple statistical functions (e.g., min, max, mean, median, cor, summary), including how to handle missing values when using these Be able to use the dplyr function summarize to summarize data, with and without grouping using group_by, including with special functions n, n_distinct, first, and last Understand the three basic elements of ggplot plots: data, aesthetics, and geoms Be able to create a ggplot object, set its data using data = ... and its aesthetics using mapping = aes(...), and add on layers (including geoms) with + Be able to create some basic plots (e.g., scatterplots, boxplots, histograms) using ggplot2 functions Understand the difference between setting an aesthetic by mapping it to a column of the dataframe versus setting it to a constant value Understand the difference between “statistical” geoms (e.g., histograms, boxplots) and geoms that add one geom element per dataframe observation (row) 3.2 Data from a package So far we’ve covered two ways to get data into R: From flat files (either on your computer or online) From binary file formats like SAS and Excel. Many R packages come with their own data, which is very easy to load and use. For example, the faraway package, which complements Julian Faraway’s book Linear Models with R, has a dataset called worldcup that I’ll use for some examples and that you’ll use for part of this week’s in-course exercise. To load this dataset, first load the package with the data (faraway) and then use the data() function with the dataset name (“worldcup”) as the argument to the data function: library(faraway) data("worldcup") Unlike most data objects you’ll work with, datasets that are part of an R package will often have their own help files. You can access this help file for a dataset using the ? operator with the dataset’s name: ?worldcup This helpful will usually include information about the size of the dataset, as well as definitions for each of the columns. To get a list of all of the datasets that are available in the packages you currently have loaded, run data() without an option inside the parentheses: data() If you run the library function without any arguments—library()—it works in a similar way. R will open a list of all the R packages that you have installed on your computer and can open with a library call. For this chapter, we’ll be working with a modified version of the nepali dataset from the faraway package. This gives data from a study of the health of a group of Nepalese children. Each observation is a single measurement for a child; there can be multiple observations per child. We’ll use a modified version of this dataframe that limits it to the columns with the child’s id, sex, weight, height, and age, and limited to each child’s first measurement. To create this modified dataset, run the following code: library(dplyr) library(faraway) data(nepali) nepali <- nepali %>% # Limit to certain columns select(id, sex, wt, ht, age) %>% # Convert id and sex to factors mutate(id = factor(id), sex = factor(sex, levels = c(1, 2), labels = c("Male", "Female"))) %>% # Limit to first obs. per child distinct(id, .keep_all = TRUE) The first few rows of the data should now look like: nepali %>% slice(1:4) ## id sex wt ht age ## 1 120011 Male 12.8 91.2 41 ## 2 120012 Female 14.9 103.9 57 ## 3 120021 Female 7.7 70.1 8 ## 4 120022 Female 12.1 86.4 35 3.3 Logical vectors Last week, you learned a lot about logical statements and how to use them with the filter function from the dplyr package. You can also use logical vectors, created with these logical statements, for a lot of other things. For example, you can use them directly in the square bracket indexing ([..., ...]) to pull out just the rows of a dataframe that meet a certain condition. For using logical statements in either context, it is helpful to understand a bit more about logical vectors. When you run a logical statement on a vector, you create a logical vector the same length as the original vector: length(nepali$sex) ## [1] 200 length(nepali$sex == "Male") ## [1] 200 The logical vector (nepali$sex == \"Male\" in this example) will have the value TRUE at any position where the original vector (nepali$sex in this example) met the logical condition you tested, and FALSE anywhere else: head(nepali$sex) ## [1] Male Female Female Female Male Male ## Levels: Male Female head(nepali$sex == "Male") ## [1] TRUE FALSE FALSE FALSE TRUE TRUE You can “flip” this logical vector (i.e., change every TRUE to FALSE and vice-versa) using the bang operator, !: is_male <- nepali$sex == "Male" # Save this logical vector as the object named `is_male` head(is_male) ## [1] TRUE FALSE FALSE FALSE TRUE TRUE head(!is_male) ## [1] FALSE TRUE TRUE TRUE FALSE FALSE The bang operator turns out to be very useful. You will often find cases where it’s difficult to write a logical vector to get what you want, but fairly easy to write the inverse (find everything you don’t want). One example is filtering down to non-missing values—the is.na function will return TRUE for any value that is NA, so you can use !is.na() to identify any non-missing values. You can do a few cool things with a logical vector. For example, you can use it inside a filter function to pull out just the rows of a dataframe where is_male is TRUE: nepali %>% filter(is_male) %>% head() ## id sex wt ht age ## 1 120011 Male 12.8 91.2 41 ## 2 120023 Male 14.2 99.4 49 ## 3 120031 Male 13.9 96.4 46 ## 4 120051 Male 8.3 69.5 8 ## 5 120053 Male 15.8 96.0 54 ## 6 120062 Male 12.1 89.9 57 Or, with !, just the rows where is_male is FALSE: nepali %>% filter(!is_male) %>% head() ## id sex wt ht age ## 1 120012 Female 14.9 103.9 57 ## 2 120021 Female 7.7 70.1 8 ## 3 120022 Female 12.1 86.4 35 ## 4 120052 Female 11.8 83.6 32 ## 5 120061 Female 8.7 78.5 26 ## 6 120082 Female 11.2 79.8 36 You can also use sum() and table() with a logical vector to find out how many of the values in the vector are TRUE AND FALSE. You can use sum because R saves logical vectors at a basic level as 0 for FALSE and 1 for TRUE. Therefore, if you add up all the values in a logical vector, you’re adding up the number of observations with the value TRUE. In the example, you can use these functions to find out how many males and females are in the dataset: sum(is_male) ## [1] 107 sum(!is_male) ## [1] 93 table(is_male) ## is_male ## FALSE TRUE ## 93 107 Note that you could also achieve the same thing with dplyr functions. For example, you could use mutate with a logical statement to create an is_male column in the nepali dataframe, then group by the new is_male column and count the number of observations in each group using count: library(dplyr) nepali %>% mutate(is_male = sex == "Male") %>% group_by(is_male) %>% count() ## # A tibble: 2 x 2 ## # Groups: is_male [2] ## is_male n ## <lgl> <int> ## 1 FALSE 93 ## 2 TRUE 107 We will cover using summarize, including with data that has been grouped with group_by, later in this chapter. 3.4 Simple statistics functions 3.4.1 Summary statistics To explore your data, you’ll need to be able to calculate some simple statistics for vectors, including calculating the mean and range of continuous variables and counting the number of values in each category of a factor or logical vector. Here are some simple statistics functions you will likely use often: Function Description range() Range (minimum and maximum) of vector min(), max() Minimum or maximum of vector mean(), median() Mean or median of vector sd() Standard deviation of vector table() Number of observations per level for a factor vector cor() Determine correlation(s) between two or more vectors summary() Summary statistics, depends on class All of these functions take, as the main argument, the vector or vectors for which you want the statistic. If there are missing values in the vector, you’ll typically need to add an argument to say what to do with the missing values. The parameter name for this varies by function, but for many of these functions it’s na.rm = TRUE or use=\"complete.obs\". mean(nepali$wt, na.rm = TRUE) ## [1] 10.18432 range(nepali$ht, na.rm = TRUE) ## [1] 52.4 104.1 sd(nepali$ht, na.rm = TRUE) ## [1] 12.64529 table(nepali$sex) ## ## Male Female ## 107 93 Most of these functions take a single vector as the input. The cor function, however, calculates the correlation between vectors and so takes two or more vectors. If you give it multiple values, it will give the correlation matrix for all the vectors. cor(nepali$wt, nepali$ht, use = "complete.obs") ## [1] 0.9571535 cor((nepali %>% select(wt, ht, age)), use = "complete.obs") ## wt ht age ## wt 1.0000000 0.9571535 0.8931195 ## ht 0.9571535 1.0000000 0.9287129 ## age 0.8931195 0.9287129 1.0000000 R supports object-oriented programming. Your first taste of this shows up with the summary function. For the summary function, R does not run the same code every time. Instead, R first checks what type of object was input to summary, and then it runs a function (method) specific to that type of object. For example, if you input a continuous vector, like the ht column in nepali, to summary, the function will return the mean, median, range, and 25th and 75th percentile values: summary(nepali$wt) ## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's ## 3.80 7.90 10.10 10.18 12.40 16.70 15 However, if you submit a factor vector, like the sex column in nepali, the summary function will return a count of how many elements of the vector are in each factor level (as a note, you could do the same thing with the table function): summary(nepali$sex) ## Male Female ## 107 93 The summary function can also input other data structures, including dataframes, lists, and special object types, like regression model objects. In each case, it performs different actions specific to the object type. Later in this section, we’ll cover regression models, and see what the summary function returns when it is used with regression model objects. 3.4.2 summarize function You will often want to use these functions in conjunction with the summarize function in dplyr. For example, to create a new dataframe with the mean weight of children in the nepali dataset, you can use mean inside a summarize function: library(dplyr) nepali %>% summarize(mean_wt = mean(wt, na.rm = TRUE)) ## mean_wt ## 1 10.18432 There are also some special functions that are particularly useful with summarize and other dplyr functions. For example, the n function will calculate the number of observations and the first function will return the first value of a column: nepali %>% summarize(n_children =n(), first_id = first(id)) ## n_children first_id ## 1 200 120011 See the “summary function” section of the the RStudio Data Wrangling cheatsheet for more examples of these special functions. Often, you will be more interested in summaries within certain groupings of your data, rather than overall summaries. For example, you may be interested in mean height and weight by sex, rather than across all children, for the nepali data. It is very easy to calculate these grouped summaries using dplyr—you just need to group data using the group_by function (also a dplyr function) before you run the summarize function: nepali %>% group_by(sex) %>% summarize(mean_wt = mean(wt, na.rm = TRUE), n_children =n(), first_id = first(id)) ## `summarise()` ungrouping output (override with `.groups` argument) ## # A tibble: 2 x 4 ## sex mean_wt n_children first_id ## <fct> <dbl> <int> <fct> ## 1 Male 10.5 107 120011 ## 2 Female 9.82 93 120012 Don’t forget that you need to save the output to a new object if you want to use it later. The above code, which creates a dataframe with summaries for Nepali children by sex, will only be printed out to your console if run as-is. If you’d like to save this output as an object to use later (for example, for a plot or table), you need to assign it to an R object. 3.5 Plots to explore data Exploratory data analysis is a key step in data analysis and plotting your data in different ways is an important part of this process. In this section, I will focus on the basics of ggplot2 plotting, to get you started creating some plots to explore your data. This section will focus on making useful, rather than attractive graphs, since at this stage we are focusing on exploring data for yourself rather than presenting results to others. Next week, I will explain more about how you can customize ggplot objects, to help you make plots to communicate with others. All of the plots we’ll make today will use the ggplot2 package (another member of the tidyverse!). If you don’t already have that installed, you’ll need to install it. You then need to load the package in your current session of R: # install.packages("ggplot2") ## Uncomment and run if you don't have `ggplot2` installed library(ggplot2) The process of creating a plot using ggplot2 follows conventions that are a bit different than most of the code you’ve seen so far in R (although it is somewhat similar to the idea of piping I introduced in the last chapter). The basic steps behind creating a plot with ggplot2 are: Create an object of the ggplot class, typically specifying the data and some or all of the aesthetics; Add on geoms and other elements to create and customize the plot, using +. You can add on one or many geoms and other elements to create plots that range from very simple to very customized. This week, we’ll focus on simple geoms and added elements, and then explore more detailed customization next week. If R gets to the end of a line and there is not some indication that the call is not over (e.g., %>% for piping or + for ggplot2 plots), R interprets that as a message to run the call without reading in further code. A common error when writing ggplot2 code is to put the + to add a geom or element at the beginning of a line rather than the end of a previous line– in this case, R will try to execute the call too soon. To avoid errors, be sure to end lines with +, don’t start lines with it. 3.5.1 Initializing a ggplot object The first step in creating a plot using ggplot2 is to create a ggplot object. This object will not, by itself, create a plot with anything in it. Instead, it typically specifies the data frame you want to use and which aesthetics will be mapped to certain columns of that data frame (aesthetics are explained more in the next subsection). Use the following conventions to initialize a ggplot object: ## Generic code object <- ggplot(dataframe, aes(x = column_1, y = column_2)) The data frame is the first parameter in a ggplot call and, if you like, you can use the parameter definition with that call (e.g., data = dataframe). Aesthetics are defined within an aes function call that typically is used within the ggplot call. While the ggplot call is the place where you will most often see an aes call, aes can also be used within the calls to add specific geoms. This can be particularly useful if you want to map aesthetics differently for different geoms in your plot. We’ll see some examples of this use of aes more in later sections, when we talk about customizing plots. The data parameter can also be used in geom calls, to use a different data frame from the one defined when creating the original ggplot object, although this tends to be less common. 3.5.2 Plot aesthetics Aesthetics are properties of the plot that can show certain elements of the data. For example, in Figure 3.1, color shows (is mapped to) gender, x-position shows height, and y-position shows weight in a sample data set of measurements of children in Nepal. Figure 3.1: Example of how different properties of a plot can show different elements to the data. Here, color indicates gender, position along the x-axis shows height, and position along the y-axis shows weight. This example is a subset of data from the nepali dataset in the faraway package. Any of these aesthetics could also be given a constant value, instead of being mapped to an element of the data. For example, all the points could be red, instead of showing gender. Which aesthetics are required for a plot depend on which geoms (more on those in a second) you’re adding to the plot. You can find out the aesthetics you can use for a geom in the “Aesthetics” section of the geom’s help file (e.g., ?geom_point). Required aesthetics are in bold in this section of the help file and optional ones are not. Common plot aesthetics you might want to specify include: Code Description x Position on x-axis y Position on y-axis shape Shape color Color of border of elements fill Color of inside of elements size Size alpha Transparency (1: opaque; 0: transparent) linetype Type of line (e.g., solid, dashed) 3.5.3 Adding geoms Next, you’ll want to add one or more geoms to create the plot. You can add these with + after the ggplot statement to initialize the ggplot object. Some of the most common geoms are: Plot type ggplot2 function Histogram (1 numeric variable) geom_histogram Scatterplot (2 numeric variables) geom_point Boxplot (1 numeric variable, possibly 1 factor variable) geom_boxplot Line graph (2 numeric variables) geom_line 3.5.4 Constant aesthetics Instead of mapping an aesthetic to an element of your data, you can use a constant value for it. For example, you may want to make all the points green, rather than having color map to gender: In this case, you’ll define that aesthetic when you add the geom, outside of an aes statement. In R, you can specify the shape of points with a number. Figure 3.2 shows the shapes that correspond to the numbers 1 to 25 in the shape aesthetic. This figure also provides an example of the difference between color (black for all these example points) and fill (red for these examples). You can see that some point shapes include a fill (21 for example), while some are either empty (1) or solid (19). ## Warning: `data_frame()` is deprecated as of tibble 1.1.0. ## Please use `tibble()` instead. ## This warning is displayed once every 8 hours. ## Call `lifecycle::last_warnings()` to see where this warning was generated. Figure 3.2: Examples of the shapes corresponding to different numeric choices for the shape aesthetic. For all examples, color is set to black and fill to red. If you want to set color to be a constant value, you can do that in R using character strings for different colors. Figure 3.3 gives an example of some of the different blues available in R. To find links to listings of different R colors, google “R colors” and search by “Images”. Figure 3.3: Example of available shades of blue in R. 3.5.5 Useful plot additions There are also a number of elements that you can add onto a ggplot object using +. A few that are used very frequently are: Element Description ggtitle Plot title xlab, ylab x- and y-axis labels xlim, ylim Limits of x- and y-axis 3.5.6 Example dataset For the example plots, I’ll use a dataset in the faraway package called nepali. This gives data from a study of the health of a group of Nepalese children. library(faraway) data(nepali) I’ll be using functions from dplyr and ggplot2, so those need to be loaded: library(dplyr) library(ggplot2) Each observation is a single measurement for a child; there can be multiple observations per child. I used the following code to select only the columns for child id, sex, weight, height, and age. I also used distinct to limit the dataset to only include one measurement for each chile, the child’s first measurement in the dataset. nepali <- nepali %>% select(id, sex, wt, ht, age) %>% mutate(id = factor(id), sex = factor(sex, levels = c(1, 2), labels = c("Male", "Female"))) %>% distinct(id, .keep_all = TRUE) After this cleaning, the data looks like this: head(nepali) ## id sex wt ht age ## 1 120011 Male 12.8 91.2 41 ## 2 120012 Female 14.9 103.9 57 ## 3 120021 Female 7.7 70.1 8 ## 4 120022 Female 12.1 86.4 35 ## 5 120023 Male 14.2 99.4 49 ## 6 120031 Male 13.9 96.4 46 3.5.7 Histograms Histograms show the distribution of a single variable. Therefore, geom_histogram() requires only one main aesthetic, x, the (numeric) vector for which you want to create a histogram. For example, to create a histogram of children’s heights for the Nepali dataset (Figure 3.4), run: ggplot(nepali, aes(x = ht)) + geom_histogram() Figure 3.4: Basic example of plotting a histogram with ggplot2. This histogram shows the distribution of heights for the first recorded measurements of each child in the nepali dataset. If you run the code with no arguments for binwidth or bins in geom_histogram, you will get a message saying “stat_bin() using bins = 30. Pick better value with binwidth.”. This message is just saying that a default number of bins was used to create the histogram. You can use arguments to change the number of bins used, but often this default is fine. You may also get a message that observations with missing values were removed. You can add some elements to the histogram now to customize it a bit. For example (Figure @ref()), you can add a figure title (ggtitle) and clearer labels for the x-axis (xlab). You can also change the range of values shown by the x-axis (xlim). ggplot(nepali, aes(x = ht)) + geom_histogram(fill = "lightblue", color = "black") + ggtitle("Height of children") + xlab("Height (cm)") + xlim(c(0, 120)) Figure 3.5: Example of adding ggplot elements to customize a histogram. The geom geom_histogram also has special argument for setting the number of width of the bins used in the histogram. Figure ?? shows an example of how you can use the bins argument to change the number of bins that are used to make the histogram of height for the nepali dataset. ggplot(nepali, aes(x = ht)) + geom_histogram(fill = "lightblue", color = "black", bins = 40) Figure 3.6: Example of using the bins argument to change the number of bins used in a histogram. Similarly, the binwidth argument can be used to set the width of bins. Figure 3.7 shows an example of using this function to create a histogram of the Nepali children’s heights with binwidths of 10 centimeters (note that this argument is set in the same units as the x variable). ggplot(nepali, aes(x = ht)) + geom_histogram(fill = "lightblue", color = "black", binwidth = 10) Figure 3.7: Example of using the binwidth argument to set the width of each bin used in a histogram. 3.5.8 Scatterplots A scatterplot shows how one variable changes as another changes. You can use the geom_point geom to create a scatterplot. For example, to create a scatterplot of height versus age for the Nepali data (Figure 3.8), you can run the following code: ggplot(nepali, aes(x = ht, y = wt)) + geom_point() Figure 3.8: Example of creating a scatterplot. This scatterplot shows the relationship between children’s heights and weights within the nepali dataset. Again, you can use some of the options and additions to change the plot appearance. For example, to add a title, change the x- and y-axis labels, and change the color and size of the points on the scatterplot (Figure 3.9), you can run: ggplot(nepali, aes(x = ht, y = wt)) + geom_point(color = "blue", size = 0.5) + ggtitle("Weight versus Height") + xlab("Height (cm)") + ylab("Weight (kg)") Figure 3.9: Example of adding ggplot elements to customize a scatterplot. You can also try mapping another variable in the dataset to the color aesthetic. For example, to use color to show the sex of each child in the scatterplot (Figure 3.10), you can run: ggplot(nepali, aes(x = ht, y = wt, color = sex)) + geom_point(size = 0.5) + ggtitle("Weight versus Height") + xlab("Height (cm)") + ylab("Weight (kg)") Figure 3.10: Example of mapping color to an element of the data in a scatterplot. 3.5.9 Boxplots Boxplots can be used to show the distribution of a continuous variable. To create a boxplot, you can use the geom_boxplot geom. To plot a boxplot for a single, continuous variable, you can map that variable to y in the aes call, and map x to the constant 1. For example, to create a boxplot of the heights of children in the Nepali dataset (Figure 3.11), you can run: ggplot(nepali, aes(x = 1, y = ht)) + geom_boxplot() + xlab("")+ ylab("Height (cm)") Figure 3.11: Example of creating a boxplot. The example shows the distribution of height data for children in the nepali dataset. You can also create separate boxplots, one for each level of a factor (Figure 3.12). In this case, you’ll need to include two aesthetics (x and y) when you initialize the ggplot object The y variable is the variable for which the distribution will be shown, and the x variable should be a discrete (categorical or TRUE/FALSE) variable, and will be used to group the variable. This x variable should also be specified as the grouping variable, using group within the aesthetic call. ggplot(nepali, aes(x = sex, y = ht, group = sex)) + geom_boxplot() + xlab("Sex")+ ylab("Height (cm)") Figure 3.12: Example of creating separate boxplots, divided by a categorical grouping variable in the data. 3.6 In-course exercise 3.6.1 Loading data from an R package The data we’ll be using today is from a dataset called worldcup in the package faraway. Load that data so you can use it on your computer (note: you will need to load and install the faraway package to do this). Use the help file for the data to find out more about the dataset. Use some basic functions, like head, tail, colnames, str, and summary to check out the data a bit. See if you can figure out: What variables are included in this dataset? (Check the column names.) What class is each column currently? In particular, which are numbers and which are factors? 3.6.1.1 Example R code: Load the faraway package using library() and then load the data using data(): ## Uncomment the next line if you need to install the package # install.packages("faraway") library(faraway) data("worldcup") Check out the help file for the worldcup dataset to find out more about the data. (Note: Only datasets that are parts of packages will have help files.) ?worldcup Check out the data a bit: str(worldcup) ## 'data.frame': 595 obs. of 7 variables: ## $ Team : Factor w/ 32 levels "Algeria","Argentina",..: 1 16 9 9 5 32 11 11 18 20 ... ## $ Position: Factor w/ 4 levels "Defender","Forward",..: 4 4 1 4 2 2 1 2 4 1 ... ## $ Time : int 16 351 180 270 46 72 138 33 21 103 ... ## $ Shots : int 0 0 0 1 2 0 0 0 5 0 ... ## $ Passes : int 6 101 91 111 16 15 51 9 22 38 ... ## $ Tackles : int 0 14 6 5 0 0 2 0 0 1 ... ## $ Saves : int 0 0 0 0 0 0 0 0 0 0 ... head(worldcup) ## Team Position Time Shots Passes Tackles Saves ## Abdoun Algeria Midfielder 16 0 6 0 0 ## Abe Japan Midfielder 351 0 101 14 0 ## Abidal France Defender 180 0 91 6 0 ## Abou Diaby France Midfielder 270 1 111 5 0 ## Aboubakar Cameroon Forward 46 2 16 0 0 ## Abreu Uruguay Forward 72 0 15 0 0 tail(worldcup) ## Team Position Time Shots Passes Tackles Saves ## van Bommel Netherlands Midfielder 540 2 307 31 0 ## van Bronckhorst Netherlands Defender 540 1 271 10 0 ## van Persie Netherlands Forward 479 14 108 1 0 ## von Bergen Switzerland Defender 234 0 79 3 0 ## Alvaro Pereira Uruguay Midfielder 409 6 140 17 0 ## Ozil Germany Midfielder 497 7 266 3 0 colnames(worldcup) ## [1] "Team" "Position" "Time" "Shots" "Passes" "Tackles" "Saves" summary(worldcup) ## Team Position Time Shots ## Slovakia : 21 Defender :188 Min. : 1.0 Min. : 0.000 ## Uruguay : 21 Forward :143 1st Qu.: 88.0 1st Qu.: 0.000 ## Argentina: 20 Goalkeeper: 36 Median :191.0 Median : 1.000 ## Cameroon : 20 Midfielder:228 Mean :208.9 Mean : 2.304 ## Chile : 20 3rd Qu.:270.0 3rd Qu.: 3.000 ## Paraguay : 20 Max. :570.0 Max. :27.000 ## (Other) :473 ## Passes Tackles Saves ## Min. : 0.00 Min. : 0.000 Min. : 0.0000 ## 1st Qu.: 29.00 1st Qu.: 1.000 1st Qu.: 0.0000 ## Median : 61.00 Median : 3.000 Median : 0.0000 ## Mean : 84.52 Mean : 4.192 Mean : 0.6672 ## 3rd Qu.:115.50 3rd Qu.: 6.000 3rd Qu.: 0.0000 ## Max. :563.00 Max. :34.000 Max. :20.0000 ## 3.6.2 Exploring the data using simple statistics and summarize Next, try checking out the data using some basic commands for simple statistics, like mean(), range(), max(), and min(), as well as the summarize and group_by functions from the dplyr package. Try to answer the following questions: What is the mean number of saves that players made? What is the mean number of saves just among the goalkeepers? Did players from any position other than goalkeeper make a save? How many players were there in each position? How many forwards were there on each team? Which team had the most shots in total among all its forwards? Which team(s) had the defender with the most tackles? If you have extra time, continuing using the “Data Wrangling” cheatsheet to come up with some other ideas for how you can explore this data, and write up and test code to do that. 3.6.2.1 Example R code: To calculate the mean number of saves among all the players, use the mean function, either by itself or within a summarize call: mean(worldcup$Saves) ## [1] 0.6672269 worldcup %>% summarize(mean_saves = mean(Saves)) ## mean_saves ## 1 0.6672269 There are a few ways to figure out the mean number of saves just among the goalkeepers. One way is to filter the dataset to only goalies and then use summarize to calculate the mean number of saves in this filtered subset of the data: worldcup %>% filter(Position == "Goalkeeper") %>% summarize(mean_saves = mean(Saves)) ## mean_saves ## 1 11.02778 The next question is if players from any position other than goalkeeper made a save. One way to figure this out is to group the data by position and then summarize the maximum number of saves. Based on this, it looks like there were not saves from players in any position except goalie: worldcup %>% group_by(Position) %>% summarize(max_saves = max(Saves)) ## `summarise()` ungrouping output (override with `.groups` argument) ## # A tibble: 4 x 2 ## Position max_saves ## <fct> <int> ## 1 Defender 0 ## 2 Forward 0 ## 3 Goalkeeper 20 ## 4 Midfielder 0 To figure out how many players were there in each position, you can can group the data by position and then use the count function from dplyr to count the number of observations in each group: worldcup %>% group_by(Position) %>% count() ## # A tibble: 4 x 2 ## # Groups: Position [4] ## Position n ## <fct> <int> ## 1 Defender 188 ## 2 Forward 143 ## 3 Goalkeeper 36 ## 4 Midfielder 228 For the next set of questions, you can filter the data to only Forwards, then group by team to use summarize to count up the number of Forwards on each team. You can also use the same summarize call to figure out the total number of shots by all Forwards on each team. To figure out which team had the most shots in total among all its forwards, you can use the arrange function to re-order the data from the team with the most total shots to the least. It turns out that Uruguay had the most shots by forwards on its team, with a total of 46 shots. worldcup %>% filter(Position == "Forward") %>% group_by(Team) %>% summarize(n_forwards = n(), total_forward_shots = sum(Shots)) %>% arrange(desc(total_forward_shots)) ## `summarise()` ungrouping output (override with `.groups` argument) ## # A tibble: 32 x 3 ## Team n_forwards total_forward_shots ## <fct> <int> <int> ## 1 Uruguay 5 46 ## 2 Argentina 6 45 ## 3 Germany 6 41 ## 4 Netherlands 5 34 ## 5 Spain 3 33 ## 6 Ghana 5 32 ## 7 Portugal 4 28 ## 8 Paraguay 5 25 ## 9 Brazil 4 23 ## 10 USA 5 21 ## # … with 22 more rows To figure out which team(s) had the defender with the most tackles, you can filter to only defenders and then use the top_n function to identify the players with the top number of tackles. It turns out these players were on the England, Germany, and Chile teams. worldcup %>% filter(Position == "Defender") %>% top_n(n = 1, wt = Tackles) ## Team Position Time Shots Passes Tackles Saves ## Glen Johnson England Defender 357 3 173 17 0 ## Lahm Germany Defender 540 0 360 17 0 ## Vidal Chile Defender 306 6 178 17 0 3.6.3 Exploring the data using logical statements Next, try checking out the data using logical statements and some of the dplyr code we covered last week (filter and arrange, for example), to help you answer the following questions: What is the range of time that players spent in the game? Which player or players played the most time in this World Cup? How many players are goalies in this dataset? Create a new R object named brazil_players that is limited to the players in this dataset that are (1) on the Brazil team and (2) not goalies. If you have additional time, look over the “Data Manipulation” cheatsheet available in RStudio’s Help section. Make a list of questions you would like to figure out from this example data, and start to plan out how you might be able to answer those questions using functions from dplyr. Write the related code and see if it works. 3.6.3.1 Example R code: To figure out the range of time, you could use arrange twice, once with desc and once without, to figure out the maximum and minimum values # Minimum time arrange(worldcup, Time) %>% select(Time) %>% slice(1) ## Time ## Barron 1 # Maximum time arrange(worldcup, desc(Time)) %>% select(Time) %>% slice(1) ## Time ## Arevalo Rios 570 Later, we will learn about the n() function, which you can use within piped code to represent the total number of rows in the dataframe. If you’d like to get the full range of the Time column in one pipeline of code, you can use n() as a reference within slice, to pull both the first and last rows of the dataframe: arrange(worldcup, Time) %>% select(Time) %>% slice(c(1, n())) ## Time ## Barron 1 ## Muslera 570 Finally, you could also use min() and max() functions to get the minimum and maximum values of the Time column in the worldcup dataframe (remember that you can use the dataframe$column_name notation to pull a column from a dataframe). Similarly, you there is a function called range() you could use to find out the range of time these players played in the World Cup. range(worldcup$Time) ## [1] 1 570 To figure out which player or players played for the most time, there are a few approaches you can take. Here I’m showing two: (1) using filter from the dplyr package to filter down to rows where where the Time for that row equals the maximum play time that you determined from an earlier task (570 minutes); and (2) using the top_n function from dplyr to pick out the rows with the maximum value (n = 1) of the Time column (see the help file for top_n if you are unfamiliar with this function; we have not covered it in class yet). worldcup %>% filter(Time == 570) ## Team Position Time Shots Passes Tackles Saves ## Arevalo Rios Uruguay Midfielder 570 5 195 21 0 ## Maxi Pereira Uruguay Midfielder 570 5 182 15 0 ## Muslera Uruguay Goalkeeper 570 0 75 0 16 worldcup %>% top_n(n = 1, wt = Time) ## Team Position Time Shots Passes Tackles Saves ## Arevalo Rios Uruguay Midfielder 570 5 195 21 0 ## Maxi Pereira Uruguay Midfielder 570 5 182 15 0 ## Muslera Uruguay Goalkeeper 570 0 75 0 16 Note: You may have noticed that you lost the players names when you did this using the dplyr pipechain. That’s because dplyr functions convert the data to a dataframe format that does not include rownames. If you want to keep players’ names, you can use a function from the tibble package called rownames_to_column to move those names from the rownames of the data into a column in the dataframe. Use the var parameter of this function to specify what you want the new column to be named. For example: library(tibble) worldcup %>% rownames_to_column(var = "Name") %>% filter(Time == 570) ## Name Team Position Time Shots Passes Tackles Saves ## 1 Arevalo Rios Uruguay Midfielder 570 5 195 21 0 ## 2 Maxi Pereira Uruguay Midfielder 570 5 182 15 0 ## 3 Muslera Uruguay Goalkeeper 570 0 75 0 16 There are a few ways to figure out how many players are goalies in this dataset. One way is to use sum() on a logical vector of whether the player’s position is “Goalkeeper”: is_goalie <- worldcup$Position == "Goalkeeper" sum(is_goalie) ## [1] 36 Another way is to use filter from dplyr, along with a logical statement, to filter the data to only players with the position of “Goalkeeper”, and then pipe that filtered subset into the nrow function to count the number of rows in the filtered dataframe: worldcup %>% filter(Position == "Goalkeeper") %>% nrow() ## [1] 36 Next, create a new R object named brazil_players that is limited to the players in this dataset that are (1) on the Brazil team and (2) not goalies. You can use a logical statement to filter to rows that meet both these conditions by joing two logical statements in the filter function with an &: brazil_players <- worldcup %>% filter(Team == "Brazil" & Position != "Goalkeeper") head(brazil_players) ## Team Position Time Shots Passes Tackles Saves ## Baptista Brazil Midfielder 82 0 42 1 0 ## Daniel Alves Brazil Defender 310 11 215 6 0 ## Elano Brazil Midfielder 140 5 57 6 0 ## Fabiano Brazil Forward 418 9 89 4 0 ## Gilberto Brazil Defender 33 0 6 4 0 ## Gilberto Silva Brazil Midfielder 450 3 299 11 0 3.6.4 Exploring the data using basic plots #1 Use some basic plots to check out this data. Try the following: Create a scatterplot of the worldcup data, where each point is a player, the x-axis shows the amount of time the player played in the World Cup, and the y-axis shows the number of passes the player had. Try writing the code both with and without “piping in” the data you want to plot into the ggplot function. Create the same scatterplot, but have each point in the scatterplot show that player’s position using some aesthetic besides the x or y position (e.g., color, point shape). Add “rug plots” to the margins. Create a scatterplot of number of shots (x-axis) versus number of tackles (y-axis) for just players on one of the four teams that made the semi-finals (Spain, Netherlands, Germany, Uruguay). Use color to show player’s position and shape to show player’s team. (Hint: you will want to use some dplyr code to clean the data before plotting to do this.) Create a scatterplot of player time versus passes. Use color to show whether the player was on one of the top 4 teams or not. (Hint: Again, you’ll want to use some dplyr code before plotting to do this.) For an extra challenge, also try adding each player’s name on top of each point. (Hint: check out the rownames_to_column function from the tibble package to help with this.) Did you notice any interesting features of the data when you did any of the graphs in this section? 3.6.4.1 Example R code: Create a scatterplot of Time versus Passes. # Without piping ggplot(worldcup) + geom_point(mapping = aes(x = Time, y = Passes)) # With piping worldcup %>% ggplot() + geom_point(mapping = aes(x = Time, y = Passes)) Create the same scatterplot, but have each point in the scatterplot show that player’s position. ggplot(worldcup, mapping = aes(x = Time, y = Passes, color = Position)) + geom_point() + geom_rug() Create a scatterplot of number of shots (x-axis) versus number of tackles (y-axis) for just players on one of the four teams that made the semi-finals (Spain, Netherlands, Germany, Uruguay). Use color to show player’s position and shape to show player’s team. For an extra challenge, also try adding each player’s name on top of each point. worldcup %>% rownames_to_column(var = "Name") %>% filter(Team %in% c("Spain", "Netherlands", "Germany", "Uruguay")) %>% ggplot() + geom_point(aes(x = Shots, y = Tackles, color = Position, shape = Team)) + geom_text(mapping = aes(x = Shots, y = Tackles, color = Position, label = Name), size = 2.5) Create a scatterplot of player time versus passes. Use color to show whether the player was on one of the top 4 teams or not. worldcup %>% mutate(top_4 = Team %in% c("Spain", "Netherlands", "Germany", "Uruguay")) %>% ggplot() + geom_point(aes(x = Time, y = Passes, color = top_4)) 3.6.5 Exploring the data using basic plots #2 Go back to the code you used in the previous section to create a scatterplot of the worldcup data, where each point is a player, the x-axis shows the amount of time the player played in the World Cup, and the y-axis shows the number of passes the player had. Try the following modifications: Make all the points blue. Google “R colors” to find a list of color names in R. Pick your favorite and make all the points in the scatterplot that color. Change the size of the points to make them smaller (hint: check out the size aesthetic). Make it so the color of the points shows the player’s position and all the points are slightly transparent. Change the title of the x-axis to “Time (minutes)” and the y-axis to “Number of passes”. Add the title “World Cup statistics” and the subtitle “2010 World Cup”. 3.6.5.1 Example R code: Make all the points blue. ggplot(worldcup) + geom_point(mapping = aes(x = Time, y = Passes), color = "blue") Google “R colors” to find a list of color names in R. Pick your favorite and make all the points in the scatterplot that color. # Make the points "darkseagreen4" ggplot(worldcup) + geom_point(mapping = aes(x = Time, y = Passes), color = "darkseagreen4") Change the size of the points to make them smaller (hint: check out the size aesthetic). ggplot(worldcup) + geom_point(mapping = aes(x = Time, y = Passes), size = 0.8) Make it so the color of the points shows the player’s position and all the points are slightly transparent. ggplot(worldcup) + geom_point(mapping = aes(x = Time, y = Passes), alpha = 0.3) Change the title of the x-axis to “Time (minutes)” and the y-axis to “Number of passes”. ggplot(worldcup) + geom_point(mapping = aes(x = Time, y = Passes)) + labs(x = "Time (minutes)", y = "Number of passes") Add the title “World Cup statistics” and the subtitle “2010 World Cup”. ggplot(worldcup) + geom_point(mapping = aes(x = Time, y = Passes)) + ggtitle("World Cup statistics", subtitle = "2010 World Cup") 3.6.6 Exploring the data using basic plots #3 Try out creating some plots using the “statistical” geoms to check out this data. Try the following: Plot histograms of all the numeric variables (Time, Shot, Passes, Tackles, Saves) in the dataset. Try customizing the number of bins used for one of the histograms plotted in the previous step. Try using constant values for some of the aesthetics (e.g., customize the color and the fill) of the histogram created in the previous step. Create a boxplot of Shots by position. Create a top_teams subset with just the four teams that made the semi-finals in the 2010 World Cup (Spain, the Netherlands, Germany, and Uruguay). Plot boxplots of Shots and Saves by team for just these teams. Create a histogram using data only from the four top teams for the amount of time each player played. Use the color aesthetic of the histogram to show team. 3.6.6.1 Example R code Use histograms to explore the distribution of different variables. If you want to change the number of bins in the histogram, try playing around with the bins and binwidth arguments. You can use the bins argument to say how many bins you want (e.g., bins = 50). You can use the binwidth argument to say how wide you want the bins to be (e.g., binwidth = 10 if you wanted bins to be 10 units wide, in the units of the variable mapped to the x aesthetic. Try using fill and color to change the appearance of the plot. Google “R colors” and search the images to find links to listings of different R colors. ggplot(worldcup, aes(x = Time)) + geom_histogram() ggplot(worldcup, aes(x = Time)) + geom_histogram(bins = 50) ggplot(worldcup, aes(x = Time)) + geom_histogram(binwidth = 100) ggplot(worldcup, aes(x = Time)) + geom_histogram(binwidth = 50, color = "white", fill = "cyan4") To create a boxplot of Shots by Position, you can use geom_boxplot: ggplot(worldcup, aes(x = Position, y = Shots)) + geom_boxplot() The top four teams in this World Cup were Spain, the Netherlands, Germany, and Uruguay. Create a subset with just the data for these four teams: top_teams <- worldcup %>% filter(Team %in% c("Spain", "Netherlands", "Germany", "Uruguay")) Now, you can plot the boxplots, mapping Team to the x aesthetic and Shots to the y aesthetic: ggplot(top_teams, aes(x = Team, y = Shots)) + geom_boxplot() + ggtitle("Shots per player in World Cup 2010") Create a histogram using data only from the four top teams for the amount of time each player played. Use the color aesthetic of the histogram to show team. ggplot(data = top_teams) + geom_histogram(aes(x = Time, fill = Team)) ## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`. Note that you can also explore other values for geom_histogram arguments. For example, you could change the binwidths to be 90 minutes (since games are 90 minutes). ggplot(data = top_teams) + geom_histogram(aes(x = Time, fill = Team), binwidth = 90) "], ["reporting-data-results-1.html", "Chapter 4 Reporting data results #1 4.1 Guidelines for good plots 4.2 High data density 4.3 Meaningful labels 4.4 References 4.5 Highlighting 4.6 Order 4.7 Small multiples 4.8 Advanced customization 4.9 To find out more 4.10 In-course exercise", " Chapter 4 Reporting data results #1 Download a pdf of the lecture slides covering this topic. 4.1 Guidelines for good plots There are a number of very thoughtful books and articles about creating graphics that effectively communicate information. Some of the authors I highly recommend (and from whose work I’ve pulled the guidelines for good graphics we’ll talk about this week) are: Edward Tufte Howard Wainer Stephen Few Nathan Yau You should plan, in particular, to read The Visual Display of Quantitative Information by Edward Tufte before you graduate. This week, we’ll focus on six guidelines for good graphics, based on the writings of these and other specialists in data display. The guidelines are: Aim for high data density. Use clear, meaningful labels. Provide useful references. Highlight interesting aspects of the data. Make order meaningful. When possible, use small multiples. For the examples, I’ll use dplyr for data cleaning and, for plotting, the packages ggplot2, gridExtra, and ggthemes. library(tidyverse) ## Loads `dplyr` and `ggplot2` library(gridExtra) library(ggthemes) You can load the data for today’s examples with the following code: library(faraway) data(nepali) data(worldcup) library(dlnm) data(chicagoNMMAPS) chic <- chicagoNMMAPS chic_july <- chic %>% filter(month == 7 & year == 1995) 4.2 High data density Guideline 1: Aim for high data density. You should try to increase, as much as possible, the data to ink ratio in your graphs. This is the ratio of “ink” providing information to all ink used in the figure. One way to think about this is that the only graphs you make that use up a lot of your printer’s ink should be packed with information. The two graphs in Figure 4.1 show the same information, but use very different amounts of ink. Each shows the number of players in each of four positions in the worldcup dataset. Notice how, in the plot on the right, a single dot for each category shows the same information that a whole filled bar is showing on the left. Further, the plot on the right has removed the gridded background, removing even more “ink”. ## `summarise()` ungrouping output (override with `.groups` argument) Figure 4.1: Example of plots with lower (left) and higher (right) data-to-ink ratios. Each plot shows the number of players in each position in the worldcup dataset from the faraway package. Figure 4.2 gives another example of two plots that show the same information but with very different data densities. This figure uses the chicagoNMMAPS data from the dlnm package, which includes daily mortality, weather, and air pollution data for Chicago, IL. Both plots show daily mortality counts during July 1995, when a very severe heat wave hit Chicago. Notice how many of the elements in the plot on the left, including the shading under the mortality time series and the colored background and grid lines, are unnecessary for interpreting the message from the data. Figure 4.2: Example of plots with lower (left) and higher (right) data-to-ink ratios. Each plot shows daily mortality in Chicago, IL, in July 1995 using the chicagoNMMAPS data from the dlnm package. By increasing the data-to-ink ratio in a plot, you can help viewers see the message of the data more quickly. A cluttered plot is harder to interpret. Further, you leave room to add some of the other elements I’ll talk about, including highlighting interesting data and adding useful references. Notice how the plots on the left in Figures 4.1 and 4.2 are already cluttered and leave little room for adding extra elements, while the plots on the right of those figures have much more room for additions. One quick way to increase data density in ggplot2 is to change the theme for the plot. The theme specifies a number of the “background” elements to a plot, including elements like the plot grid, background color, and the font used for labeling. Some themes come with ggplot2, including: theme_bw theme_minimal theme_void You can find more themes in packages that extend ggplot2. The ggthemes package, in particular, has some excellent additional themes. Figures 4.3 shows some examples of the effects of using different themes. All show the same information– a plot of daily deaths in Chicago in July 1995. The top left graph shows the graph with the default theme. The other plots show the effects of adding different themes, including the black-and-white theme that comes with ggplot2 (top right) and various themes from the ggthemes package. You can even use themes to add some questionable choices for different elements, like the Excel theme (bottom left). Figure 4.3: Daily mortality in Chicago, IL, in July 1995. This figure gives an example of the plot using different themes. 4.3 Meaningful labels Guideline 2: Use clear, meaningful labels. Graphs often default to use abbreviations for axis labels and other labeling. For example, the default is for ggplot2 plots to use column names for the x- and y-axes of a scatterplot. While this is convenient for exploratory plots, it’s often not adequate for plots for presentations and papers. You’ll want to use short and easy-to-type column names in your dataframe to make coding easier, but you should use longer and more meaningful labeling in plots and tables that others need to interpret. Furthermore, text labels can sometimes be aligned in a way that makes them hard to read. For example, when plotting a categorical variable along the x-axis, it can be difficult to fit labels for each category that are long enough to be meaningful. Figure 4.4 gives an example of the same information shown with labels that are harder to interpret (left) versus with clear, meaningful labels (right). Notice how the graph on the left is using abbreviations for the categorical variable (“DF” for “Defense”), abbreviations for axis labels (“Pos” for “Position” and “Pls” for “Number of players”), and has the player position labels in a vertical alignment. On the right graph, I have made the graph easier to quickly read and interpret by spelling out all labels and switching the x- and y-axes, so that there’s room to fully spell out each position while still keeping the alignment horizontal, so the reader doesn’t have to turn the page (or their head) to read the values. Figure 4.4: The number of players in each position in the worldcup data from the faraway package. Both graphs show the same information, but the left graph has murkier labels, while the right graph has labels that are easier to read and interpret. There are a few strategies you can use to make labels clearer when plotting with ggplot2: Add xlab and ylab elements to the plot, rather than relying on the column names in the original data. You can also relabel x- and y-axes with scale elements (e.g., scale_x_continuous), and the scale functions give you more power to also make other changes to the x- and y-axes (e.g., changing break points for the axis ticks). However, if you only need to change axis labels, xlab and ylab are often quicker. Include units of measurement in axis titles when relevant. If units are dollars or percent, check out the scales package, which allows you to add labels directly to axis elements by including arguments like labels = percent in scale elements. See the helpfile for scale_x_continuous for some examples. If the x-variable requires longer labels, as is often the case with categorical data (for example, player positions Figure 4.4), consider flipping the coordinates, rather than abbreviating or rotating the labels. You can use coord_flip to do this. 4.4 References Guideline 3: Provide useful references. Data is easier to interpret when you add references. For example, if you show what it typical, it helps viewers interpret how unusual outliers are. Figure 4.5 shows daily mortality during July 1995 in Chicago, IL. The graph on the right has added shading showing the range of daily death counts in July in Chicago for neighboring years (1990–1994 and 1996–2000). This added reference helps clarify for viewers how unusual the number of deaths during the July 1995 heat wave was. Figure 4.5: Daily mortality during July 1995 in Chicago, IL. In the graph on the right, I have added a shaded region showing the range of daily mortality counts for neighboring years, to show how unusual this event was. Another useful way to add references is to add a linear or smooth fit to the data, to help clarify trends in the data. Figure 4.6 shows the relationship between passes and shots for Forwards in the worldcup dataset. The plot on the right has added a smooth function of the relationship between these two variables. Figure 4.6: Relationship between passes and shots taken among Forwards in the worldcup dataset from the faraway package. The plot on the right has a smooth function added to help show the relationship between these two variables. For scatterplots created with ggplot2, you can use the function geom_smooth to add a smooth or linear reference line. Here is the code that produces Figure 4.6: ggplot(filter(worldcup, Position == "Forward"), geom_point(size = 1.5) + theme_few() + geom_smooth() The most useful geom_smooth parameters to know are: method: The default is to add a loess curve if the data includes less than 1000 points and a generalized additive model for 1000 points or more. However, you can change to show the fitted line from a linear model using method = \"lm\" or from a generalized linear model using method = \"glm\". span: How wiggly or smooth the smooth line should be (smaller value: more wiggly; larger value: more smooth) se: TRUE or FALSE, indicating whether to include shading for 95% confidence intervals. level: Confidence level for confidence interval (e.g., 0.90 for 90% confidence intervals) Lines and polygons can also be useful for adding references, as in Figure 4.5. Useful geoms for such shapes include: geom_hline, geom_vline: Add a horizontal or vertical line geom_abline: Add a line with an intercept and slope geom_polygon: Add a filled polygon geom_path: Add an unfilled polygon You want these references to support the main data shown in the plot, but not overwhelm it. When adding these references: Add reference elements first, so they will be plotted under the data, instead of on top of it. Use alpha to add transparency to these elements. Use colors that are unobtrusive (e.g., grays). For lines, consider using non-solid line types (e.g., linetype = 3). 4.5 Highlighting Guideline 4: Highlight interesting aspects. Consider adding elements to highlight noteworthy elements of the data. For example, in the graph on the right of Figure 4.7, the days of the heat wave (based on temperature measurements) have been highlighted over the mortality time series by using a thick red line. Figure 4.7: Mortality in Chicago, July 1995. In the plot on the right, a thick red line has been added to show the dates of a heat wave. In the below graphs, the names of the players with the most shots and passes have been added to highlight these unusual points. One helpful way to annotate is with text, using geom_text(). For this, you’ll first need to create a dataframe with the hottest day in the data: hottest_day <- chic_july %>% filter(temp == max(temp)) hottest_day[ , 1:6] ## date time year month doy dow ## 1 1995-07-13 3116 1995 7 194 Thursday chic_plot + geom_text(data = hottest_day, label = "Max", size = 3) With geom_text, you’ll often want to use position adjustment (the position parameter) to move the text so it won’t be right on top of the data points: chic_plot + geom_text(data = hottest_day, label = "Max", size = 3, hjust = 0, vjust = -1) You can also use lines to highlight. For this, it is often useful to create a new dataframe with data for the reference. To add a line for the Chicago heat wave, I’ve added a dataframe called hw with the relevant date range. I’m setting the y-value to be high enough (425) to ensure the line will be placed above the mortality data. hw <- data.frame(date = c(as.Date("1995-07-12"), as.Date("1995-07-16")), death = c(425, 425)) b <- chic_plot + geom_line(data = hw, aes(x = date, y = death), size = 2) b 4.6 Order Guideline 5: Make order meaningful. You can make the ranking of data clearer from a graph by using order to show rank. Often, factor or categorical variables are ordered by something that is not interesting, like alphabetical order. ## `summarise()` ungrouping output (override with `.groups` argument) You can re-order factor variables in a graph by resetting the factor using the factor function and changing the order that levels are included in the levels parameter. 4.7 Small multiples Guideline 6: When possible, use small multiples. Small multiples are graphs that use many small plots showing the same thing for different facets of the data. For example, instead of using color in a single plot to show data for males and females, you could use two small plots, one each for males and females. Typically, in small multiples, all plots use the same x- and y-axes. This makes it easier to compare across plots, and it also allows you to save room by limiting axis annotation. You can use the facet functions to create small multiples. This separates the graph into several small graphs, one for each level of a factor. The facet functions are: facet_grid() facet_wrap() For example, to create small multiples by sex for the Nepali dataset, when plotting height versus weight, you can call: ggplot(nepali, aes(ht, wt)) + geom_point() + facet_grid(. ~ sex) The facet_grid function can facet by one or two variables. One will be shown by rows, and one by columns: ## Generic code facet_grid([factor for rows] ~ [factor for columns]) The facet_wrap() function can only facet by one variable, but it can “wrap” the small graphs for that variable, so the don’t all have to be in one row or column: ## Generic code facet_wrap(~ [factor for faceting], ncol = [number of columns]) Often, when you do faceting, you’ll want to re-name your factors levels or re-order them. For this, you’ll need to use the factor() function on the original vector. For example, to rename the sex factor levels from “1” and “2” to “Male” and “Female”, you can run: nepali <- nepali %>% mutate(sex = factor(sex, levels = c(1, 2), labels = c("Male", "Female"))) Notice that the labels for the two graphs have now changed: ggplot(nepali, aes(ht, wt)) + geom_point() + facet_grid(. ~ sex) To re-order the factor, and show the plot for “Female” first, you can use factor to change the order of the levels: nepali <- nepali %>% mutate(sex = factor(sex, levels = c("Female", "Male"))) Now notice that the order of the plots has changed: ggplot(nepali, aes(ht, wt)) + geom_point() + facet_grid(. ~ sex) 4.8 Advanced customization 4.8.1 Scales There are a number of different functions for adjusting scales. These follow the following convention: ## Generic code scale_[aesthetic]_[vector type] For example, to adjust the x-axis scale for a continuous variable, you’d use scale_x_continuous. You can use a scale function for an axis to change things like the axis label (which you could also change with xlab or ylab) as well as position and labeling of breaks. For example, here is the default for plotting time versus passes for the worldcup dataset, with the number of shots taken shown by size and position shown by color: ggplot(worldcup, aes(x = Time, y = Passes, color = Position, size = Shots)) + geom_point(alpha = 0.5) ggplot(worldcup, aes(x = Time, y = Passes, color = Position, size = Shots)) + geom_point(alpha = 0.5) + scale_x_continuous(name = "Time played (minutes)", breaks = 90 * c(2, 4, 6), minor_breaks = 90 * c(1, 3, 5)) Parameters you might find useful in scale functions include: Parameter Description name Label or legend name breaks Vector of break points minor_breaks Vector of minor break points labels Labels to use for each break limits Limits to the range of the axis For dates, you can use scale functions like scale_x_date and scale_x_datetime. For example, here’s a plot of deaths in Chicago in July 1995 using default values for the x-axis: ggplot(chic_july, aes(x = date, y = death)) + geom_line() And here’s an example of changing the formating and name of the x-axis: ggplot(chic_july, aes(x = date, y = death)) + geom_line() + scale_x_date(name = "Date in July 1995", date_labels = "%m-%d") You can also use the scale functions to transform an axis. For example, to show the Chicago plot with “deaths” on a log scale, you can run: ggplot(chic_july, aes(x = date, y = death)) + geom_line() + scale_y_log10() For colors and fills, the conventions for the names of the scale functions can vary. For example, to adjust the color scale when you’re mapping a discrete variable (i.e., categorical, like gender or animal breed) to color, you’d use scale_color_hue. To adjust the color scale for a continuous variable, like age, you’ll use scale_color_gradient. For any color scales, consider starting with brewer first (e.g., scale_color_brewer, scale_color_distiller). Scale functions from brewer allow you to set colors using different palettes. You can explore these palettes at http://colorbrewer2.org/. The Brewer palettes fall into three categories: sequential, divergent, and qualitative. You should use sequential or divergent for continuous data and qualitative for categorical data. Use display.brewer.pal to show the palette for a given number of colors. library(RColorBrewer) display.brewer.pal(name = "Set1", n = 8) display.brewer.pal(name = "PRGn", n = 8) display.brewer.pal(name = "PuBuGn", n = 8) Use the palette argument within a scales function to customize the palette: a <- ggplot(data.frame(x = 1:5, y = rnorm(5), group = letters[1:5]), aes(x = x, y = y, color = group)) + geom_point() b <- a + scale_color_brewer(palette = "Set1") c <- a + scale_color_brewer(palette = "Pastel2") + theme_dark() grid.arrange(a, b, c, ncol = 3) ggplot(worldcup, aes(x = Time, y = Passes, color = Position, size = Shots)) + geom_point(alpha = 0.5) + scale_color_brewer(palette = "Dark2", name = "Player position") You can also set colors manually: ggplot(worldcup, aes(x = Time, y = Passes, color = Position, size = Shots)) + geom_point(alpha = 0.5) + scale_color_manual(values = c("blue", "red", "darkgreen", "darkgray")) 4.9 To find out more Some excellent further references for plotting are: R Graphics Cookbook (book and website) Google images For more technical details about plotting in R: ggplot2: Elegant Graphics for Data Analysis, Hadley Wickham R Graphics, Paul Murrell 4.10 In-course exercise 4.10.1 Designing a plot For today’s exercise, you’ll be building a plot using the worldcup data from the faraway package. First, load in that data. The name of each player is in the rownames of this data. Use the tibble::rownames_to_column() function to move those rownames into a new column named Player. Also install and load the ggplot2 and ggthemes packages. Next, say you want to look at the relationship between the number of minutes that a player played in the 2010 World Cup (Time) and the number of shots the player took on goal (Shots). On a sheet of paper, and talking with your partner, decide how the two of you would design a plot to explore and present this relationship. How would you incorporate some of the principles of creating good graphs? 4.10.1.1 Example R code For this section, the only code needed is code to load the required packages, load the data, and move the rownames to a column named Player. library(faraway) data(worldcup) head(worldcup, 2) ## Team Position Time Shots Passes Tackles Saves ## Abdoun Algeria Midfielder 16 0 6 0 0 ## Abe Japan Midfielder 351 0 101 14 0 This dataset has the players’ names as rownames, rather than in a column. Once we start using dplyr functions, we’ll lose these rownames. Therefore, start by converting the rownames to a column called Player: library(dplyr) worldcup <- worldcup %>% tibble::rownames_to_column(var = "Player") head(worldcup, 2) ## Player Team Position Time Shots Passes Tackles Saves ## 1 Abdoun Algeria Midfielder 16 0 6 0 0 ## 2 Abe Japan Midfielder 351 0 101 14 0 Install and load the ggplot2 package: # install.packages("ggplot2") library(ggplot2) # install.packages("ggthemes") library(ggthemes) 4.10.2 Implementing plot guidelines #1 In this section, we’ll work on creating a plot like this: Do the following tasks: Create a simple scatterplot of Time versus Shots for the World Cup data. It should look like this: Next, before any more coding, talk with your group members about how this graph is different from the simple one you created with ggplot in the last section. Also discuss what you can figure out from this new graph that was less clear from a simpler scatterplot of Time versus Shots for this data. Often, in graphs with a lot of points, it’s hard to see some of the points, because they overlap other points. Three strategies to address this are: (a) make the points smaller; and (b) make the points somewhat transparent. Try doing these first two with the scatterplot you’re creating. At this point, the plot should look something like this: Create a new column in the worldcup data called top_four that specifies whether or not the Team for that observation was one of the top four teams in the tournament (Netherlands, Uruguay, Spain, and Germany). Make the colors of the points correspond to whether the team was a top-four team. At this point, the plot should look something like this: Increase data density: Try changing the theme, to come up with a graph with a bit less non-data ink. From the ggthemes package, try some of the following themes: theme_few(), theme_tufte(), theme_stata(), theme_fivethirtyeight(), theme_economist_white(), and theme_wsj(). Pick a theme that helps increase the graph’s data density. At this point, the plot should look something like this: Use meaningful labels: Use the labs() function to make a clearer title for the x-axis. (You may have already written this code in the last section of this exercise.) In addition to setting the x-axis title with the labs function, you can also set the title for the color scale (use color = within the labs function). You may want to make a line break in the color title– you can use the linebreak character (\\n) inside the character string with the title to do that. At this point, the plot should look something like this: Provide useful references: The standard time for a soccer game is 90 minutes. In the World Cup, all teams play at least three games, and then the top teams continue and play more games. Add a reference line at 270 minutes (i.e., the amount of standard time played for the three games that all teams play). At this point, the plot should look something like this: 4.10.2.1 Example R code As a reminder, here’s the code to do a simple scatterplot ot Shots by Time for the worldcup data: ggplot(data = worldcup) + geom_point(mapping = aes(x = Time, y = Shots)) Next, try to make it clearer to see the points by making them smaller and somewhat transparent. This can be done with the size and alpha aesthetics for geom_points. For the size aesthetic, a value smaller than about 2 = smaller than default, larger than about 2 = larger than default. For the alpha aesthetic, closer to 0 = more tranparent, closer to 1 = more opaque. As a reminder, in this case you are changing all of the points in the same way, so you will be setting those aesthetics to constant values. That means that you should specify the values outside of an aes call. This code could make these changes: ggplot(data = worldcup) + geom_point(mapping = aes(x = Time, y = Shots), size = 1, alpha = 0.5) To create a new column called top_four, first create vector that lists those top four teams, then create a logical vector in the dataframe for whether the team for that observation is in one of the top four teams: worldcup <- worldcup %>% mutate(top_4 = Team %in% c("Spain", "Germany", "Uruguay", "Netherlands")) head(worldcup) ## Team Position Time Shots Passes Tackles Saves Player top_4 ## 1 Algeria Midfielder 16 0 6 0 0 Abdoun FALSE ## 2 Japan Midfielder 351 0 101 14 0 Abe FALSE ## 3 France Defender 180 0 91 6 0 Abidal FALSE ## 4 France Midfielder 270 1 111 5 0 Abou Diaby FALSE ## 5 Cameroon Forward 46 2 16 0 0 Aboubakar FALSE ## 6 Uruguay Forward 72 0 15 0 0 Abreu TRUE summary(worldcup$top_4) ## Mode FALSE TRUE ## logical 517 78 To color points by this variable, use color = in the aes() part of the ggplot() call: ggplot(data = worldcup) + geom_point(mapping = aes(x = Time, y = Shots, color = top_4), size = 1, alpha = 0.5) To increase the data density, try out different themes for the plot. First, I’ll save everything we’ve done so far as the object shot_plot, then I’ll try adding different themes: shot_plot <- ggplot(data = worldcup) + geom_point(mapping = aes(x = Time, y = Shots, color = top_4), size = 1, alpha = 0.5) shot_plot + theme_few() shot_plot + theme_tufte() shot_plot + theme_wsj() shot_plot + theme_fivethirtyeight() shot_plot + theme_stata() shot_plot + theme_economist_white() The data density is increased with the theme_few() theme, so I’ll use that: ggplot(data = worldcup) + geom_point(mapping = aes(x = Time, y = Shots, color = top_4), size = 1, alpha = 0.5) + theme_few() To change the titles for some of the scales (the x-axis and color scale), you can use the labs() function. Note that you can use \\n to add a line break inside one of these titles (I’ve done that for the title for the color scale): ggplot(data = worldcup) + geom_point(mapping = aes(x = Time, y = Shots, color = top_4), size = 1, alpha = 0.5) + theme_few() + labs(x = "Time played in World Cup (minutes)", color = "Team's final\\nranking") As an extra note, if you want to create nicer labels for the legend for color, convert the top_four column into the factor class, with the labels you want to use in the figure legend: worldcup <- worldcup %>% mutate(top_4 = factor(top_4, levels = c(TRUE, FALSE), labels = c("Top 4", "Other"))) summary(worldcup$top_4) ## Top 4 Other ## 78 517 ggplot(data = worldcup) + geom_point(mapping = aes(x = Time, y = Shots, color = top_4), size = 1, alpha = 0.5) + theme_few() + labs(x = "Time played in World Cup (minutes)", color = "Team's final\\nranking") To add a reference line at 270 minutes of time, use the geom_vline() function. You’ll want to make it a light color (like light gray) and dashed or dotted (linetype of 2 or 3), so it won’t be too prominent on the graph: ggplot(data = worldcup) + geom_vline(xintercept = 270, color = "lightgray", linetype = 2) + geom_point(mapping = aes(x = Time, y = Shots, color = top_4), size = 1, alpha = 0.5) + theme_few() + labs(x = "Time played in World Cup (minutes)", color = "Team's final\\nranking") 4.10.3 Implementing plot guidelines #2 Highlighting interesting data: Who had the most shots in the 2010 World Cup? Was he on a top-four team? Use geom_text() to label his point on the graph with his name (try out some different values of hjust and vjust in this function call to get the label in a place you like). At this point, the plot should look something like this: For labeling the player with the top number of shots, instead of only using the player’s name, use the following format: “[Player’s name], [Player’s team]”. (Hint: You may want to use mutate to add a new column, where you used paste0 to paste together the player’s name, \", \", and the team name.) At this point, the plot should look something like this: Create small multiples. The relationship between time played and shots taken is probably different by the players’ positions. Use faceting to create different graphs for each position. At this point, the plot should look something like this: Make order meaningful: What order are the faceted graphs currently in? Offensive players have more chances to take shots than defensive players, so that might be a useful ordering for the facets. Re-order the Position factor column to go from nearest your own goal to nearest the opponents goal, and then re-plot the graph from the previous step. 4.10.3.1 Example R code To add a text label with just the player with the most shots, you’ll want to create a new dataframe with just the top player. You can use the top_n function to do that (the wt option is specifying that we want the top player in terms of values in the Shots column): top_player <- worldcup %>% top_n(n = 1, wt = Shots) Now you can use geom_text() to label this player’s point on the graph with his name. You may need to mess around with some of the options in geom_text(), like size, hjust, and vjust (hjust and vjust say where, in relation to the point location, to put the label), to get something you’re happy with. If you want to put both the player’s name and his team, you can add a mutate() function when you create the new dataframe with just the top player, and then use this for the label: To create small multiples, use the facet_wrap() command (you’ll probably want to use ncol to specify to use four columns): To re-order the Position column of the dataframe, add a mutate statement before you pipe into the plotting code. Use the levels option of the factor() function– whatever order you put the factors in for this argument will be the new order in which R saves the levels of this factor. Note from this code example that you can use the levels function to find out the levels and their order for a factor-class vector. worldcup <- worldcup %>% mutate(Position = factor(Position, levels = c("Goalkeeper", "Defender", "Midfielder", "Forward"))) levels(worldcup$Position) ## [1] "Goalkeeper" "Defender" "Midfielder" "Forward" 4.10.4 Data visualization cheatsheet RStudio comes with some excellent cheatsheets, which provide quick references to functions and code you might find useful for different tasks. For this part of the group exercise, you’ll explore their cheatsheet for data visualization, both to learn some new ggplot2 code and to become familiar with how to use this cheatsheet as you do your own analysis. Open the data visualization cheatsheet. You can do this from RStudio by going to “Help” -> “Cheatsheets” -> “Data Visualization with ggplot2”. Notice that different sections give examples with some datasets that come with either base R or ggplot2. For example, under the “Graphical Primitives” section, there is code defining the object a as a ggplot object using the “seals” dataset: a <- ggplot(seals, aes(x = long, y = lat)). Go through the cheatsheet and list all of the example datasets that are used in this cheatsheet. Open their helpfiles to learn more about the data. Create the example datasets a through l and s through t using the code given on the cheatsheet. Pick at least one example to try out from each of the following sections: “Graphical Primitives”, “One Variable”, at least three subsections of “Two Variables”, “Three Variables”, “Scales”, “Faceting”, and “Position Adjustments”. As you try these, try to figure out any aesthetics that you aren’t familiar with (e.g., ymin, ymax). Also, use helpfiles for the geoms to look up parameters you aren’t familiar with (e.g., stat for geom_area). If you can’t figure out how to interpret a plot, check the helpfile for the associated geom. Note: For the n geom used in “scales”, it should be defined as n <- d + geom_bar(aes(fill = fl)). 4.10.4.1 Example R code The code for opening the helpfiles for the example datasets is: ?seals ?economics ?mpg ?diamonds ?USArrests Note that, for USArrests, only some of the columns are pulled out (e.g., murder = USArrests$murder) to use in the data example dataframe. Further, the “Visualizing error” examples use a dataframe created specifically for these examples, called df. Some of the base R and ggplot2 example datasets have become fairly well-known. Some that you’ll see very often in examples are the iris, mpg, and diamonds datasets. All of the code to create the datasets a through l and s through t is given somewhere on the cheatsheet. Here it is in full: a <- ggplot(seals, aes(x = long, y = lat)) b <- ggplot(economics, aes(date, unemploy)) c <- ggplot(mpg, aes(hwy)) d <- ggplot(mpg, aes(fl)) e <- ggplot(mpg, aes(cty, hwy)) f <- ggplot(mpg, aes(class, hwy)) g <- ggplot(diamonds, aes(cut, color)) h <- ggplot(diamonds, aes(carat, price)) i <- ggplot(economics, aes(date, unemploy)) df <- data.frame(grp = c("A", "B"), fit = 4.5, se = 1:2) j <- ggplot(df, aes(grp, fit, ymin = fit - se, ymax = fit + se)) data <- data.frame(murder = USArrests$Murder, state = tolower(rownames(USArrests))) map <- map_data("state") k <- ggplot(data, aes(fill = murder)) seals$z <- with(seals, sqrt(delta_long^2 + delta_lat^2)) l <- ggplot(seals, aes(long, lat)) s <- ggplot(mpg, aes(fl, fill = drv)) t <- ggplot(mpg, aes(cty, hwy)) + geom_point() Notice that, in some places, the aesthetics are defined using the full aesthetic name-value pair (e.g., aes(x = long, y = lat)), while in other places the code relies on position for defining which column of a dataframe maps to which aesthetic (e.g., aes(cty, hwy) or aes(fl)). Either is fine, although relying on position can result in errors if you are not very familiar with the order in which parameters are defined for a function. This code will vary based on the examples you try, but here is some code for one set of examples: b + geom_ribbon(aes(ymin = unemploy - 900, ymax = unemploy + 900)) c + geom_dotplot() f + geom_violin(scale = "area") h + geom_hex() j + geom_pointrange() k + geom_map(aes(map_id = state), map = map) + expand_limits(x = map$long, y = map$lat) l + geom_contour(aes(z = z)) n <- d + geom_bar(aes(fill = fl)) n + scale_fill_brewer(palette = "Blues") o <- c + geom_dotplot(aes(fill = ..x..)) o + scale_fill_gradient(low = "red", high = "yellow") t + facet_grid(year ~ fl) s + geom_bar(position = "fill") "], -["reproducible-research-1.html", "Chapter 5 Reproducible research #1 5.1 What is reproducible research? 5.2 Markdown 5.3 Literate programming in R 5.4 Style guidelines 5.5 More with knitr 5.6 In-course exercise", " Chapter 5 Reproducible research #1 Download a pdf of the lecture slides covering this topic. 5.1 What is reproducible research? A data analysis is reproducible if all the information (data, files, etc.) required is available for someone else to re-do your entire analysis. This includes: Data available All code for cleaning raw data All code and software (specific versions, packages) for analysis Some advantages of making your research reproducible are: You can (easily) figure out what you did six months from now. You can (easily) make adjustments to code or data, even early in the process, and re-run all analysis. When you’re ready to publish, you can (easily) do a last double-check of your full analysis, from cleaning the raw data through generating figures and tables for the paper. You can pass along or share a project with others. You can give useful code examples to people who want to extend your research. Here is a famous research example of the dangers of writing code that is hard to double-check or confirm: The Economist The New York Times Simply Statistics Some of the steps required to making research reproducible are: All your raw data should be saved in the project directory. You should have clear documentation on the source of all this data. Scripts should be included with all the code used to clean this data into the data set(s) used for final analyses and to create any figures and tables. You should include details on the versions of any software used in analysis (for R, this includes the version of R as well as versions of all packages used). If possible, there should be no “by hand” steps used in the analysis; instead, all steps should be done using code saved in scripts. For example, you should use a script to clean data, rather than cleaning it by hand in Excel. If any “non-scriptable” steps are unavoidable, you should very clearly document those steps. There are several software tools that can help you improve the reproducibility of your research: knitr: Create files that include both your code and text. These can be rendered to create final reports and papers. They keep code within the final file for the report. knitr complements: Create fancier tables and figures within RMarkdown documents. Packages include tikzDevice, animate, xtables, and pander. packrat: Save versions of each package used for the analysis, then load those package versions when code is run again in the future. In this section, I will focus on using knitr and RMarkdown files. 5.2 Markdown R Markdown files are mostly written using Markdown. To write R Markdown files, you need to understand what markup languages like Markdown are and how they work. In Word and other word processing programs you have used, you can add formatting using buttons and keyboard shortcuts (e.g., “Ctrl-B” for bold). The file saves the words you type. It also saves the formatting, but you see the final output, rather than the formatting markup, when you edit the file (WYSIWYG – what you see is what you get). In markup languages, on the other hand, you markup the document directly to show what formatting the final version should have (e.g., you type **bold** in the file to end up with a document with bold). Examples of markup languages include: HTML (HyperText Markup Language) LaTex Markdown (a “lightweight” markup language) For example, Figure 5.1 some marked-up HTML code from CSU’s website, while Figure 5.2 shows how that file looks when it’s rendered by a web browser. Figure 5.1: Example of the source of an HTML file. Figure 5.2: Example of a rendered HTML file. To write a file in Markdown, you’ll need to learn the conventions for creating formatting. This table shows what you would need to write in a flat file for some common formatting choices: Code Rendering Explanation **text** text boldface *text* text italicized [text](www.google.com) text hyperlink # text first-level header ## text second-level header Some other simple things you can do in Markdown include: Lists (ordered or bulleted) Equations Tables Figures from file Block quotes Superscripts For more Markdown conventions, see RStudio’s R Markdown Reference Guide (link also available through “Help” in RStudio). 5.3 Literate programming in R Literate programming, an idea developed by Donald Knuth, mixes code that can be executed with regular text. The files you create can then be rendered, to run any embedded code. The final output will have results from your code and the regular text. The knitr package can be used for literate programming in R. In essence, knitr allows you to write an R Markdown file that can be rendered into a pdf, Word, or HTML document. Here are the basics of opening and rendering an R Markdown file in RStudio: To open a new R Markdown file, go to “File” -> “New File” -> “RMarkdown…” -> for now, chose a “Document” in “HTML” format. This will open a new R Markdown file in RStudio. The file extension for R Markdown files is “.Rmd”. The new file comes with some example code and text. You can run the file as-is to try out the example. You will ultimately delete this example code and text and replace it with your own. Once you “knit” the R Markdown file, R will render an HTML file with the output. This is automatically saved in the same directory where you saved your .Rmd file. Write everything besides R code using Markdown syntax. To include R code in an RMarkdown document, you need to separate off the code chunk using the following syntax: ```{r} my_vec <- 1:10 ``` This syntax tells R how to find the start and end of pieces of R code when the file is rendered. R will walk through, find each piece of R code, run it and create output (printed output or figures, for example), and then pass the file along to another program to complete rendering (e.g., Tex for pdf files). You can specify a name for each chunk, if you’d like, by including it after “r” when you begin your chunk. For example, to give the name load_nepali to a code chunk that loads the nepali dataset, specify that name in the start of the code chunk: ```{r load_nepali} library(faraway) data(nepali) ``` Here are a couple of tips for naming code chunks: Chunk names must be unique across a document. Any chunks you don’t name are given numbers by knitr. You do not have to name each chunk. However, there are some advantages: It will be easier to find any errors. You can use the chunk labels in referencing for figure labels. You can reference chunks later by name. You can add options when you start a chunk. Many of these options can be set as TRUE / FALSE and include: Option Action echo Print out the R code? eval Run the R code? messages Print out messages? warnings Print out warnings? include If FALSE, run code, but don’t print code or results Other chunk options take values other than TRUE / FALSE. Some you might want to include are: Option Action results How to print results (e.g., hide runs the code, but doesn’t print the results) fig.width Width to print your figure, in inches (e.g., fig.width = 4) fig.height Height to print your figure Add these options in the opening brackets and separate multiple ones with commas: ```{r messages = FALSE, echo = FALSE} nepali[1, 1:3] ``` I will cover other chunk options later, once you’ve gotten the chance to try writting R Markdown files. You can set “global” options at the beginning of the document. This will create new defaults for all of the chunks in the document. For example, if you want echo, warning, and message to be FALSE by default in all code chunks, you can run: ```{r global_options} knitr::opts_chunk$set(echo = FALSE, message = FALSE, warning = FALSE) ``` If you set both global and local chunk options that you set specifically for a chunk will take precedence over global options. For example, running a document with: ```{r global_options} knitr::opts_chunk$set(echo = FALSE, message = FALSE, warning = FALSE) ``` ```{r check_nepali, echo = TRUE} head(nepali, 1) ``` would print the code for the check_nepali chunk, because the option specified for that specific chunk (echo = TRUE) would override the global option (echo = FALSE). You can also include R output directly in your text (“inline”) using backticks: “There are `r nrow(nepali)` observations in the nepali data set. The average age is `r mean(nepali$age, na.rm = TRUE)` months.” Once the file is rendered, this gives: “There are 1000 observations in the nepali data set. The average age is 37.662 months.” Here are two tips that will help you diagnose some problems rendering R Markdown files: Be sure to save your R Markdown file before you run it. All the code in the file will run “from scratch”– as if you just opened a new R session. The code will run using, as a working directory, the directory where you saved the R Markdown file. You’ll want to try out pieces of your code as you write an R Markdown document. There are a few ways you can do that: You can run code in chunks just like you can run code from a script (Ctrl-Return or the “Run” button). You can run all the code in a chunk (or all the code in all chunks) using the different options under the “Run” button in RStudio. All the “Run” options have keyboard shortcuts, so you can use those. You can render R Markdown documents to other formats: Word Pdf (requires that you’ve installed “Tex” on your computer.) Slides (ioslides) Click the button to the right of “Knit” to see different options for rendering on your computer. You can freely post your RMarkdown documents at RPubs. If you want to post to RPubs, you need to create an account. Once you do, you can click the “Publish” button on the window that pops up with your rendered file. RPubs can also be a great place to look for interesting example code, although it sometimes can be pretty overwhelmed with MOOC homework. If you’d like to find out more, here are two good how-to books on reproducible research in R (the CSU library has both in hard copy): Reproducible Research with R and RStudio, Christopher Gandrud Dynamic Documents with R and knitr, Yihui Xie 5.4 Style guidelines R style guidelines provide rules for how to format code in an R script. Some people develop their own style as they learn to code. However, it is easy to get in the habit of following style guidelines, and they offer some important advantages: Clean code is easier to read and interpret later. It’s easier to catch and fix mistakes when code is clear. Others can more easily follow and adapt your code if it’s clean. Some style guidelines will help prevent possible problems (e.g., avoiding . in function names). For this course, we will use R style guidelines from two sources: Google’s R style guidelines Hadley Wickham’s R style guidelines These two sets of style guidelines are very similar. Hear are a few guidelines we’ve already covered in class: Use <-, not =, for assignment. Guidelines for naming objects: All lowercase letters or numbers Use underscore (_) to separate words, not camelCase or a dot (.) (this differs for Google and Wickham style guides) Have some consistent names to use for “throw-away” objects (e.g., df, ex, a, b) Make names meaningful Descriptive names for R scripts (“random_group_assignment.R”) Nouns for objects (todays_groups for an object with group assignments) Verbs for functions (make_groups for the function to assign groups) 5.4.1 Line length Google: Keep lines to 80 characters or less To set your script pane to be limited to 80 characters, go to “RStudio” -> “Preferences” -> “Code” -> “Display”, and set “Margin Column” to 80. # Do my_df <- data.frame(n = 1:3, letter = c("a", "b", "c"), cap_letter = c("A", "B", "C")) # Don't my_df <- data.frame(n = 1:3, letter = c("a", "b", "c"), cap_letter = c("A", "B", "C")) This guideline helps ensure that your code is formatted in a way that you can see all of the code without scrolling horizontally (left and right). 5.4.2 Spacing Binary operators (e.g., <-, +, -) should have a space on either side A comma should have a space after it, but not before. Colons should not have a space on either side. Put spaces before and after = when assigning parameter arguments # Do shots_per_min <- worldcup$Shots / worldcup$Time #Don't shots_per_min<-worldcup$Shots/worldcup$Time #Do ave_time <- mean(worldcup[1:10 , "Time"]) #Don't ave_time<-mean(worldcup[1 : 10 ,"Time"]) 5.4.3 Semicolons Although you can use a semicolon to put two lines of code on the same line, you should avoid it. # Do a <- 1:10 b <- 3 # Don't a <- 1:10; b <- 3 5.4.4 Commenting For a comment on its own line, use #. Follow with a space, then the comment. You can put a short comment at the end of a line of R code. In this case, put two spaces after the end of the code, one #, and one more space before the comment. If it helps make it easier to read your code, separate sections using a comment character followed by many hyphens (e.g., #------------). Anything after the comment character is “muted”. # Read in health data --------------------------- # Clean exposure data --------------------------- 5.4.5 Indentation Google: Within function calls, line up new lines with first letter after opening parenthesis for parameters to function calls: Example: # Relabel sex variable nepali$sex <- factor(nepali$sex, levels = c(1, 2), labels = c("Male", "Female")) 5.4.6 Code grouping Group related pieces of code together. Separate blocks of code by empty spaces. # Load data library(faraway) data(nepali) # Relabel sex variable nepali$sex <- factor(nepali$sex, levels = c(1, 2), labels = c("Male", "Female")) Note that this grouping often happens naturally when using tidyverse functions, since they encourage piping (%>% and +). 5.4.7 Broader guidelines Omit needless code. Don’t repeat yourself. We’ll learn more about satisfying these guidelines when we talk about writing your own functions in the next part of the class. 5.5 More with knitr 5.5.1 Equations in knitr You can write equations in RMarkdown documents by setting them apart with dollar signs ($). For an equation on a line by itself (display equation), you two $s before and after the equation, on separate lines, then use LaTex syntax for writing the equations. To help with this, you may want to use this LaTex math cheat sheet.. You may also find an online LaTex equation editor like Codecogs.com helpful. Note: Equations denoted this way will always compile for pdf documents, but won’t always come through on Markdown files (for example, GitHub won’t compile math equations). For example, writing this in your R Markdown file: $$ E(Y_{t}) \\sim \\beta_{0} + \\beta_{1}X_{1} $$ will result in this rendered equation: \\[ E(Y_{t}) \\sim \\beta_{0} + \\beta_{1}X_{1} \\] To put math within a sentence (inline equation), just use one $ on either side of the math. For example, writing this in a R Markdown file: "We are trying to model $E(Y_{t})$." The rendered document will show up as: “We are trying to model \\(E(Y_{t})\\).” 5.5.2 Figures from file You can include not only figures that you create with R, but also figures that you have saved on your computer. The best way to do that is with the include_graphics function in knitr: library(knitr) include_graphics("figures/CSU_ram.png") This example would include a figure with the filename “MyFigure.png” that is saved in the “figures” sub-directory of the parent directory of the directory where your .Rmd is saved. Don’t forget that you will need to give an absolute pathway or the relative pathway from the directory where the .Rmd file is saved. 5.5.3 Saving graphics files You can save figures that you create in R. Typically, you won’t need to save figures for an R Markdown file, since you can include figure code directly. However, you will sometimes want to save a figure from a script. You have two options: Use the “Export” choice in RStudio Write code to export the figure in your R script To make your research more reproducible, use the second choice. To use code export a figure you created in R, take three steps: Open a graphics device (e.g., pdf(\"MyFile.pdf\")). Write the code to print your plot. Close the graphics device using dev.off(). For example, the following code would save a scatterplot of time versus passes as a pdf named “MyFigure” in the “figures” subdirectory of the current working directory: pdf("figures/MyFigure.pdf", width = 8, height = 6) ggplot(worldcup, aes(x = Time, y = Passes)) + geom_point(aes(color = Position)) + theme_bw() dev.off() If you create multiple plots before you close the device, they’ll all save to different pages of the same pdf file. You can open a number of different graphics devices. Here are some of the functions you can use to open graphics devices: pdf png bmp jpeg tiff svg You will use a device-specific function to open a graphics device (e.g., pdf). However, you will always close these devices with dev.off. Most of the functions to open graphics devices include parameters like height and width. These can be used to specify the size of the output figure. The units for these depend on the device (e.g., inches for pdf, pixels by default for png). Use the helpfile for the function to determine these details. 5.5.4 Tables in R Markdown If you want to create a nice, formatted table from an R dataframe, you can do that using kable from the knitr package. my_df <- data.frame(letters = c("a", "b", "c"), numbers = 1:3) kable(my_df) letters numbers a 1 b 2 c 3 There are a few options for the kable function: arg expl colnames Column names (default: column name in the dataframe) align A vector giving the alignment for each column (‘l’, ‘c’, ‘r’) caption Table caption digits Number of digits to round to. If you want to round columns different amounts, use a vector with one element for each column. my.df <- data.frame(letters = c("a", "b", "c"), numbers = rnorm(3)) kable(my.df, digits = 2, align = c("r", "c"), caption = "My new table", col.names = c("First 3 letters", "First 3 numbers")) Table 5.1: My new table First 3 letters First 3 numbers a 1.24 b 0.82 c 1.34 From Yihui: “Want more features? No, that is all I have. You should turn to other packages for help. I’m not going to reinvent their wheels.” If you want to do fancier tables, you may want to explore the xtable and pander packages. As a note, these might both be more effective when compiling to pdf, rather than html. 5.6 In-course exercise For all of today’s tasks, you’ll use the code from last week’s in-course exercise to do the exercises. This week we are not focusing on writing new code, but rather on how to take R code and put it in an R Markdown file, so we can create reports from files that include the original code. 5.6.1 Creating a Markdown document First, you’ll create a Markdown document, without any R code in it yet. In RStudio, go to “File” -> “New File” -> “R Markdown”. From the window that brings up, choose “Document” on the left-hand column and “HTML” as the output format. A new file will open in the script pane of your RStudio session. Save this file (you may pick the name and directory). The file extension should be “.Rmd”. First, before you try to write your own Markdown, try rendering the example that the script includes by default. (This code is always included, as a template, when you first open a new RMarkdown file using the RStudio “New file” interface we used in this example.) Try rendering this default R Markdown example by clicking the “Knit” button at the top of the script file. For some of you, you may not yet have everything you need on your computer to be able to get this to work. If so, let me know. RStudio usually includes all the necessary tools when you install it, but there may be some exceptions. If you could get the document to knit, do the following tasks: Look through the HTML document that was created. Compare it to the R Markdown script that created it, and see if you can understand, at least broadly, what’s going on. Look in the directory where you saved the R Markdown file. You should now also see a new, .html file in that folder. Try opening it with a web browser like Safari. Go back to the R Markdown file. Delete everything after the initial header information (everything after the 6th line). In the header information, make sure the title, author, and date are things you’re happy with. If not, change them. Using Markdown syntax, write up a description of the data (worldcup) we used last week to create the fancier figure. Try to include the following elements: Bold and italic text Hyperlinks A list, either ordered or bulleted Headers 5.6.2 Adding in R code Now incorporate the R code from previous weeks’ exercises into your document. Once you get the document to render with some basic pieces of code in it, try the following: Try some different chunk options. For example, try setting echo = FALSE in some of your code chunks. Similarly, try using the options results = \"hide\" and include = FALSE. You should have at least one code chunk that generates figures. Try experimenting with the fig.width and fig.height options for the chunk to change the size of the figure. Try using the global commands. See if you can switch the echo default value for this document from TRUE (the usual default) to FALSE. 5.6.3 Working with R Markdown documents Finally, try the following tasks to get some experience working with R Markdown files in RStudio: Go to one of your code chunks. Locate the small gray arrow just to the left of the line where you initiate the code chunk. Click on it and see what happens. Then click on it again. Put your cursor inside one of your code chunks. Try using the “Run” button (or Ctrl-Return) to run code in that chunk at your R console. Did it work? Pick a code chunk in your document. Put your cursor somewhere in the code in that chunk. Click on the “Run” button and choose “Run All Chunks Above”. What did that do? If it did not work, what do you think might be going on? (Hint: Check getwd() and think about which directory you’ve used to save your R Markdown file.) Pick another chunk of code. Put the cursor somewhere in the code for that chunk. Click on the “Run” button and choose “Run Current Chunk”. Then try “Run Next Chunk”. Try to figure out all the options the “Run” button gives you and when each might be useful. Click on the small gray arrow to the right of the “Knit HTML” button. If the option is offered, select “Knit Word” and try it. What does this do? 5.6.4 R style guidelines Go through all the R code in your R Markdown file. Are there are places where your code is not following style conventions for R? Clean up your code to correct any of these issues. "], -["entering-and-cleaning-data-2.html", "Chapter 6 Entering and cleaning data #2 6.1 Joining datasets 6.2 Tidy data 6.3 Longer data 6.4 Working with factors 6.5 String operations and regular expressions 6.6 Tidy select 6.7 In-course exercise", " Chapter 6 Entering and cleaning data #2 Download a pdf of the lecture slides covering this topic. 6.1 Joining datasets So far, you have only worked with a single data source at a time. When you work on your own projects, however, you typically will need to merge together two or more datasets to create the a data frame to answer your research question. For example, for air pollution epidemiology, you will often have to join several datasets: Health outcome data (e.g., number of deaths per day) Air pollution concentrations Weather measurements (since weather can be a confounder) Demographic data The dplyr package has a family of different functions to join two dataframes together, the *_join family of functions. All combine two dataframes, which I’ll call x and y here. The functions include: inner_join(x, y): Keep only rows where there are observations in both x and y. left_join(x, y): Keep all rows from x, whether they have a match in y or not. right_join(x, y): Keep all rows from y, whether they have a match in x or not. full_join(x, y): Keep all rows from both x and y, whether they have a match in the other dataset or not. In the examples, I’ll use two datasets, x and y. Both datasets include the column course. The other column in x is grade, while the other column in y is day. Observations exist for courses x and y in both datasets, but for w and z in only one dataset. x <- data.frame(course = c("x", "y", "z"), grade = c(90, 82, 78)) y <- data.frame(course = c("w", "x", "y"), day = c("Tues", "Mon / Fri", "Tue")) Here is what these two example datasets look like: x ## course grade ## 1 x 90 ## 2 y 82 ## 3 z 78 y ## course day ## 1 w Tues ## 2 x Mon / Fri ## 3 y Tue With inner_join, you’ll only get the observations that show up in both datasets. That means you’ll lose data on z (only in the first dataset) and w (only in the second dataset). inner_join(x, y) ## Joining, by = "course" ## course grade day ## 1 x 90 Mon / Fri ## 2 y 82 Tue With left_join, you’ll keep everything in x (the “left” dataset), but not keep things in y that don’t match something in x. That means that, here, you’ll lose w: left_join(x, y) ## Joining, by = "course" ## course grade day ## 1 x 90 Mon / Fri ## 2 y 82 Tue ## 3 z 78 <NA> right_join is the opposite: right_join(x, y) ## Joining, by = "course" ## course grade day ## 1 x 90 Mon / Fri ## 2 y 82 Tue ## 3 w NA Tues full_join keeps everything from both datasets: full_join(x, y) ## Joining, by = "course" ## course grade day ## 1 x 90 Mon / Fri ## 2 y 82 Tue ## 3 z 78 <NA> ## 4 w NA Tues 6.2 Tidy data All of the material in this section comes directly from Hadley Wickham’s paper on tidy data. You will need to read this paper to prepare for the quiz on this section. Getting your data into a “tidy” format makes it easier to model and plot. By taking the time to tidy your data at the start of an analysis, you will save yourself time, and make it easier to plan out later steps. Characteristics of tidy data are: Each variable forms a column. Each observation forms a row. Each type of observational unit forms a table. Here are five common problems that Hadley Wickham has identified that keep data from being tidy: Column headers are values, not variable names. Multiple variables are stored in one column. Variables are stored in both rows and columns. Multiple types of observational units are stored in the same table. A single observational unit is stored in multiple tables. Here are examples (again, from Hadley Wickham’s paper on tidy data, which is required reading for this week of the course) of each of these problems. Column headers are values, not variable names. Solution: Multiple variables are stored in one column. Solution: Variables are stored in both rows and columns. Solution: Multiple types of observational units are stored in the same table. Solution: A single observational unit is stored in multiple tables. Example: exposure and outcome data stored in different files: File 1: Daily mortality counts File 2: Daily air pollution measurements 6.3 Longer data There are two functions from the tidyr package (another member of the tidyverse) that you can use to change between wider and longr data: pivot_longer and pivot_wider. Here is a description of these two functions: pivot_longer: Takes several columns and pivots them down into two columns. One of the new columns contains the former column names and the other contains the former cell values. pivot_wider: Takes two columns and pivots them up into multiple columns. Column names for the new columns will come from one column and the cell values from the other. The following examples are show the effects of making a dataset longer or wider. Here is some simulated wide data: wide_stocks[1:3, ] ## # A tibble: 3 x 4 ## time X Y Z ## <date> <dbl> <dbl> <dbl> ## 1 2009-01-01 -0.567 -0.282 2.74 ## 2 2009-01-02 -1.47 0.864 5.96 ## 3 2009-01-03 -0.587 1.13 -1.39 In the wide_stocks dataset, there are separate columns for three different stocks (X, Y, and Z). Each cell gives the value for a certain stock on a certain day. This data isn’t “tidy”, because the identify of the stock (X, Y, or Z) is a variable, and you’ll probably want to include it as a variable in modeling. wide_stocks[1:3, ] ## # A tibble: 3 x 4 ## time X Y Z ## <date> <dbl> <dbl> <dbl> ## 1 2009-01-01 -0.567 -0.282 2.74 ## 2 2009-01-02 -1.47 0.864 5.96 ## 3 2009-01-03 -0.587 1.13 -1.39 If you want to convert the dataframe to have all stock values in a single column, you can use pivot_longer to convert wide data to long data: long_stocks <- pivot_longer(data = wide_stocks, cols = -time, names_to = "stock", values_to = "price") long_stocks[1:5, ] ## # A tibble: 5 x 3 ## time stock price ## <date> <chr> <dbl> ## 1 2009-01-01 X -0.567 ## 2 2009-01-01 Y -0.282 ## 3 2009-01-01 Z 2.74 ## 4 2009-01-02 X -1.47 ## 5 2009-01-02 Y 0.864 In this “longer” dataframe, there is now one column that gives the identify of the stock (stock) and another column that gives the price of that stock that day (price): long_stocks[1:5, ] ## # A tibble: 5 x 3 ## time stock price ## <date> <chr> <dbl> ## 1 2009-01-01 X -0.567 ## 2 2009-01-01 Y -0.282 ## 3 2009-01-01 Z 2.74 ## 4 2009-01-02 X -1.47 ## 5 2009-01-02 Y 0.864 The format for a pivots_longer call is: ## Generic code new_df <- pivot_longer(old_df, cols = [name(s) of the columns you want to make longer], names_to = [name of new column to store the old column names], values_to = [name of new column to store the old values]) Three important notes: Everything is pivoted into one of two columns – one column with the old column names, and one column with the old cell values With the names_to and values_to arguments, you are just providing column names for the two columns that everything’s pivoted into. If there is a column you don’t want to include in the pivot (date in the example), use - to exclude it in the cols argument. Notice how easy it is, now that the data is longer, to use stock for aesthetics of faceting in a ggplot2 call: ggplot(long_stocks, aes(x = time, y = price)) + geom_line() + facet_grid(. ~ stock) + theme_bw() If you have data in a “longer” format and would like to make it “wider”, you can use pivot_wider to do that: stocks <- pivot_wider(long_stocks, names_from = "stock", values_from = price) stocks[1:5, ] ## # A tibble: 5 x 4 ## time X Y Z ## <date> <dbl> <dbl> <dbl> ## 1 2009-01-01 -0.567 -0.282 2.74 ## 2 2009-01-02 -1.47 0.864 5.96 ## 3 2009-01-03 -0.587 1.13 -1.39 ## 4 2009-01-04 -0.735 -0.0693 2.62 ## 5 2009-01-05 -1.01 -2.62 2.45 Notice that this reverses the action of pivot_longer. The “wider” your data the less likely it is to be tidy, so won’t use pivot_wider frequently when you are preparing data for analysis. However, pivot_wider can be very helpful in creating tables for final reports and presentations. For example, if you wanted to create a table with means and standard deviations for each of the three stocks, you could use pivot_wider to rearrange the final summary to create an attractive table. stock_summary <- long_stocks %>% group_by(stock) %>% summarize(N = n(), mean = mean(price), sd = sd(price)) ## `summarise()` ungrouping output (override with `.groups` argument) stock_summary ## # A tibble: 3 x 4 ## stock N mean sd ## <chr> <int> <dbl> <dbl> ## 1 X 10 -0.729 0.937 ## 2 Y 10 0.00731 1.86 ## 3 Z 10 1.36 3.94 stock_summary %>% mutate("Mean (Std.dev.)" = paste0(round(mean, 2), " (", round(sd, 2), ")")) %>% dplyr::select(- mean, - sd) %>% mutate(N = as.character(N)) %>% # might be able to deal with this in pivot_longer call pivot_longer(cols = -stock, names_to = "Statistic", values_to = "Value") %>% pivot_wider(names_from = "stock", values_from = "Value") %>% knitr::kable() Statistic X Y Z N 10 10 10 Mean (Std.dev.) -0.73 (0.94) 0.01 (1.86) 1.36 (3.94) 6.4 Working with factors Hadley Wickham has developed a package called forcats that helps you work with categorical variables (factors). I’ll show some examples of its functions using the worldcup dataset: library(forcats) library(faraway) data(worldcup) The fct_recode function can be used to change the labels of a function (along the lines of using factor with levels and labels to reset factor labels). One big advantage is that fct_recode lets you change labels for some, but not all, levels. For example, here are the team names: library(stringr) worldcup %>% filter(str_detect(Team, "^US")) %>% slice(1:3) %>% select(Team, Position, Time) ## Team Position Time ## Beasley USA Midfielder 10 ## Bocanegra USA Defender 390 ## Bornstein USA Defender 200 If you just want to change “USA” to “United States,” you can run: worldcup <- worldcup %>% mutate(Team = fct_recode(Team, `United States` = "USA")) worldcup %>% filter(str_detect(Team, "^Un")) %>% slice(1:3) %>% select(Team, Position, Time) ## Team Position Time ## 1 United States Midfielder 10 ## 2 United States Defender 390 ## 3 United States Defender 200 You can use the fct_lump function to lump uncommon factors into an “Other” category. For example, to lump the two least common positions together, you can run (n specifies how many categories to keep outside of “Other”): worldcup %>% dplyr::mutate(Position = forcats::fct_lump(Position, n = 2)) %>% dplyr::count(Position) ## Position n ## 1 Defender 188 ## 2 Midfielder 228 ## 3 Other 179 You can use the fct_infreq function to reorder the levels of a factor from most common to least common: levels(worldcup$Position) ## [1] "Defender" "Forward" "Goalkeeper" "Midfielder" worldcup <- worldcup %>% mutate(Position = fct_infreq(Position)) levels(worldcup$Position) ## [1] "Midfielder" "Defender" "Forward" "Goalkeeper" If you want to reorder one factor by another variable (ascending order), you can use fct_reorder (e.g., homework 3). For example, to relevel Position by the average shots on goals for each position, you can run: levels(worldcup$Position) ## [1] "Midfielder" "Defender" "Forward" "Goalkeeper" worldcup <- worldcup %>% group_by(Position) %>% mutate(ave_shots = mean(Shots)) %>% ungroup() %>% mutate(Position = fct_reorder(Position, ave_shots)) levels(worldcup$Position) ## [1] "Goalkeeper" "Defender" "Midfielder" "Forward" 6.5 String operations and regular expressions For these examples, we’ll use some data on passengers of the Titanic. You can load this data using: # install.packages("titanic") library(titanic) data("titanic_train") We will be using the stringr package: library(stringr) This data includes a column called “Name” with passenger names. This column is somewhat messy and includes several elements that we might want to separate (last name, first name, title). Here are the first few values of “Name”: titanic_train %>% select(Name) %>% slice(1:3) ## Name ## 1 Braund, Mr. Owen Harris ## 2 Cumings, Mrs. John Bradley (Florence Briggs Thayer) ## 3 Heikkinen, Miss. Laina We’ve already done some things to manipulate strings. For example, if we wanted to separate “Name” into last name and first name (including title), we could actually do that with the separate function: titanic_train %>% select(Name) %>% slice(1:3) %>% separate(Name, c("last_name", "first_name"), sep = ", ") ## last_name first_name ## 1 Braund Mr. Owen Harris ## 2 Cumings Mrs. John Bradley (Florence Briggs Thayer) ## 3 Heikkinen Miss. Laina Notice that separate is looking for a regular pattern (“,”) and then doing something based on the location of that pattern in each string (splitting the string). There are a variety of functions in R that can perform manipulations based on finding regular patterns in character strings. The str_detect function will look through each element of a character vector for a designated pattern. If the pattern is there, it will return TRUE, and otherwise FALSE. The convention is: ## Generic code str_detect(string = [vector you want to check], pattern = [pattern you want to check for]) For example, to create a logical vector specifying which of the Titanic passenger names include “Mrs.”, you can call: mrs <- str_detect(titanic_train$Name, "Mrs.") head(mrs) ## [1] FALSE TRUE FALSE TRUE FALSE FALSE The result is a logical vector, so str_detect can be used in filter to subset data to only rows where the passenger’s name includes “Mrs.”: titanic_train %>% filter(str_detect(Name, "Mrs.")) %>% select(Name) %>% slice(1:3) ## Name ## 1 Cumings, Mrs. John Bradley (Florence Briggs Thayer) ## 2 Futrelle, Mrs. Jacques Heath (Lily May Peel) ## 3 Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg) There is an older, base R function called grepl that does something very similar (although note that the order of the arguments is reversed). titanic_train %>% filter(grepl("Mrs.", Name)) %>% select(Name) %>% slice(1:3) ## Name ## 1 Cumings, Mrs. John Bradley (Florence Briggs Thayer) ## 2 Futrelle, Mrs. Jacques Heath (Lily May Peel) ## 3 Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg) The str_extract function can be used to extract a string (if it exists) from each value in a character vector. It follows similar conventions to str_detect: ## Generic code str_extract(string = [vector you want to check], pattern = [pattern you want to check for]) For example, you might want to extract “Mrs.” if it exists in a passenger’s name: titanic_train %>% mutate(mrs = str_extract(Name, "Mrs.")) %>% select(Name, mrs) %>% slice(1:3) ## Name mrs ## 1 Braund, Mr. Owen Harris <NA> ## 2 Cumings, Mrs. John Bradley (Florence Briggs Thayer) Mrs. ## 3 Heikkinen, Miss. Laina <NA> Notice that now we’re creating a new column (mrs) that either has “Mrs.” (if there’s a match) or is missing (NA) if there’s not a match. For this first example, we were looking for an exact string (“Mrs”). However, you can use patterns that match a particular pattern, but not an exact string. For example, we could expand the regular expression to find “Mr.” or “Mrs.”: titanic_train %>% mutate(title = str_extract(Name, "Mr\\\\.|Mrs\\\\.")) %>% select(Name, title) %>% slice(1:3) ## Name title ## 1 Braund, Mr. Owen Harris Mr. ## 2 Cumings, Mrs. John Bradley (Florence Briggs Thayer) Mrs. ## 3 Heikkinen, Miss. Laina <NA> Note that this pattern uses a special operator (|) to find one pattern or another. Double backslashes (\\\\) escape the special character “.”. As a note, in regular expressions, all of the following characters are special characters that need to be escaped with backslashes if you want to use them literally: . * + ^ ? $ \\ | ( ) [ ] { } Notice that “Mr.” and “Mrs.” both start with “Mr”, end with “.”, and may or may not have an “s” in between. titanic_train %>% mutate(title = str_extract(Name, "Mr(s)*\\\\.")) %>% select(Name, title) %>% slice(1:3) ## Name title ## 1 Braund, Mr. Owen Harris Mr. ## 2 Cumings, Mrs. John Bradley (Florence Briggs Thayer) Mrs. ## 3 Heikkinen, Miss. Laina <NA> This pattern uses (s)* to match zero or more “s”s at this spot in the pattern. In the previous code, we found “Mr.” and “Mrs.”, but missed “Miss.”. We could tweak the pattern again to try to capture that, as well. For all three, we have the pattern that it starts with “M”, has some lowercase letters, and then ends with “.”. titanic_train %>% mutate(title = str_extract(Name, "M[a-z]+\\\\.")) %>% select(Name, title) %>% slice(1:3) ## Name title ## 1 Braund, Mr. Owen Harris Mr. ## 2 Cumings, Mrs. John Bradley (Florence Briggs Thayer) Mrs. ## 3 Heikkinen, Miss. Laina Miss. The last pattern used [a-z]+ to match one or more lowercase letters. The [a-z]is a character class. You can also match digits ([0-9]), uppercase letters ([A-Z]), just some letters ([aeiou]), etc. You can negate a character class by starting it with ^. For example, [^0-9] will match anything that isn’t a digit. Sometimes, you want to match a pattern, but then only subset a part of it. For example, each passenger seems to have a title (“Mr.”, “Mrs.”, etc.) that comes after “,” and before “.”. We can use this pattern to find the title, but then we get some extra stuff with the match: titanic_train %>% mutate(title = str_extract(Name, ",\\\\s[A-Za-z]*\\\\.\\\\s")) %>% select(title) %>% slice(1:3) ## title ## 1 , Mr. ## 2 , Mrs. ## 3 , Miss. As a note, in this pattern, \\\\s is used to match a space. We are getting things like “, Mr. ”, when we really want “Mr”. We can use the str_match function to do this. We group what we want to extract from the pattern in parentheses, and then the function returns a matrix. The first column is the full pattern match, and each following column gives just what matches within the groups. head(str_match(titanic_train$Name, pattern = ",\\\\s([A-Za-z]*)\\\\.\\\\s")) ## [,1] [,2] ## [1,] ", Mr. " "Mr" ## [2,] ", Mrs. " "Mrs" ## [3,] ", Miss. " "Miss" ## [4,] ", Mrs. " "Mrs" ## [5,] ", Mr. " "Mr" ## [6,] ", Mr. " "Mr" To get just the title, then, we can run: titanic_train %>% mutate(title = str_match(Name, ",\\\\s([A-Za-z]*)\\\\.\\\\s")[ , 2]) %>% select(Name, title) %>% slice(1:3) ## Name title ## 1 Braund, Mr. Owen Harris Mr ## 2 Cumings, Mrs. John Bradley (Florence Briggs Thayer) Mrs ## 3 Heikkinen, Miss. Laina Miss The [ , 2] pulls out just the second column from the matrix returned by str_match. Here are some of the most common titles: titanic_train %>% mutate(title = str_match(Name, ",\\\\s([A-Za-z]*)\\\\.\\\\s")[ , 2]) %>% group_by(title) %>% summarize(n = n()) %>% arrange(desc(n)) %>% slice(1:5) ## `summarise()` ungrouping output (override with `.groups` argument) ## # A tibble: 5 x 2 ## title n ## <chr> <int> ## 1 Mr 517 ## 2 Miss 182 ## 3 Mrs 125 ## 4 Master 40 ## 5 Dr 7 Here are a few other examples of regular expressions in action with this dataset. Get just names that start with (“^”) the letter “A”: titanic_train %>% filter(str_detect(Name, "^A")) %>% select(Name) %>% slice(1:3) ## Name ## 1 Allen, Mr. William Henry ## 2 Andersson, Mr. Anders Johan ## 3 Asplund, Mrs. Carl Oscar (Selma Augusta Emilia Johansson) Get names with “II” or “III” ({2,} says to match at least two times): titanic_train %>% filter(str_detect(Name, "I{2,}")) %>% select(Name) %>% slice(1:3) ## Name ## 1 Carter, Master. William Thornton II ## 2 Roebling, Mr. Washington Augustus II Get names with “Andersen” or “Anderson” (alternatives in square brackets): titanic_train %>% filter(str_detect(Name, "Anders[eo]n")) %>% select(Name) ## Name ## 1 Andersen-Jensen, Miss. Carla Christine Nielsine ## 2 Anderson, Mr. Harry ## 3 Walker, Mr. William Anderson ## 4 Olsvigen, Mr. Thor Anderson ## 5 Soholt, Mr. Peter Andreas Lauritz Andersen Get names that start with (“^” outside of brackets) the letters “A” and “B”: titanic_train %>% filter(str_detect(Name, "^[AB]")) %>% select(Name) %>% slice(1:3) ## Name ## 1 Braund, Mr. Owen Harris ## 2 Allen, Mr. William Henry ## 3 Bonnell, Miss. Elizabeth Get names that end with (“$”) the letter “b” (either lowercase or uppercase): titanic_train %>% filter(str_detect(Name, "[bB]$")) %>% select(Name) ## Name ## 1 Emir, Mr. Farred Chehab ## 2 Goldschmidt, Mr. George B ## 3 Cook, Mr. Jacob ## 4 Pasic, Mr. Jakob Some useful regular expression operators include: Operator Meaning . Any character * Match 0 or more times (greedy) *? Match 0 or more times (non-greedy) + Match 1 or more times (greedy) +? Match 1 or more times (non-greedy) ^ Starts with (in brackets, negates) $ Ends with […] Character classes For more on these patterns, see: Help file for the stringi-search-regex function in the stringi package (which should install when you install stringr) Chapter 14 of R For Data Science http://gskinner.com/RegExr: Interactive tool for helping you build regular expression pattern strings 6.6 Tidy select There are tidyverse functions to make selecting variables more straightforwards. You can call these functions as arguments of the select function to streamline variable selection. Examples include: starts_with(), ends_with(), and contains(). Here we use starts_with(\"t\") to select all variables that begin with t. titanic_train %>% select(starts_with("t")) %>% slice(1:3) ## Ticket ## 1 A/5 21171 ## 2 PC 17599 ## 3 STON/O2. 3101282 The are also tidyverse functions that allow us to easily operate on a selection of variables. These functions are called scoped varients. You can identify these functions by these _all, _at, and _if suffixes. Here we use select_if to select all the numeric variables in a dataframe and covert their names to lower case (a handy function to tidy the variable names). titanic_train %>% select_if(is.numeric, tolower) %>% slice(1:3) ## passengerid survived pclass age sibsp parch fare ## 1 1 0 3 22 1 0 7.2500 ## 2 2 1 1 38 1 0 71.2833 ## 3 3 1 3 26 0 0 7.9250 The select_if function takes the following form. ## Generic code new_df <- select_if(old_df, .predicate [selects the variable to keep], .funs = [the function to apply to the selected columns]) Here we use select_at to select all the variables that contain ss in their name and then covert their names to lower case (a handy function to tidy the variable names). titanic_train %>% select_at(vars(contains("ss")), tolower) %>% slice(1:3) ## passengerid pclass ## 1 1 3 ## 2 2 1 ## 3 3 3 6.7 In-course exercise For today’s exercise, we’ll be using the following three datasets (click on the file name to access the correct file for today’s class for each dataset): File name Description country_timeseries.csv Ebola cases by country for the 2014 outbreak mexico_exposure.csv and mexico_deaths.csv Daily death counts and environmental measurements for Mexico City, Mexico, for 2008 measles_data/ Number of cases of measles in CA since end of Dec. 2014 Note that you likely have already downloaded all the files in the measles_data folder, since we used them in an earlier in-course exercise. If so, there is no need to re-download those files. Here are the sources for this data: country_timeseries.csv : Caitlin Rivers’ Ebola repository (Caitlin originally collected this data from the WHO and WHO Situation reports) mexico_exposure.csv and mexico_deaths.csv : one of Hadley Wickham’s GitHub repos (Hadley got the data originally from the Secretaria de Salud of Mexico’s website, although it appears the link is now broken. I separated the data into two dataframes so students could practice merging.) measles_data/: one of scarpino’s GitHub repos (Data originally from pdfs from the California Department of Public Health) If you want to use these data further, you should go back and pull them from their original sources. They are here only for use in R code examples for this course. Here are some of the packages you will need for this exercise: library(dplyr) library(gridExtra) library(ggthemes) 6.7.1 Designing tidy data Check out the country_timeseries.csv file on Ebola for this week’s example data. Talk with your partner and decide what changes you would need to make to this dataset to turn it into a “tidy” dataset, in particular which of the five common “untidy” problems the data currently has and why. Do the same for the data on daily mortality and daily weather in Mexico. Do the same for the set of files with measles data. 6.7.2 Easier data wrangling Use read_csv to read the Mexico data (exposure and mortality) directly from GitHub into your R session. Call the dataframes mex_deaths and mex_exp. Are there any values of the day column in mex_deaths that is not present in the day column of mex_exp? How about vice-versa? (Hint: There are a few ways you could check this. One is to try filtering down to just rows in one dataframe where the day values are not present in the day values from the other dataframe. The %in% logical vector may be useful.) Merge the two datasets together to create the dataframe mexico. Exclude all columns except the outcome (deaths), day, and mean temperature. Convert the day to a Date class. If you did not already, try combining all the steps in the previous task into one “chained” pipeline of code using the pipe operator, %>%. Use this new dataframe to plot deaths by date in Mexico using ggplot2. The final plot should look like this: 6.7.2.1 Example R code Use read_csv to read the mexico data (exposure and mortality) directly from GitHub into your R session. Call the dataframes mex_deaths and mex_exp: deaths_url <- paste0("https://github.com/geanders/RProgrammingForResearch/", "raw/master/data/mexico_deaths.csv") mex_deaths <- read_csv(deaths_url) head(mex_deaths) ## # A tibble: 6 x 2 ## day deaths ## <chr> <dbl> ## 1 1/1/08 296 ## 2 1/2/08 274 ## 3 1/3/08 339 ## 4 1/4/08 300 ## 5 1/5/08 327 ## 6 1/6/08 332 exposure_url <- paste0("https://github.com/geanders/RProgrammingForResearch/", "raw/master/data/mexico_exposure.csv") mex_exp <- read_csv(exposure_url) head(mex_exp) ## # A tibble: 6 x 14 ## day temp_min temp_max temp_mean humidity wind NO NO2 NOX O3 ## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 1/1/… 7.8 17.8 11.8 53.5 2.66 0.00925 0.0187 0.0278 NA ## 2 1/2/… 2.6 9.8 6.64 61.7 3.35 0.00542 0.0187 0.0241 0.0201 ## 3 1/3/… 1.1 15.6 7.04 59.9 1.89 0.0160 0.0381 0.0540 0.0184 ## 4 1/4/… 3.1 20.6 10.9 57.5 1.20 0.0408 0.0584 0.0993 0.0215 ## 5 1/5/… 6 21.3 13.4 45.7 0.988 0.0469 0.0602 0.107 0.0239 ## 6 1/6/… 7.2 22.1 14.3 40.8 0.854 0.0286 0.051 0.0795 0.0249 ## # … with 4 more variables: CO <dbl>, SO2 <dbl>, PM10 <dbl>, PM25 <dbl> Check if there are any values of the day column in mex_deaths that are not present in the day column of mex_exp and vice-versa. mex_deaths %>% filter(!(day %in% mex_exp$day)) ## # A tibble: 0 x 2 ## # … with 2 variables: day <chr>, deaths <dbl> mex_exp %>% filter(!(day %in% mex_deaths$day)) ## # A tibble: 0 x 14 ## # … with 14 variables: day <chr>, temp_min <dbl>, temp_max <dbl>, ## # temp_mean <dbl>, humidity <dbl>, wind <dbl>, NO <dbl>, NO2 <dbl>, ## # NOX <dbl>, O3 <dbl>, CO <dbl>, SO2 <dbl>, PM10 <dbl>, PM25 <dbl> One important note is that, when you’re doing this check, you do not want to overwrite your original dataframe, so be sure that you do not reassign this output to mex_deaths or mex_exp. An even quicker way to do check this is to create a logical vector that checks this and use sum to add up the values in the logical vector. If the sum is zero, that tells you that the logical check is never true, so there are no cases where there is a day value in one dataframe that is not also in the other dataframe. sum(!(mex_deaths$day %in% mex_exp$day)) ## [1] 0 sum(!(mex_exp$day %in% mex_deaths$day)) ## [1] 0 Merge the two datasets together to create the dataframe mexico. Exclude all columns except the outcome (deaths), date, and mean temperature. mexico <- full_join(mex_deaths, mex_exp, by = "day") mexico <- select(mexico, day, deaths, temp_mean) Convert the date to a date class. library(lubridate) ## For parsing dates mexico <- mutate(mexico, day = mdy(day)) Try combining all the steps in the previous task into one “chained” command: mexico <- full_join(mex_deaths, mex_exp, by = "day") %>% select(day, deaths, temp_mean) %>% mutate(day = mdy(day)) head(mexico) ## # A tibble: 6 x 3 ## day deaths temp_mean ## <date> <dbl> <dbl> ## 1 2008-01-01 296 11.8 ## 2 2008-01-02 274 6.64 ## 3 2008-01-03 339 7.04 ## 4 2008-01-04 300 10.9 ## 5 2008-01-05 327 13.4 ## 6 2008-01-06 332 14.3 Note that, in this case, all the values of day in mex_deaths have one and only one matching value in mex_exp, and vice-versa. Because of this, we would have gotten the same mexico dataframe if we’d used inner_join, left_join or right_join instead of full_join. The differences between these *_join functions come into play when you have some values of your matching column that aren’t in both of the dataframes you’re joining. Use this new dataframe to plot deaths by date using ggplot: ggplot(data = mexico) + geom_point(mapping = aes(x = day, y = deaths), size = 1.5, alpha = 0.5) + labs(x = "Date in 2008", y = "# of deaths") + ggtitle("Deaths by date") + theme_few() 6.7.3 More extensive data wrangling Read the Ebola data directly from GitHub into your R session. Call the dataframe ebola. Use dplyr functions to create a tidy dataset. First, change it from “wide” data to “long” data. Name the new column with the key variable and the new column with the values count. The first few lines of the “long” version of the dataset should look like this: ## # A tibble: 6 x 4 ## Date Day variable count ## <chr> <dbl> <chr> <dbl> ## 1 1/5/2015 289 Cases_Guinea 2776 ## 2 1/5/2015 289 Cases_Liberia NA ## 3 1/5/2015 289 Cases_SierraLeone 10030 ## 4 1/5/2015 289 Cases_Nigeria NA ## 5 1/5/2015 289 Cases_Senegal NA ## 6 1/5/2015 289 Cases_UnitedStates NA Convert the Date column to a Date class. Use the separate function to separate the variable column into two columns, type (“Cases” or “Deaths”) and country (“Guinea”, “Liberia”, etc.). At this point, the data should look like this: ## # A tibble: 6 x 5 ## Date Day type country count ## <date> <dbl> <chr> <chr> <dbl> ## 1 2015-01-05 289 Cases Guinea 2776 ## 2 2015-01-05 289 Cases Liberia NA ## 3 2015-01-05 289 Cases SierraLeone 10030 ## 4 2015-01-05 289 Cases Nigeria NA ## 5 2015-01-05 289 Cases Senegal NA ## 6 2015-01-05 289 Cases UnitedStates NA Use the pivot_wider function to convert the data so you have separate columns for the two variables of numbers of Cases and Deaths. At this point, the dataframe should look like this: ## # A tibble: 6 x 5 ## Date Day country Cases Deaths ## <date> <dbl> <chr> <dbl> <dbl> ## 1 2015-01-05 289 Guinea 2776 1786 ## 2 2015-01-05 289 Liberia NA NA ## 3 2015-01-05 289 SierraLeone 10030 2977 ## 4 2015-01-05 289 Nigeria NA NA ## 5 2015-01-05 289 Senegal NA NA ## 6 2015-01-05 289 UnitedStates NA NA Remove any observations where counts of both cases and deaths are missing for that country on that date. Now that your data is tidy, create one plot showing Ebola cases by date, faceted by country, and one showing Ebola deaths by date, also faceted by country. Try using the option scales = \"free_y\" in the facet_wrap function and see how that changes these graphs. Discuss with your group the advantages and disadvantages of using this option when creating these small multiple plots. The plots should look something like this (if you’re using the scales = \"free_y\" option): Based on these plots, what would your next questions be about this data before you used it for an analysis? Can you put all of the steps of this cleaning process into just a few “chained” code pipelines using %>%? If you have extra time (super-challenge!): There is a function called fct_reorder in the forcats package that can be used to reorder the levels of a factor in a dataframe based on another column in the same dataframe. This function can be very useful for using a meaningful order when plotting. We’ll cover the forcats package in a later class, but today check out the help file for fct_reorder and see if you can figure out how to use it to reorder the small multiple plots in order of the maximum number of cases or deaths (for the two plots respectively) in each country. You’ll be able to do this by changing the code in facet_wrap from ~ country to ~ fct_reorder(country, ...), but with the ... replaced with certain arguments. If you’re getting stuck, try running the examples in the fct_reorder helpfile to get a feel for how this function can be used when plotting. The plots will look something like this: 6.7.3.1 Example R code Read the data in using read_csv. ebola_url <- paste0("https://github.com/geanders/RProgrammingForResearch/", "raw/master/data/country_timeseries.csv") ebola <- read_csv(ebola_url) head(ebola) ## # A tibble: 6 x 18 ## Date Day Cases_Guinea Cases_Liberia Cases_SierraLeo… Cases_Nigeria ## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 1/5/… 289 2776 NA 10030 NA ## 2 1/4/… 288 2775 NA 9780 NA ## 3 1/3/… 287 2769 8166 9722 NA ## 4 1/2/… 286 NA 8157 NA NA ## 5 12/3… 284 2730 8115 9633 NA ## 6 12/2… 281 2706 8018 9446 NA ## # … with 12 more variables: Cases_Senegal <dbl>, Cases_UnitedStates <dbl>, ## # Cases_Spain <dbl>, Cases_Mali <dbl>, Deaths_Guinea <dbl>, ## # Deaths_Liberia <dbl>, Deaths_SierraLeone <dbl>, Deaths_Nigeria <dbl>, ## # Deaths_Senegal <dbl>, Deaths_UnitedStates <dbl>, Deaths_Spain <dbl>, ## # Deaths_Mali <dbl> Change the data to long data using the pivoter_longer function from tidyr: ebola <- ebola %>% pivot_longer(cols = c(-Date, -Day), names_to = "variable", values_to = "count") head(ebola) ## # A tibble: 6 x 4 ## Date Day variable count ## <chr> <dbl> <chr> <dbl> ## 1 1/5/2015 289 Cases_Guinea 2776 ## 2 1/5/2015 289 Cases_Liberia NA ## 3 1/5/2015 289 Cases_SierraLeone 10030 ## 4 1/5/2015 289 Cases_Nigeria NA ## 5 1/5/2015 289 Cases_Senegal NA ## 6 1/5/2015 289 Cases_UnitedStates NA Convert Date to a date class: ebola <- ebola %>% mutate(Date = mdy(Date)) head(ebola) ## # A tibble: 6 x 4 ## Date Day variable count ## <date> <dbl> <chr> <dbl> ## 1 2015-01-05 289 Cases_Guinea 2776 ## 2 2015-01-05 289 Cases_Liberia NA ## 3 2015-01-05 289 Cases_SierraLeone 10030 ## 4 2015-01-05 289 Cases_Nigeria NA ## 5 2015-01-05 289 Cases_Senegal NA ## 6 2015-01-05 289 Cases_UnitedStates NA Split variable into type and country: ebola <- ebola %>% separate(variable, c("type", "country"), sep = "_") head(ebola) ## # A tibble: 6 x 5 ## Date Day type country count ## <date> <dbl> <chr> <chr> <dbl> ## 1 2015-01-05 289 Cases Guinea 2776 ## 2 2015-01-05 289 Cases Liberia NA ## 3 2015-01-05 289 Cases SierraLeone 10030 ## 4 2015-01-05 289 Cases Nigeria NA ## 5 2015-01-05 289 Cases Senegal NA ## 6 2015-01-05 289 Cases UnitedStates NA Convert the data so you have separate columns for the two variables of numbers of Cases and Deaths: ebola <- pivot_wider(ebola, names_from = type, values_from = count) head(ebola) ## # A tibble: 6 x 5 ## Date Day country Cases Deaths ## <date> <dbl> <chr> <dbl> <dbl> ## 1 2015-01-05 289 Guinea 2776 1786 ## 2 2015-01-05 289 Liberia NA NA ## 3 2015-01-05 289 SierraLeone 10030 2977 ## 4 2015-01-05 289 Nigeria NA NA ## 5 2015-01-05 289 Senegal NA NA ## 6 2015-01-05 289 UnitedStates NA NA Remove any observations where counts of cases or deaths are missing for that country: ebola <- filter(ebola, !is.na(Cases) & !is.na(Deaths)) head(ebola) ## # A tibble: 6 x 5 ## Date Day country Cases Deaths ## <date> <dbl> <chr> <dbl> <dbl> ## 1 2015-01-05 289 Guinea 2776 1786 ## 2 2015-01-05 289 SierraLeone 10030 2977 ## 3 2015-01-04 288 Guinea 2775 1781 ## 4 2015-01-04 288 SierraLeone 9780 2943 ## 5 2015-01-03 287 Guinea 2769 1767 ## 6 2015-01-03 287 Liberia 8166 3496 Now that your data is tidy, create one plot showing ebola cases by date, faceted by country, and one showing ebola deaths by date, also faceted by country: ggplot(ebola, aes(x = Date, y = Cases)) + geom_line() + facet_wrap(~ country, ncol = 4) + theme_classic() ggplot(ebola, aes(x = Date, y = Deaths)) + geom_line() + facet_wrap(~ country, ncol = 4) + theme_classic() Try using the option scales = \"free_y\" in the facet_wrap() function (in the gridExtra package) and see how that changes these graphs: ggplot(ebola, aes(x = Date, y = Cases)) + geom_line() + facet_wrap(~ country, ncol = 4, scales = "free_y") + theme_classic() ggplot(ebola, aes(x = Date, y = Deaths)) + geom_line() + facet_wrap(~ country, ncol = 4, scales = "free_y") + theme_classic() Put all of the steps of this cleaning process into just a few “chaining” calls. ebola <- read_csv(ebola_url) %>% pivot_longer(cols = c(-Date, -Day), names_to = "variable", values_to = "count") %>% mutate(Date = mdy(Date)) %>% separate(variable, c("type", "country"), sep = "_") %>% pivot_wider(names_from = type, values_from = count) %>% filter(!is.na(Cases) & !is.na(Deaths)) ggplot(ebola, aes(x = Date, y = Cases)) + geom_line() + facet_wrap(~ country, ncol = 4) + theme_classic() ggplot(ebola, aes(x = Date, y = Deaths)) + geom_line() + facet_wrap(~ country, ncol = 4) + theme_classic() Use the fct_reorder function inside the facet_wrap function call to reorder the small-multiple graphs. library(forcats) ggplot(ebola, aes(x = Date, y = Cases)) + geom_line() + facet_wrap(~ fct_reorder(country, Cases, .fun = max, .desc = TRUE), ncol = 4) + theme_classic() ggplot(ebola, aes(x = Date, y = Deaths)) + geom_line() + facet_wrap(~ fct_reorder(country, Deaths, .fun = max, .desc = TRUE), ncol = 4) + theme_classic() 6.7.4 Tidying VADeaths data R comes with a dataset called VADeaths that gives death rates per 1,000 people in Virginia in 1940 by age, sex, and rural / urban. Use data(\"VADeaths\") to load this data. Make sure you understand what each column and row is showing – use the helpfile (?VADeaths) if you need. Go through the three characteristics of tidy data and the five common problems in untidy data that we talked about in class. Sketch out (you’re welcome to use the whiteboards) what a tidy version of this data would look like. Open a new R script file. Write R code to transform this dataset into a tidy dataset. Try using a pipe chain, with %>% and tidyverse functions, to clean the data. Use the tidy data to create the following graph: There is no example R code for this – try to figure out the code yourselves. We will go over a solution in class. You may find the RStudio Data Wrangling cheatsheet helpful for remembering which tidyverse functions do what. 6.7.5 Baby names In the Fall 2018 session, we seem to have an unusually high percent of the class with names that start with an “A” or “K”. In this part of the exercise, we’ll see if we can figure out whether the proportion of “A” and “K” names is unusual. There is a package on CRAN called babynames with data on baby names by year in the United States, based on data from the U.S.’s Social Security Administration. We will use this data to compare the proportion of “A” and “K” names in our class with the proportion in these baby names. We’ll also do a few other things to explore this data. First, check out patterns in your own name. Is your name included in this dataset? Has your name been used for males and females? How have the patterns in the proportion of babies with your name, for both males and females, changed over time (use a plot to look at this)? In the year you were born, what were the 5 most popular baby names for males and females? Try to come up with some attractive ways (figures and tables) to show this. 6.7.5.1 Example R code Install and load the babynames package and its “babynames” dataframe: # install.packages("babynames") library(babynames) data("babynames") Remember that you can use ?babynames to find out more about this dataframe. Check out patterns in your own name. Is your name included in this dataset? You can use filter to create a subset of this data where you’ve filtered down to just the rows with your name. To see if your name ever shows up, you can use count on this dataframe—if your name never shows up, then you will have 0 rows in the new dataframe. As long as there’s at least one row, your name shows up somewhere. (If your name is not in here, try your middle or last name, or the name of a fictional character you like, for the rest of these exercises.) my_name <- babynames %>% filter(name == "Brooke") my_name %>% count() ## # A tibble: 1 x 1 ## n ## <int> ## 1 174 Has your name been used for males and females? To figure this out, you can group the dataset with rows with your name by the sex column and then use count to count the number of rows in the dataset for males and females. If your name has only been used for one gender, then only one row will result from running this code (for an example, try my first name, “Georgiana”). my_name %>% group_by(sex) %>% count() ## # A tibble: 2 x 2 ## # Groups: sex [2] ## sex n ## <chr> <int> ## 1 F 82 ## 2 M 92 How have the patterns in the proportion of babies with your name, for both males and females, changed over time (use a plot to look at this)? To check this out, I recommend you create a plot of the proportion of babies with your name (prop) versus year (year). You can use color to show these patterns for males and females separately. I’ve done some extra things here to (1) relabel the sex factor, so the label shows up with clearer names and (2) change the labels for the x-, y-, and color scales. library(forcats) my_name %>% mutate(sex = fct_recode(sex, Male = "M", Female = "F")) %>% ggplot(aes(x = year, y = prop, color = sex)) + geom_line() + labs(x = "Year", y = "Proportion of babies\\nof each sex named 'Brooke'", color = "") In the year you were born, what were the 5 most popular baby names for males and females? top_my_year <- babynames %>% filter(year == 1981) %>% group_by(sex) %>% arrange(desc(prop)) %>% slice(1:5) top_my_year ## # A tibble: 10 x 5 ## # Groups: sex [2] ## year sex name n prop ## <dbl> <chr> <chr> <int> <dbl> ## 1 1981 F Jennifer 57049 0.0319 ## 2 1981 F Jessica 42532 0.0238 ## 3 1981 F Amanda 34374 0.0192 ## 4 1981 F Sarah 28173 0.0158 ## 5 1981 F Melissa 28000 0.0157 ## 6 1981 M Michael 68765 0.0369 ## 7 1981 M Christopher 50233 0.0270 ## 8 1981 M Matthew 43330 0.0233 ## 9 1981 M Jason 41932 0.0225 ## 10 1981 M David 40659 0.0218 If you’d like to show this in a prettier way, you could show this as a table: library(knitr) top_my_year %>% mutate(rank = 1:n()) %>% # Since the data is grouped by sex, this will rank # separately for females and males ungroup() %>% # You have to ungroup before you can run `mutate` on `sex` mutate(sex = fct_recode(sex, Male = "M", Female = "F"), percent = round(100 * prop, 1), percent = paste(percent, "%", sep = "")) %>% select(sex, rank, name, percent) %>% kable() sex rank name percent Female 1 Jennifer 3.2% Female 2 Jessica 2.4% Female 3 Amanda 1.9% Female 4 Sarah 1.6% Female 5 Melissa 1.6% Male 1 Michael 3.7% Male 2 Christopher 2.7% Male 3 Matthew 2.3% Male 4 Jason 2.3% Male 5 David 2.2% You could also show it as a figure: library(scales) top_my_year %>% ungroup() %>% mutate(name = fct_reorder(name, prop, .desc = TRUE), sex = fct_recode(sex, Male = "M", Female = "F")) %>% ggplot(aes(x = name)) + geom_bar(aes(weight = prop)) + coord_flip() + labs(x = "", y = "Percent of babies with name in 1981") + theme(legend.position = "top") + scale_y_continuous(labels = percent) + facet_wrap(~ sex, scales = "free_y") + theme_classic() "], -["exploring-data-2.html", "Chapter 7 Exploring data #2 7.1 Simple statistical tests in R 7.2 Matrices 7.3 Lists 7.4 Apply a test multiple times 7.5 Regression models 7.6 Handling model objects 7.7 Functions 7.8 In-course exercise", " Chapter 7 Exploring data #2 Download a pdf of the lecture slides covering this topic. 7.1 Simple statistical tests in R Let’s pull the fatal accident data just for the county that includes Las Vegas, NV. Each US county has a unique identifier (FIPS code), composed of a two-digit state FIPS and a three-digit county FIPS code. The state FIPS for Nevada is 32; the county FIPS for Clark County is 003. Therefore, we can filter down to Clark County data in the FARS data we collected with the following code: library(readr) library(dplyr) clark_co_accidents <- read_csv("data/accident.csv") %>% filter(STATE == 32 & COUNTY == 3) We can also check the number of accidents: clark_co_accidents %>% count() ## # A tibble: 1 x 1 ## n ## <int> ## 1 201 We want to test if the probability, on a Friday or Saturday, of a fatal accident occurring is higher than on other days of the week. Let’s clean the data up a bit as a start: library(tidyr) library(lubridate) clark_co_accidents <- clark_co_accidents %>% select(DAY, MONTH, YEAR) %>% unite(date, DAY, MONTH, YEAR, sep = "-") %>% mutate(date = dmy(date)) Here’s what the data looks like now: clark_co_accidents %>% slice(1:5) ## # A tibble: 5 x 1 ## date ## <date> ## 1 2016-01-10 ## 2 2016-02-21 ## 3 2016-01-06 ## 4 2016-01-13 ## 5 2016-02-18 Next, let’s get the count of accidents by date: clark_co_accidents <- clark_co_accidents %>% group_by(date) %>% count() %>% ungroup() clark_co_accidents %>% slice(1:3) ## # A tibble: 3 x 2 ## date n ## <date> <int> ## 1 2016-01-03 1 ## 2 2016-01-06 1 ## 3 2016-01-09 3 We’re missing the dates without a fatal crash, so let’s add those. First, create a dataframe with all dates in 2016: all_dates <- tibble(date = seq(ymd("2016-01-01"), ymd("2016-12-31"), by = 1)) all_dates %>% slice(1:5) ## # A tibble: 5 x 1 ## date ## <date> ## 1 2016-01-01 ## 2 2016-01-02 ## 3 2016-01-03 ## 4 2016-01-04 ## 5 2016-01-05 Then merge this with the original dataset on Las Vegas fatal crashes and make any day missing from the fatal crashes dataset have a “0” for number of fatal accidents (n): clark_co_accidents <- clark_co_accidents %>% right_join(all_dates, by = "date") %>% # If `n` is missing, set to 0. Otherwise keep value. mutate(n = ifelse(is.na(n), 0, n)) clark_co_accidents %>% slice(1:3) ## # A tibble: 3 x 2 ## date n ## <date> <dbl> ## 1 2016-01-03 1 ## 2 2016-01-06 1 ## 3 2016-01-09 3 Next, let’s add some information about day of week and weekend: clark_co_accidents <- clark_co_accidents %>% mutate(weekday = wday(date, label = TRUE), weekend = weekday %in% c("Fri", "Sat")) clark_co_accidents %>% slice(1:3) ## # A tibble: 3 x 4 ## date n weekday weekend ## <date> <dbl> <ord> <lgl> ## 1 2016-01-03 1 Sun FALSE ## 2 2016-01-06 1 Wed FALSE ## 3 2016-01-09 3 Sat TRUE Now let’s calculate the probability that a day has at least one fatal crash, separately for weekends and weekdays: clark_co_accidents <- clark_co_accidents %>% mutate(any_crash = n > 0) crash_prob <- clark_co_accidents %>% group_by(weekend) %>% summarize(n_days = n(), crash_days = sum(any_crash)) %>% mutate(prob_crash_day = crash_days / n_days) ## `summarise()` ungrouping output (override with `.groups` argument) crash_prob ## # A tibble: 2 x 4 ## weekend n_days crash_days prob_crash_day ## <lgl> <int> <int> <dbl> ## 1 FALSE 260 107 0.412 ## 2 TRUE 106 43 0.406 In R, you can use prop.test to test if two proportions are equal. Inputs include the total number of trials in each group (n =) and the number of “successes”\" (x =): prop.test(x = crash_prob$crash_days, n = crash_prob$n_days) ## ## 2-sample test for equality of proportions with continuity correction ## ## data: crash_prob$crash_days out of crash_prob$n_days ## X-squared = 1.5978e-30, df = 1, p-value = 1 ## alternative hypothesis: two.sided ## 95 percent confidence interval: ## -0.1109757 0.1227318 ## sample estimates: ## prop 1 prop 2 ## 0.4115385 0.4056604 I won’t be teaching in this course how to find the correct statistical test. That’s something you’ll hopefully learn in a statistics course. There are also a variety of books that can help you with this, including some that you can access free online through CSU’s library. One servicable introduction is “Statistical Analysis with R for Dummies”. You can create an object from the output of any statistical test in R. Typically, this will be (at least at some level) in an object class called a “list”: vegas_test <- prop.test(x = crash_prob$crash_days, n = crash_prob$n_days) is.list(vegas_test) ## [1] TRUE So far, we’ve mostly worked with two object types in R, dataframes and vectors. In the next subsection we’ll look more at two object classes we haven’t looked at much, matrices and lists. Both have important roles once you start applying more advanced methods to analyze your data. 7.2 Matrices A matrix is like a data frame, but all the values in all columns must be of the same class (e.g., numeric, character). R uses matrices a lot for its underlying math (e.g., for the linear algebra operations required for fitting regression models). R can do matrix operations quite quickly. You can create a matrix with the matrix function. Input a vector with the values to fill the matrix and ncol to set the number of columns: foo <- matrix(1:10, ncol = 5) foo ## [,1] [,2] [,3] [,4] [,5] ## [1,] 1 3 5 7 9 ## [2,] 2 4 6 8 10 By default, the matrix will fill up by column. You can fill it by row with the byrow function: foo <- matrix(1:10, ncol = 5, byrow = TRUE) foo ## [,1] [,2] [,3] [,4] [,5] ## [1,] 1 2 3 4 5 ## [2,] 6 7 8 9 10 In certain situations, you might want to work with a matrix instead of a data frame (for example, in cases where you were concerned about speed – a matrix is more memory efficient than the corresponding data frame). If you want to convert a data frame to a matrix, you can use the as.matrix function: foo <- tibble(col_1 = 1:2, col_2 = 3:4, col_3 = 5:6, col_4 = 7:8, col_5 = 9:10) (foo <- as.matrix(foo)) ## col_1 col_2 col_3 col_4 col_5 ## [1,] 1 3 5 7 9 ## [2,] 2 4 6 8 10 You can index matrices with square brackets, just like data frames: foo[1, 1:2] ## col_1 col_2 ## 1 3 You cannot, however, use dplyr functions with matrices: foo %>% filter(col_1 == 1) All elements in a matrix must have the same class. The matrix will default to make all values the most general class of any of the values, in any column. For example, if we replaced one numeric value with the character “a”, everything would turn into a character: foo[1, 1] <- "a" foo ## col_1 col_2 col_3 col_4 col_5 ## [1,] "a" "3" "5" "7" "9" ## [2,] "2" "4" "6" "8" "10" 7.3 Lists A list has different elements, just like a data frame has different columns. However, the different elements of a list can have different lengths (unlike the columns of a data frame). The different elements can also have different classes. bar <- list(some_letters = letters[1:3], some_numbers = 1:5, some_logical_values = c(TRUE, FALSE)) bar ## $some_letters ## [1] "a" "b" "c" ## ## $some_numbers ## [1] 1 2 3 4 5 ## ## $some_logical_values ## [1] TRUE FALSE To index an element from a list, use double square brackets. You can use bracket indexing either with numbers (which element in the list?) or with names: bar[[1]] ## [1] "a" "b" "c" bar[["some_numbers"]] ## [1] 1 2 3 4 5 You can also index lists with the $ operator: bar$some_logical_values ## [1] TRUE FALSE To access a specific value within a list element we can index the element e.g.: bar[[1]][[2]] ## [1] "b" Lists can be used to contain data with an unusual structure and / or lots of different components. For example, the information from fitting a regression is often stored as a list: my_mod <- glm(rnorm(10) ~ c(1:10)) is.list(my_mod) ## [1] TRUE The names function returns the name of each element in the list: head(names(my_mod), 3) ## [1] "coefficients" "residuals" "fitted.values" my_mod[["coefficients"]] ## (Intercept) c(1:10) ## 0.70347968 -0.09503429 A list can even contain other lists. We can use the str function to see the structure of a list: a_list <- list(list("a", "b"), list(1, 2)) str(a_list) ## List of 2 ## $ :List of 2 ## ..$ : chr "a" ## ..$ : chr "b" ## $ :List of 2 ## ..$ : num 1 ## ..$ : num 2 Sometimes you’ll see unnecessary lists-of-lists, perhaps when importing data into R created. Or a list with multiple elements that you would like to combine. You can remove a level of hierarchy from a list using the flatten function from the purrr package: library(purrr) a_list ## [[1]] ## [[1]][[1]] ## [1] "a" ## ## [[1]][[2]] ## [1] "b" ## ## ## [[2]] ## [[2]][[1]] ## [1] 1 ## ## [[2]][[2]] ## [1] 2 flatten(a_list) ## [[1]] ## [1] "a" ## ## [[2]] ## [1] "b" ## ## [[3]] ## [1] 1 ## ## [[4]] ## [1] 2 Let’s look at the list object from the statistical test we ran for Las Vegas: str(vegas_test) ## List of 9 ## $ statistic : Named num 1.6e-30 ## ..- attr(*, "names")= chr "X-squared" ## $ parameter : Named num 1 ## ..- attr(*, "names")= chr "df" ## $ p.value : num 1 ## $ estimate : Named num [1:2] 0.412 0.406 ## ..- attr(*, "names")= chr [1:2] "prop 1" "prop 2" ## $ null.value : NULL ## $ conf.int : num [1:2] -0.111 0.123 ## ..- attr(*, "conf.level")= num 0.95 ## $ alternative: chr "two.sided" ## $ method : chr "2-sample test for equality of proportions with continuity correction" ## $ data.name : chr "crash_prob$crash_days out of crash_prob$n_days" ## - attr(*, "class")= chr "htest" Using str to print out the list’s structure doesn’t produce the easiest to digest output. We can use the jsonedit function from the listviewer package to create a widget in the viewer pane to more esily explore our list. library(listviewer) jsonedit(vegas_test) We can pull out an element using the $ notation: vegas_test$p.value ## [1] 1 Or using the [[ notation: vegas_test[[4]] ## prop 1 prop 2 ## 0.4115385 0.4056604 You may have noticed, though, that this output is not a tidy dataframe. Ack! That means we can’t use all the tidyverse tricks we’ve learned so far in the course! Fortunately, David Robinson noticed this problem and came up with a package called broom that can “tidy up” a lot of these kinds of objects. The broom package has three main functions: glance: Return a one-row, tidy dataframe from a model or other R object tidy: Return a tidy dataframe from a model or other R object augment: “Augment” the dataframe you input to the statistical function Here is the output for tidy for the vegas_test object (augment won’t work for this type of object, and glance gives the same thing as tidy): library(broom) tidy(vegas_test) ## # A tibble: 1 x 9 ## estimate1 estimate2 statistic p.value parameter conf.low conf.high method ## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> ## 1 0.412 0.406 1.60e-30 1.00 1 -0.111 0.123 2-sam… ## # … with 1 more variable: alternative <chr> 7.4 Apply a test multiple times Often, we don’t want to just apply a statistical test to our entire data set. Let’s look at an example from the microbiome package. library(microbiome) data(peerj32) print(names(peerj32)) ## [1] "lipids" "microbes" "meta" "phyloseq" Like we saw before, the list-like phyloseq objects require a little tidying before we can use them easiliy. library(dplyr) peerj32_tibble <- (psmelt(peerj32$phyloseq)) %>% dplyr::select(-Sample) %>% rename_all(tolower) %>% as_tibble() ## # A tibble: 3 x 10 ## otu abundance time sex subject sample group phylum family genus ## <chr> <dbl> <int> <fct> <fct> <chr> <fct> <chr> <chr> <chr> ## 1 Bacteroi… 9734 1 male S19 sampl… LGG Bacter… Bacter… Bactero… ## 2 Bacteroi… 5883 1 female S14 sampl… Plac… Bacter… Bacter… Bactero… ## 3 Bacteroi… 5134 2 female S8 sampl… LGG Bacter… Bacter… Bactero… We can make a plot from the resulting tibble to help us explore the data. library(ggplot2) ggplot(peerj32_tibble, aes(x = subject, y = abundance, color = sex)) + geom_point() + theme_bw() + facet_wrap(~phylum, ncol = 4, scales = "free") + theme(axis.text.x = element_blank(), legend.position = "top") + xlab("Subject ID") We can group the data by phylum and group and then use the nest function from the tidyr package to create a new dataframe containing the nested data: library(tidyr) nested_data <- peerj32_tibble %>% group_by(phylum, group) %>% nest() slice(nested_data, 1:3) ## # A tibble: 16 x 3 ## # Groups: group, phylum [16] ## group phylum data ## <fct> <chr> <list> ## 1 LGG Actinobacteria <tibble [128 × 8]> ## 2 LGG Bacteroidetes <tibble [256 × 8]> ## 3 LGG Cyanobacteria <tibble [16 × 8]> ## 4 LGG Firmicutes <tibble [1,216 × 8]> ## 5 LGG Fusobacteria <tibble [16 × 8]> ## 6 LGG Proteobacteria <tibble [416 × 8]> ## 7 LGG Spirochaetes <tibble [16 × 8]> ## 8 LGG Verrucomicrobia <tibble [16 × 8]> ## 9 Placebo Actinobacteria <tibble [224 × 8]> ## 10 Placebo Bacteroidetes <tibble [448 × 8]> ## 11 Placebo Cyanobacteria <tibble [28 × 8]> ## 12 Placebo Firmicutes <tibble [2,128 × 8]> ## 13 Placebo Fusobacteria <tibble [28 × 8]> ## 14 Placebo Proteobacteria <tibble [728 × 8]> ## 15 Placebo Spirochaetes <tibble [28 × 8]> ## 16 Placebo Verrucomicrobia <tibble [28 × 8]> We can then use the map function from the purrr package to apply functions to each nested dataframe. Let’s start by counting the rows in each nested dataframe and filtering out dataframes with less than 25 rows. library(purrr) filtered_data <- nested_data %>% mutate(n_rows = purrr::map(data, ~ nrow(.x))) %>% filter(n_rows > 25) Now let’s perform a t-test on each out the nested dataframes. Remember, each nested dataframe is one unique combination of phylum and group. t_tests <- filtered_data %>% mutate(t_test = purrr::map(data, ~t.test(abundance ~ sex, data = .x))) t_tests ## # A tibble: 12 x 5 ## # Groups: group, phylum [12] ## group phylum data n_rows t_test ## <fct> <chr> <list> <list> <list> ## 1 LGG Bacteroidetes <tibble [256 × 8]> <int [1]> <htest> ## 2 Placebo Bacteroidetes <tibble [448 × 8]> <int [1]> <htest> ## 3 Placebo Firmicutes <tibble [2,128 × 8]> <int [1]> <htest> ## 4 LGG Firmicutes <tibble [1,216 × 8]> <int [1]> <htest> ## 5 Placebo Verrucomicrobia <tibble [28 × 8]> <int [1]> <htest> ## 6 LGG Actinobacteria <tibble [128 × 8]> <int [1]> <htest> ## 7 Placebo Actinobacteria <tibble [224 × 8]> <int [1]> <htest> ## 8 Placebo Proteobacteria <tibble [728 × 8]> <int [1]> <htest> ## 9 LGG Proteobacteria <tibble [416 × 8]> <int [1]> <htest> ## 10 Placebo Cyanobacteria <tibble [28 × 8]> <int [1]> <htest> ## 11 Placebo Fusobacteria <tibble [28 × 8]> <int [1]> <htest> ## 12 Placebo Spirochaetes <tibble [28 × 8]> <int [1]> <htest> The resulting dataframe contains a new column, which contains the model objects. Just as we mapped the t.test function, we can map the tidying functions from the broom package to extract the information we want from the nested model objects. summary <- t_tests %>% mutate(summary = purrr::map(t_test, broom::glance)) summary ## # A tibble: 12 x 6 ## # Groups: group, phylum [12] ## group phylum data n_rows t_test summary ## <fct> <chr> <list> <list> <list> <list> ## 1 LGG Bacteroidetes <tibble [256 × 8]> <int [1]> <htes… <tibble [1 × 10… ## 2 Placebo Bacteroidetes <tibble [448 × 8]> <int [1]> <htes… <tibble [1 × 10… ## 3 Placebo Firmicutes <tibble [2,128 × 8… <int [1]> <htes… <tibble [1 × 10… ## 4 LGG Firmicutes <tibble [1,216 × 8… <int [1]> <htes… <tibble [1 × 10… ## 5 Placebo Verrucomicrobia <tibble [28 × 8]> <int [1]> <htes… <tibble [1 × 10… ## 6 LGG Actinobacteria <tibble [128 × 8]> <int [1]> <htes… <tibble [1 × 10… ## 7 Placebo Actinobacteria <tibble [224 × 8]> <int [1]> <htes… <tibble [1 × 10… ## 8 Placebo Proteobacteria <tibble [728 × 8]> <int [1]> <htes… <tibble [1 × 10… ## 9 LGG Proteobacteria <tibble [416 × 8]> <int [1]> <htes… <tibble [1 × 10… ## 10 Placebo Cyanobacteria <tibble [28 × 8]> <int [1]> <htes… <tibble [1 × 10… ## 11 Placebo Fusobacteria <tibble [28 × 8]> <int [1]> <htes… <tibble [1 × 10… ## 12 Placebo Spirochaetes <tibble [28 × 8]> <int [1]> <htes… <tibble [1 × 10… The final step is to return a tidy dataframe, we can do this using the unnest function from the tidyr package. Note: it is also wise to ungroup after you are done operating on your grouped variables - you may run into problems if you forget your dataframe is grouped later on! unnested <- summary %>% unnest(summary) %>% ungroup() %>% dplyr::select(group, phylum, p.value) unnested ## # A tibble: 12 x 3 ## group phylum p.value ## <fct> <chr> <dbl> ## 1 LGG Bacteroidetes 0.930 ## 2 Placebo Bacteroidetes 0.828 ## 3 Placebo Firmicutes 0.344 ## 4 LGG Firmicutes 0.131 ## 5 Placebo Verrucomicrobia 0.106 ## 6 LGG Actinobacteria 0.600 ## 7 Placebo Actinobacteria 0.997 ## 8 Placebo Proteobacteria 0.856 ## 9 LGG Proteobacteria 0.0111 ## 10 Placebo Cyanobacteria 0.193 ## 11 Placebo Fusobacteria 0.265 ## 12 Placebo Spirochaetes 0.728 We can then plot the results. Let’s do this for the “LGG” (non-placebo) group, using our principles for good graphics. p_data <- unnested %>% filter(group == "LGG") %>% mutate(phylum = fct_reorder(phylum, p.value)) ggplot(p_data, aes(y = p.value, x = phylum)) + facet_wrap(~group) + geom_bar(stat="identity", fill = "grey90", color = "grey20") + coord_flip() + theme_bw() + ggtitle("Difference in abundance by gender") + xlab("") + ylab("p-value from t-test") 7.5 Regression models 7.5.1 Formula structure Regression models can be used to estimate how the expected value of a dependent variable changes as independent variables change. In R, regression formulas take this structure: ## Generic code [response variable] ~ [indep. var. 1] + [indep. var. 2] + ... Notice that a tilde, ~, is used to separate the independent and dependent variables and that a plus sign, +, is used to join independent variables. This format mimics the statistical notation: \\[ Y_i \\sim X_1 + X_2 + X_3 \\] You will use this type of structure in R fo a lot of different function calls, including those for linear models (fit with the lm function) and generalized linear models (fit with the glm function). There are some conventions that can be used in R formulas. Common ones include: Convention Meaning I() evaluate the formula inside I() before fitting (e.g., I(x1 + x2)) : fit the interaction between x1 and x2 variables * fit the main effects and interaction for both variables (e.g., x1*x2 equals x1 + x2 + x1:x2) . include as independent variables all variables other than the response (e.g., y ~ .) 1 intercept (e.g., y ~ 1 for an intercept-only model) - do not include a variable in the data frame as an independent variables (e.g., y ~ . - x1); usually used in conjunction with . or 1 7.5.2 Linear models To fit a linear model, you can use the function lm(). This function is part of the stats package, which comes installed with base R. In this function, you can use the data option to specify the data frame from which to get the vectors. ## Warning: Problem with `mutate()` input `sex`. ## ℹ Unknown levels in `f`: 1, 2 ## ℹ Input `sex` is `fct_recode(factor(sex), Male = "1", Female = "2")`. ## Warning: Unknown levels in `f`: 1, 2 mod_a <- lm(wt ~ ht, data = nepali) This previous call fits the model: \\[ Y_{i} = \\beta_{0} + \\beta_{1}X_{1,i} + \\epsilon_{i} \\] where: \\(Y_{i}\\) : weight of child \\(i\\) \\(X_{1,i}\\) : height of child \\(i\\) If you run the lm function without saving it as an object, R will fit the regression and print out the function call and the estimated model coefficients: lm(wt ~ ht, data = nepali) ## ## Call: ## lm(formula = wt ~ ht, data = nepali) ## ## Coefficients: ## (Intercept) ht ## -8.7581 0.2342 However, to be able to use the model later for things like predictions and model assessments, you should save the output of the function as an R object: mod_a <- lm(wt ~ ht, data = nepali) This object has a special class, lm: class(mod_a) ## [1] "lm" This class is a special type of list object. If you use is.list to check, you can confirm that this object is a list: is.list(mod_a) ## [1] TRUE There are a number of functions that you can apply to an lm object. These include: Function Description summary Get a variety of information on the model, including coefficients and p-values for the coefficients coefficients Pull out just the coefficients for a model fitted Get the fitted values from the model (for the data used to fit the model) plot Create plots to help assess model assumptions residuals Get the model residuals For example, you can get the coefficients from the model by running: coefficients(mod_a) ## (Intercept) ht ## -8.7581466 0.2341969 The estimated coefficient for the intercept is always given under the name “(Intercept)”. Estimated coefficients for independent variables are given based on their column names in the original data (“ht” here, for \\(\\beta_1\\), or the estimated increase in expected weight for a one unit increase in height). You can use the output from a coefficients call to plot a regression line based on the model fit on top of points showing the original data (Figure 7.1). mod_coef <- coefficients(mod_a) ggplot(nepali, aes(x = ht, y = wt)) + geom_point(size = 0.2) + xlab("Height (cm)") + ylab("Weight (kg)") + geom_abline(aes(intercept = mod_coef[1], slope = mod_coef[2]), col = "blue") Figure 7.1: Example of using the output from a coefficients call to add a regression line to a scatterplot. You can also add a linear regression line to a scatterplot by adding the geom geom_smooth using the argument method = “lm”. You can use the function residuals on an lm object to pull out the residuals from the model fit: head(residuals(mod_a)) ## 1 2 3 4 6 7 ## 0.1993922 -0.4329393 -0.4373953 -0.1355300 -0.6749080 -1.0838199 The result of a residuals call is a vector with one element for each of the non-missing observations (rows) in the data frame you used to fit the model. Each value gives the different between the model fitted value and the observed value for each of these observations, in the same order the observations show up in the data frame. The residuals are in the same order as the observations in the original data frame. You can also use the shorter function coef as an alternative to coefficients and the shorter function resid as an alternative to residuals. As noted in the subsection on simple statistics functions, the summary function returns different output depending on the type of object that is input to the function. If you input a regression model object to summary, the function gives you a lot of information about the model. For example, here is the output returned by running summary for the linear regression model object we just created: summary(mod_a) ## ## Call: ## lm(formula = wt ~ ht, data = nepali) ## ## Residuals: ## Min 1Q Median 3Q Max ## -3.0077 -0.5479 -0.0293 0.4972 3.3514 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) -8.758147 0.211529 -41.40 <2e-16 *** ## ht 0.234197 0.002459 95.23 <2e-16 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 0.8733 on 875 degrees of freedom ## (123 observations deleted due to missingness) ## Multiple R-squared: 0.912, Adjusted R-squared: 0.9119 ## F-statistic: 9068 on 1 and 875 DF, p-value: < 2.2e-16 This output includes a lot of useful elements, including (1) basic summary statistics for the residuals (to meet model assumptions, the median should be around zero and the absolute values fairly similar for the first and third quantiles), (2) coefficient estimates, standard errors, and p-values, and (3) some model summary statistics, including residual standard error, degrees of freedom, number of missing observations, and F-statistic. The object returned by the summary() function when it is applied to an lm object is a list, which you can confirm using the is.list function: is.list(summary(mod_a)) ## [1] TRUE With any list, you can use the names function to get the names of all of the different elements of the object: names(summary(mod_a)) ## [1] "call" "terms" "residuals" "coefficients" ## [5] "aliased" "sigma" "df" "r.squared" ## [9] "adj.r.squared" "fstatistic" "cov.unscaled" "na.action" You can use the $ operator to pull out any element of the list. For example, to pull out the table with information on the estimated model coefficients, you can run: summary(mod_a)$coefficients ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) -8.7581466 0.211529182 -41.40396 2.411051e-208 ## ht 0.2341969 0.002459347 95.22726 0.000000e+00 The plot function, like the summary function, will give different output depending on the class of the object that you input. For an lm object, you can use the plot function to get a number of useful diagnostic plots that will help you check regression assumptions (Figure 7.2): plot(mod_a) Figure 7.2: Example output from running the plot function with an lm object as the input. You can also use binary variables or factors as independent variables in regression models. For example, in the nepali dataset, sex is a factor variable with the levels “Male” and “Female”. You can fit a linear model of weight regressed on sex for this data with the call: mod_b <- lm(wt ~ sex, data = nepali) This call fits the model: \\[ Y_{i} = \\beta_{0} + \\beta_{1}X_{1,i} + \\epsilon_{i} \\] where \\(X_{1,i}\\) : sex of child \\(i\\), where 0 = male and 1 = female. Here are the estimated coefficients from fitting this model: summary(mod_b)$coefficients ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 11.4226374 0.1375427 83.047920 0.00000000 ## sexFemale -0.4866184 0.1982810 -2.454185 0.01431429 You’ll notice that, in addition to an estimated intercept ((Intercept)), the other estimated coefficient is sexFemale rather than just sex, although the column name in the data frame input to lm for this variable is sex. This is because, when a factor or binary variable is input as an independent variable in a linear regression model, R will fit an estimated coefficient for all levels of factors except the first factor level. By default, this first factor level is used as the baseline level, and so its estimated mean is given by the estimated intercept, while the other model coefficients give the estimated difference from this baseline. For example, the model fit above tells us that the estimated mean weight of males is 11.4, while the estimated mean weight of females is 11.4 + -0.5 = 10.9. 7.6 Handling model objects The broom package contains tools for converting statistical objects into nice tidy data frames. The tools in the broom package make it easy to process statistical results in R using the tools of the tidyverse. 7.6.1 broom::tidy The tidy() function returns a data frame with information on the fitted model terms. For example, when applied to one of our linear models we get: library(broom) kable(tidy(mod_a), digits = 3) term estimate std.error statistic p.value (Intercept) -8.758 0.212 -41.404 0 ht 0.234 0.002 95.227 0 class(tidy(mod_a)) ## [1] "tbl_df" "tbl" "data.frame" You can pass arguments to the tidy() function. For example, include confidence intervals: kable(tidy(mod_a, conf.int = TRUE), digits = 3) term estimate std.error statistic p.value conf.low conf.high (Intercept) -8.758 0.212 -41.404 0 -9.173 -8.343 ht 0.234 0.002 95.227 0 0.229 0.239 7.6.2 broom::augment The augment() function adds information about a fitted model to the dataset used to fit the model. For example, when applied to one of our linear models we get information on the fitted values and residuals included in the output: kable(head(broom::augment(mod_a), 3), digits = 3) .rownames wt ht .fitted .resid .std.resid .hat .sigma .cooksd 1 12.8 91.2 12.601 0.199 0.228 0.001 0.874 0 2 12.8 93.9 13.233 -0.433 -0.496 0.002 0.874 0 3 13.1 95.2 13.537 -0.437 -0.501 0.002 0.874 0 7.6.3 broom::glance The glance() functions returns a one row summary of a fitted model object: For example: kable(glance(mod_a, conf.int = TRUE), digits = 3) r.squared adj.r.squared sigma statistic p.value df logLik AIC BIC deviance df.residual nobs 0.912 0.912 0.873 9068.23 0 1 -1124.615 2255.23 2269.56 667.351 875 877 7.6.4 References– statistics in R One great (and free online for CSU students through our library) book to find out more about using R for basic statistics is: Introductory Statistics with R If you want all the details about fitting linear models and GLMs in R, Julian Faraway’s books are fantastic. He has one on linear models and one on extensions including logistic and Poisson models: Linear Models with R (also free online through the CSU library) Extending the Linear Model with R 7.7 Functions As you move to larger projects, you will find yourself using the same code a lot. Examples include: Reading in data from a specific type of equipment (air pollution monitor, accelerometer) Running a specific type of analysis Creating a specific type of plot or map If you find yourself cutting and pasting a lot, convert the code to a function. Advantages of writing functions include: Coding is more efficient Easier to change your code (if you’ve cut and paste code and you want to change something, you have to change it everywhere - this is an easy way to accidentally create bugs in your code) Easier to share code with others You can name a function anything you want (although try to avoid names of preexisting-existing functions). You then define any inputs (arguments; separate multiple arguments with commas) and put the code to run in braces: ## Note: this code will not run [function name] <- function([any arguments]){ [code to run] } Here is an example of a very basic function. This function takes a number as input and adds 1 to that number. add_one <- function(number){ out <- number + 1 return(out) } add_one(number = 3) ## [1] 4 add_one(number = -1) ## [1] 0 Functions can input any type of R object (for example, vectors, data frames, even other functions and ggplot objects) Similarly, functions can output any type of R object When defining a function, you can set default values for some of the parameters You can explicitly specify the value to return from the function For example, the following function inputs a data frame (datafr) and a one-element vector (child_id) and returns only rows in the data frame where it’s id column matches child_id. It includes a default value for datafr, but not for child_id. subset_nepali <- function(datafr = nepali, child_id){ datafr <- datafr %>% filter(id == child_id) return(datafr) } If an argument is not given for a parameter with a default, the function will run using the default value for that parameter. For example: subset_nepali(child_id = "120011") ## id sex wt ht mage lit died alive age ## 1 120011 Male 12.8 91.2 35 0 2 5 41 ## 2 120011 Male 12.8 93.9 35 0 2 5 45 ## 3 120011 Male 13.1 95.2 35 0 2 5 49 ## 4 120011 Male 13.8 96.9 35 0 2 5 53 ## 5 120011 Male NA NA 35 0 2 5 57 If an argument is not given for a parameter without a default, the function call will result in an error. For example: subset_nepali(datafr = nepali) ## Error: Problem with `filter()` input `..1`. ## x argument "child_id" is missing, with no default ## ℹ Input `..1` is `id == child_id`. By default, the function will return the last defined object, although the choice of using return can affect printing behavior when you run the function. For example, I could have written the subset_nepali function like this: subset_nepali <- function(datafr = nepali, child_id){ datafr <- datafr %>% filter(id == child_id) } In this case, the output will not automatically print out when you call the function without assigning it to an R object: subset_nepali(child_id = "120011") However, the output can be assigned to an R object in the same way as when the function was defined without return: first_childs_data <- subset_nepali(child_id = "120011") first_childs_data ## id sex wt ht mage lit died alive age ## 1 120011 Male 12.8 91.2 35 0 2 5 41 ## 2 120011 Male 12.8 93.9 35 0 2 5 45 ## 3 120011 Male 13.1 95.2 35 0 2 5 49 ## 4 120011 Male 13.8 96.9 35 0 2 5 53 ## 5 120011 Male NA NA 35 0 2 5 57 R is very “good” at running functions! It will look for (scope) the variables in your function in various places (environments). So your functions may run even when you don’t expect them to, potentially, with unexpected results! The return function can also be used to return an object other than the last defined object (although this doesn’t tend to be something you need to do very often). If you did not use return in the following code, it will output “Test output”: subset_nepali <- function(datafr = nepali, child_id){ datafr <- datafr %>% filter(id == child_id) a <- "Test output" } (subset_nepali(child_id = "120011")) ## [1] "Test output" Conversely, you can use return to output datafr, even though it’s not the last object defined: subset_nepali <- function(datafr = nepali, child_id){ datafr <- datafr %>% filter(id == child_id) a <- "Test output" return(datafr) } subset_nepali(child_id = "120011") ## id sex wt ht mage lit died alive age ## 1 120011 Male 12.8 91.2 35 0 2 5 41 ## 2 120011 Male 12.8 93.9 35 0 2 5 45 ## 3 120011 Male 13.1 95.2 35 0 2 5 49 ## 4 120011 Male 13.8 96.9 35 0 2 5 53 ## 5 120011 Male NA NA 35 0 2 5 57 7.7.1 if / else statements There are other control structures you can use in your R code. Two that you will commonly use within R functions are if and ifelse statements. An if statement tells R that, if a certain condition is true, do run some code. For example, if you wanted to print out only odd numbers between 1 and 5, one way to do that is with an if statement: (Note: the %% operator in R returns the remainder of the first value (i) divided by the second value (2).) for(i in 1:5){ if(i %% 2 == 1){ print(i) } } ## [1] 1 ## [1] 3 ## [1] 5 The if statement runs some code if a condition is true, but does nothing if it is false. If you’d like different code to run depending on whether the condition is true or false, you can us an if / else or an if / else if / else statement. for(i in 1:5){ if(i %% 2 == 1){ print(i) } else { print(paste(i, "is even")) } } ## [1] 1 ## [1] "2 is even" ## [1] 3 ## [1] "4 is even" ## [1] 5 What would this code do? for(i in 1:100){ if(i %% 3 == 0 & i %% 5 == 0){ print("FizzBuzz") } else if(i %% 3 == 0){ print("Fizz") } else if(i %% 5 == 0){ print("Buzz") } else { print(i) } } If / else statements are extremely useful in functions. In R, the if statement evaluates everything in the parentheses and, if that evaluates to TRUE, runs everything in the braces. This means that you can trigger code in an if statement with a single-value logical vector: weekend <- TRUE if(weekend){ print("It's the weekend!") } ## [1] "It's the weekend!" This functionality can be useful with parameters you choose to include when writing your own functions (e.g., print = TRUE). 7.7.2 Some other control structures The control structure you are most likely to use in data analysis with R is the “if / else” statement. However, there are a few other control structures you may occasionally find useful: next break while You can use the next structure to skip to the next round of a loop when a certain condition is met. For example, we could have used this code to print out odd numbers between 1 and 5: i <- 0 while(i < 5){ i <- 1 + i if(i %% 2 == 0){ next } print(i) } ## [1] 1 ## [1] 3 ## [1] 5 You can use break to break out of a loop if a certain condition is met. For example, the final code will break out of the loop once i is over 2, so it will only print the numbers 1 through 3: i <- 0 while(i <= 5){ if(i > 2){ break } i <- 1 + i print(i) } ## [1] 1 ## [1] 2 ## [1] 3 7.8 In-course exercise 7.8.1 Exploring taxonomic profiling data We’ll be using a package on Bioconductor called microbiome. You’ll need to install that package from Bioconductor. This uses code that’s different from the default you use to download a package from CRAN. Go to the Bioconductor page for the microbiome package and figure out how to install this package based on instructions on that page. The microbiome that includes tools for exploring and analysing microbiome profiling data. This package has a website with tutorial information here. We want to explore a dataset on genus-level microbiota profiling (atlas1006). Navigate to the tutorial webpage to figure out how you can get this example raw data loaded in your R session. Use the class and str functions to start exploring this data. Is it in a dataframe (tibble)? Is it in a tidy format? How is the data structured? On the microbiome page, find the documentation describing the atlas1006 data. Look through this documentation to figure out what information is included in the data. Also, check the helpfile for this dataset and look up the original article describing the data (you can find the article information in the help resources). The atlas1006 data is stored in a special object class called a “phyloseq” object (you should have seen this when you used class with the object). You can pull certain parts of this data using special functions called “accessors”. One is get_variable. Try running get_variable with the atlas1006 data. What do you think this data is showing? Which different nationalities are represented by the study subjects, based on the dataframe you extracted in the last step? How many samples have each nationality? Which different BMI groups are included? Does it look like the study was balanced among these groups? Based on the data you extracted, does it look like diversity varies much between males and females? Across BMI groups? Discuss what steps you would need to take to create the following plot. To start, don’t write any code, just develop a plan. Talk about what the dataset should look like right before you create the plot and what functions you could use to get the data from its current format to that format. Try to write the code to create this plot. This will include some code for cleaning the data and some code for plotting. I will add one example answer after class, but I’d like you to try to figure it out yourselves first. 7.8.1.1 Example R code Install the microbiome package from Bioconductor: if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager") BiocManager::install("microbiome") Load the atlas1006 example data in the microbiome package and explore it with str and class: library(microbiome) data(atlas1006) class(atlas1006) ## [1] "phyloseq" ## attr(,"package") ## [1] "phyloseq" str(atlas1006) ## Formal class 'phyloseq' [package "phyloseq"] with 5 slots ## ..@ otu_table:Formal class 'otu_table' [package "phyloseq"] with 2 slots ## .. .. ..@ .Data : num [1:130, 1:1151] 0 0 0 21 1 72 0 0 176 10 ... ## .. .. .. ..- attr(*, "dimnames")=List of 2 ## .. .. .. .. ..$ : chr [1:130] "Actinomycetaceae" "Aerococcus" "Aeromonas" "Akkermansia" ... ## .. .. .. .. ..$ : chr [1:1151] "Sample-1" "Sample-2" "Sample-3" "Sample-4" ... ## .. .. ..@ taxa_are_rows: logi TRUE ## ..@ tax_table:Formal class 'taxonomyTable' [package "phyloseq"] with 1 slot ## .. .. ..@ .Data: chr [1:130, 1:3] "Actinobacteria" "Firmicutes" "Proteobacteria" "Verrucomicrobia" ... ## .. .. .. ..- attr(*, "dimnames")=List of 2 ## .. .. .. .. ..$ : chr [1:130] "Actinomycetaceae" "Aerococcus" "Aeromonas" "Akkermansia" ... ## .. .. .. .. ..$ : chr [1:3] "Phylum" "Family" "Genus" ## ..@ sam_data :'data.frame': 1151 obs. of 10 variables: ## Formal class 'sample_data' [package "phyloseq"] with 4 slots ## .. .. ..@ .Data :List of 10 ## .. .. .. ..$ : int [1:1151] 28 24 52 22 25 42 25 27 21 25 ... ## .. .. .. ..$ : Factor w/ 2 levels "female","male": 2 1 2 1 1 2 1 1 1 1 ... ## .. .. .. ..$ : Factor w/ 6 levels "CentralEurope",..: 6 6 6 6 6 6 6 6 6 6 ... ## .. .. .. ..$ : Factor w/ 3 levels "o","p","r": NA NA NA NA NA NA NA NA NA NA ... ## .. .. .. ..$ : Factor w/ 40 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ... ## .. .. .. ..$ : num [1:1151] 5.76 6.06 5.5 5.87 5.89 5.53 5.49 5.38 5.34 5.64 ... ## .. .. .. ..$ : Factor w/ 6 levels "underweight",..: 5 4 2 1 2 2 1 2 2 2 ... ## .. .. .. ..$ : Factor w/ 1006 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 10 ... ## .. .. .. ..$ : num [1:1151] 0 0 0 0 0 0 0 0 0 0 ... ## .. .. .. ..$ : chr [1:1151] "Sample-1" "Sample-2" "Sample-3" "Sample-4" ... ## .. .. ..@ names : chr [1:10] "age" "sex" "nationality" "DNA_extraction_method" ... ## .. .. ..@ row.names: chr [1:1151] "Sample-1" "Sample-2" "Sample-3" "Sample-4" ... ## .. .. ..@ .S3Class : chr "data.frame" ## ..@ phy_tree : NULL ## ..@ refseq : NULL Pull out the data frame that contains information on each study subject in the atlas1006 data by using the get_variable accessor function: get_variable(atlas1006) %>% head() ## age sex nationality DNA_extraction_method project diversity ## Sample-1 28 male US <NA> 1 5.76 ## Sample-2 24 female US <NA> 1 6.06 ## Sample-3 52 male US <NA> 1 5.50 ## Sample-4 22 female US <NA> 1 5.87 ## Sample-5 25 female US <NA> 1 5.89 ## Sample-6 42 male US <NA> 1 5.53 ## bmi_group subject time sample ## Sample-1 severeobese 1 0 Sample-1 ## Sample-2 obese 2 0 Sample-2 ## Sample-3 lean 3 0 Sample-3 ## Sample-4 underweight 4 0 Sample-4 ## Sample-5 lean 5 0 Sample-5 ## Sample-6 lean 6 0 Sample-6 Note: Since the first argument to get_variable is the phyloseq object (here, the atlas1006 data object), you can pipe into the function, like this: atlas1006 %>% get_variable() %>% head() Find out the different nationalities included in the data: atlas1006 %>% get_variable() %>% as_tibble() %>% # Change output from a data.frame to a tibble group_by(nationality) %>% count() ## # A tibble: 7 x 2 ## # Groups: nationality [7] ## nationality n ## <fct> <int> ## 1 CentralEurope 650 ## 2 EasternEurope 15 ## 3 Scandinavia 271 ## 4 SouthEurope 89 ## 5 UKIE 50 ## 6 US 44 ## 7 <NA> 32 It looks like most subjects were from Central Europe, with the next-largest group from Scandinavia. Note: If you wanted to rearrange this summary to give the nationalities in order of the number of subjects in each, you could add on a forcats function: atlas1006 %>% get_variable() %>% as_tibble() %>% # Change output from a data.frame to a tibble mutate(nationality = fct_infreq(nationality)) %>% group_by(nationality) %>% count() ## # A tibble: 7 x 2 ## # Groups: nationality [7] ## nationality n ## <fct> <int> ## 1 CentralEurope 650 ## 2 Scandinavia 271 ## 3 SouthEurope 89 ## 4 UKIE 50 ## 5 US 44 ## 6 EasternEurope 15 ## 7 <NA> 32 Find out the different BMI groups included in the data and if the study seemed to be balanced across those groups: atlas1006 %>% get_variable() %>% as_tibble() %>% # Change output from a data.frame to a tibble group_by(bmi_group) %>% count() ## # A tibble: 7 x 2 ## # Groups: bmi_group [7] ## bmi_group n ## <fct> <int> ## 1 underweight 21 ## 2 lean 484 ## 3 overweight 197 ## 4 obese 222 ## 5 severeobese 99 ## 6 morbidobese 22 ## 7 <NA> 106 There were six different BMI groups. Over 100 study subjects had this information missing. The samples were not evenly distributed across these BMI groups. Instead, the most common (lean) had almost 500 subjects, while the smaller BMI-group samples were around 20 people. See if it looks like diversity varies much between males and females: atlas1006 %>% get_variable() %>% as_tibble() %>% group_by(sex) %>% summarize(mean_diversity = mean(diversity)) ## `summarise()` ungrouping output (override with `.groups` argument) ## # A tibble: 3 x 2 ## sex mean_diversity ## <fct> <dbl> ## 1 female 5.84 ## 2 male 5.85 ## 3 <NA> 5.76 See if it looks like diversity varies much across BMI groups: atlas1006 %>% get_variable() %>% as_tibble() %>% group_by(bmi_group) %>% summarize(mean_diversity = mean(diversity)) ## `summarise()` ungrouping output (override with `.groups` argument) ## # A tibble: 7 x 2 ## bmi_group mean_diversity ## <fct> <dbl> ## 1 underweight 5.84 ## 2 lean 5.89 ## 3 overweight 5.83 ## 4 obese 5.82 ## 5 severeobese 5.74 ## 6 morbidobese 5.67 ## 7 <NA> 5.81 Here is the code for the plot: library(tidyverse) library(ggthemes) library(microbiome) data(atlas1006) atlas1006 %>% get_variable() %>% ggplot(aes(x = bmi_group, y = diversity, color = sex)) + geom_boxplot(alpha = 0.2) + facet_wrap(~ nationality) 7.8.2 More with baby names Let’s look at baby names that we started looking at last class, based on the letter they start with. For the full dataframe, what proportion of baby names start with each letter? See if you can create a figure to help show this. Create the same plot using the names of people from our class. What proportion of names start with “C” or “S” across the full dataset? 7.8.2.1 Example R code For the full dataframe, what proportion of baby names start with “S”? To start, create a column with the first letter of each name. You can use functions in the stringr package to do this. The easiest might be to use the position of the first letter to pull that information. library(babynames) library(stringr) top_letters <- babynames %>% mutate(first_letter = str_sub(name, 1, 1)) top_letters %>% select(name, first_letter) %>% slice(1:5) ## # A tibble: 5 x 2 ## name first_letter ## <chr> <chr> ## 1 Mary M ## 2 Anna A ## 3 Emma E ## 4 Elizabeth E ## 5 Minnie M Now we can group by letter and figure out these proportions. First, while the data is grouped, count the number of names with each letter. Then, ungroup and use mutate to divide this by the total number of names: top_letters <- top_letters %>% group_by(first_letter) %>% summarize(n = sum(n)) %>% ungroup() %>% mutate(prop = n / sum(n)) %>% arrange(desc(prop)) ## `summarise()` ungrouping output (override with `.groups` argument) top_letters ## # A tibble: 26 x 3 ## first_letter n prop ## <chr> <int> <dbl> ## 1 J 44612175 0.128 ## 2 M 32864210 0.0944 ## 3 A 28855232 0.0829 ## 4 C 25533863 0.0733 ## 5 D 24240271 0.0696 ## 6 R 23702794 0.0681 ## 7 S 21373830 0.0614 ## 8 L 18942067 0.0544 ## 9 E 17033760 0.0489 ## 10 K 17006684 0.0489 ## # … with 16 more rows Here’s one way to visualize this: library(scales) top_letters %>% mutate(first_letter = fct_reorder(first_letter, prop)) %>% ggplot(aes(x = first_letter)) + geom_bar(aes(weight = prop)) + coord_flip() + scale_y_continuous(labels = percent) + labs(x = "", y = "Percent of names that start with ...") Create the same plot using the names of people in our class. First, create a vector with the names of people in our class: student_list <- data_frame(name = c("Burton", "Caroline", "Chaoyu", "Collin", "Daniel", "Eric", "Erin", "Heather", "Jacob", "Jessica", "Khum", "Kyle", "Matthew", "Molly", "Nikki", "Rachel", "Sere", "Shayna", "Sherry", "Sunny")) student_list <- student_list %>% mutate(first_letter = str_sub(name, 1, 1)) student_list ## # A tibble: 20 x 2 ## name first_letter ## <chr> <chr> ## 1 Burton B ## 2 Caroline C ## 3 Chaoyu C ## 4 Collin C ## 5 Daniel D ## 6 Eric E ## 7 Erin E ## 8 Heather H ## 9 Jacob J ## 10 Jessica J ## 11 Khum K ## 12 Kyle K ## 13 Matthew M ## 14 Molly M ## 15 Nikki N ## 16 Rachel R ## 17 Sere S ## 18 Shayna S ## 19 Sherry S ## 20 Sunny S library(scales) student_list %>% group_by(first_letter) %>% count() %>% ungroup() %>% mutate(prop = n / sum(n)) %>% mutate(first_letter = fct_reorder(first_letter, prop)) %>% ggplot(aes(x = first_letter)) + geom_bar(aes(weight = prop)) + coord_flip() + scale_y_continuous(labels = percent) + labs(x = "", y = "Percent of students with\\na name that starts with ...") What proportion of names start with “C” or “S” across the full dataset? You can create a dataframe that (1) pulls out the first letter of each name (just like we did for the last part of the question) and (2) tests whether that first letter is an “A” or a “K” (using a logical statement): c_or_s <- babynames %>% mutate(first_letter = str_sub(name, 1, 1), c_or_s = first_letter %in% c("C", "S")) c_or_s %>% select(name, first_letter, c_or_s) %>% slice(1:5) ## # A tibble: 5 x 3 ## name first_letter c_or_s ## <chr> <chr> <lgl> ## 1 Mary M FALSE ## 2 Anna A FALSE ## 3 Emma E FALSE ## 4 Elizabeth E FALSE ## 5 Minnie M FALSE Next, group by this logical column (c_or_s) and figure out the number of baby names for each group. Then, to get the proportion of the total, ungroup and mutate to divide by the total number across the data: c_or_s %>% group_by(c_or_s) %>% count() %>% ungroup() %>% mutate(prop = n / sum(n)) ## # A tibble: 2 x 3 ## c_or_s n prop ## <lgl> <int> <dbl> ## 1 FALSE 1655755 0.860 ## 2 TRUE 268910 0.140 7.8.3 Running a simple statistical test In the last part of the in-course exercise, we found out that about 14% of babies born in the United States between 1980 and 1995 had names that started with an “C” or “S” (268,910 babies out of 1,924,665). What is the proportion of people with names that start with an “C” or “S” in our class? Use a simple statistical test to test the hypothesis that the class comes from a binomial distribution with the same distribution as babies born in the US over the time tracked by this data, in terms of chance of having a name that starts with “C” or “S”. (Hint: You will be comparing two proportions. Try googling for a statistical test in R that does that.) See if you can figure out a way to make a single “tidy” pipeline for the whole analysis (and output the result as a tidy dataframe). Does the tidy function from broom give different information from this test than the output we got for the Shapiro-Wilk test? You may get the warning “Chi-squared approximation may be incorrect”. See if you can figure out this warning if you get it with the test you used. 7.8.3.1 Example R code Here is a vector with names in our class: library(stringr) student_list <- tibble(name = c("Burton", "Caroline", "Chaoyu", "Collin", "Daniel", "Eric", "Erin", "Heather", "Jacob", "Jessica", "Khum", "Kyle", "Matthew", "Molly", "Nikki", "Rachel", "Sere", "Shayna", "Sherry", "Sunny")) student_list <- student_list %>% mutate(first_letter = str_sub(name, 1, 1)) student_list %>% slice(1:3) ## # A tibble: 3 x 2 ## name first_letter ## <chr> <chr> ## 1 Burton B ## 2 Caroline C ## 3 Chaoyu C Let’s get the total number of students, and then the total number with a name that starts with “C” or “S”: tot_students <- student_list %>% count() tot_students ## # A tibble: 1 x 1 ## n ## <int> ## 1 20 c_or_s_students <- student_list %>% mutate(c_or_s = first_letter %in% c("C", "S")) %>% group_by(c_or_s) %>% count() c_or_s_students ## # A tibble: 2 x 2 ## # Groups: c_or_s [2] ## c_or_s n ## <lgl> <int> ## 1 FALSE 13 ## 2 TRUE 7 The proportion of students with names starting with “A” or “K” are 7 / 20 = 0.35. You could run a statistical test comparing these two proportions (check the help file for the function to figure out where to include each piece): prop.test(x = c(268910, 7), n = c(1924665, 20)) ## Warning in prop.test(x = c(268910, 7), n = c(1924665, 20)): Chi-squared ## approximation may be incorrect ## ## 2-sample test for equality of proportions with continuity correction ## ## data: c(268910, 7) out of c(1924665, 20) ## X-squared = 5.7121, df = 1, p-value = 0.01685 ## alternative hypothesis: two.sided ## 95 percent confidence interval: ## -0.44432032 0.02375596 ## sample estimates: ## prop 1 prop 2 ## 0.1397178 0.3500000 There are a few different ways you could run this test. For example, you could also test whether the proportion in our class is consistent with the null hypothesis that you were drawn from a binomial distribution with a proportion of 0.14 (in-line with the national values): prop.test(x = 7, n = 20, p = 0.14) ## Warning in prop.test(x = 7, n = 20, p = 0.14): Chi-squared approximation may be ## incorrect ## ## 1-sample proportions test with continuity correction ## ## data: 7 out of 20, null probability 0.14 ## X-squared = 5.6852, df = 1, p-value = 0.01711 ## alternative hypothesis: true p is not equal to 0.14 ## 95 percent confidence interval: ## 0.1630867 0.5905104 ## sample estimates: ## p ## 0.35 You can also see if we can pipe into prop.test by summing up the number of successes (“1”: the person’s name starts with “C” or “S”). Because this is using an unsummarized form of the data, it lets us use some of the tidyverse tools more easily: library(purrr) library(broom) student_list %>% mutate(c_or_s = first_letter %in% c("C", "S")) %>% pluck("c_or_s") %>% sum() %>% prop.test(n = 20, p = 0.14) %>% tidy() ## Warning in prop.test(., n = 20, p = 0.14): Chi-squared approximation may be ## incorrect ## # A tibble: 1 x 8 ## estimate statistic p.value parameter conf.low conf.high method alternative ## <dbl> <dbl> <dbl> <int> <dbl> <dbl> <chr> <chr> ## 1 0.35 5.69 0.0171 1 0.163 0.591 1-sample … two.sided Finally, when we run this test, we get the warning that “Chi-squared approximation may be incorrect”. Based on googling ‘r prop.test “Chi-squared approximation may be incorrect”’, it sounds like we might be getting this error because we have a pretty low number of people in the class. One recommendation is to use binom.test, which will run as an exact binomial test: binom.test(x = 7, n = 20, p = 0.14) ## ## Exact binomial test ## ## data: 7 and 20 ## number of successes = 7, number of trials = 20, p-value = 0.01534 ## alternative hypothesis: true probability of success is not equal to 0.14 ## 95 percent confidence interval: ## 0.1539092 0.5921885 ## sample estimates: ## probability of success ## 0.35 7.8.4 Using regression models to explore data #1 For this exercise, you will need the following packages. If do not have them already, you will need to install them. library(ggplot2) library(broom) library(ggfortify) For this part of the exercise, you’ll use a dataset on weather, air pollution, and mortality counts in Chicago, IL. This dataset is called chicagoNMMAPS and is part of the dlnm package. Change the name of the data frame to chic (this object name is shorter and will be easier to work with). Check out the data a bit to see what variables you have, and then perform the following tasks: Write out (on paper, not in R) the regression equation for regressing dewpoint temperature on temperature. Try fitting a linear regression of dew point temperature (dptp) regressed on temperature (temp). Save this model as the object mod_1 (i.e., is the dependent variable of dewpoint temperature linearly associated with the independent variable of temperature). Based on this regression, does there seem to be a relationship between temperature and dewpoint temperature in Chicago? (Hint: Try using glance and tidy from the broom package on the model object to get more information about the model you fit.) What is the coefficient for temperature (in other words, for every 1 degree increase in temperature, how much do we expect the dewpoint temperature to change?)? What is the p-value for the coefficient for temperature? Plot temperature (x-axis) versus dewpoint temperature (y-axis) for Chicago. Add in the regression line from the model you fit by using the results from augment. Use autoplot on the model object to generate some model diagnostic plots (make sure you have the ggfortify package loaded and installed). 7.8.4.1 Example R code: The regression equation for the model you want to fit, regressing dewpoint temperature on temperature, is: \\[ Y_t \\sim \\beta_0 + \\beta_1 X_t \\] where \\(Y_t\\) is the dewpoint temperature on day \\(t\\), \\(X_t\\) is the temperature on day \\(t\\), and \\(\\beta_0\\) and \\(\\beta_1\\) are model coefficients. Install and load the dlnm package and then load the chicagoNMMAPS data. Change the name of the data frame to chic, so it will be shorter to call for the rest of your work. # install.packages("dlnm") library(dlnm) data("chicagoNMMAPS") chic <- chicagoNMMAPS Fit a linear regression of dptp on temp and save as the object mod_1: mod_1 <- lm(dptp ~ temp, data = chic) mod_1 ## ## Call: ## lm(formula = dptp ~ temp, data = chic) ## ## Coefficients: ## (Intercept) temp ## 24.025 1.621 Use functions from the broom package to pull the same information about the model in a “tidy” format. To find out if the evidence for a linear association between temperature and dewpoint temperature, use the tidy function to get model coefficients in a tidy format: tidy(mod_1) ## # A tibble: 2 x 5 ## term estimate std.error statistic p.value ## <chr> <dbl> <dbl> <dbl> <dbl> ## 1 (Intercept) 24.0 0.113 213. 0 ## 2 temp 1.62 0.00763 212. 0 There does seem to be an association between temperature and dewpoint temperature: a unit increase in temperature is associated with a 1.6 unit increase in dewpoint temperature. The p-value for the temperature coefficient is <2e-16. This is far below 0.05, which suggests we would be very unlikely to see such a strong association by chance if the null hypothesis, that the two variables are not associated, were true. You can also check overall model summaries using the glance function: glance(mod_1) ## # A tibble: 1 x 12 ## r.squared adj.r.squared sigma statistic p.value df logLik AIC BIC ## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 0.898 0.898 5.90 45108. 0 1 -16332. 32670. 32690. ## # … with 3 more variables: deviance <dbl>, df.residual <int>, nobs <int> To create plots of the observations and the fit model, use the augment function to add model output (e.g., predictions, residuals) to the original data frame of observed temperatures and dew point temperatures: augment(mod_1) %>% slice(1:3) ## # A tibble: 3 x 8 ## dptp temp .fitted .resid .std.resid .hat .sigma .cooksd ## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 31.5 -0.278 23.6 7.93 1.34 0.000376 5.90 0.000340 ## 2 29.9 0.556 24.9 4.95 0.839 0.000348 5.90 0.000123 ## 3 27.4 0.556 24.9 2.45 0.415 0.000348 5.90 0.0000300 Plot these two variables and add in the fitted line from the model (note: I’ve used the color option to make the color of the points gray). Use the output from augment to create a plot of the original data, with the predicted values used to plot a fitted line. augment(mod_1) %>% ggplot(aes(x = temp, y = dptp)) + geom_point(size = 0.8, alpha = 0.5, col = "gray") + geom_line(aes(x = temp, y = .fitted), color = "red", size = 2) + theme_classic() Plot some plots to check model assumptions for the model you fit using the autoplot function on your model object: autoplot(mod_1) ## Warning: `arrange_()` is deprecated as of dplyr 0.7.0. ## Please use `arrange()` instead. ## See vignette('programming') for more help ## This warning is displayed once every 8 hours. ## Call `lifecycle::last_warnings()` to see where this warning was generated. 7.8.5 Using regression models to explore data #2 Try fitting the regression from the last part of the in-course exercise as a GLM, using glm() (but still assuming the outcome variable is normally distributed). Are your coefficients different? Does \\(PM_{10}\\) vary by day of the week? (Hint: The dow variable is a factor that gives day of the week. You can do an ANOVA analysis by fitting a linear model using this variable as the independent variable. Some of the overall model summaries will compare this model to an intercept-only model.) What day of the week is \\(PM_{10}\\) generally highest? (Check the model coefficients to figure this out.) Try to write out (on paper) the regression equation for the model you’re fitting. Try using glm() to run a Poisson regression of respiratory deaths (resp) on temperature during summer days. Start by creating a subset with just summer days called summer. (Hint: Use the month function with the argument label = TRUE from lubridate to do this—just pull out the subset where the month June, July, or August.) Try to write out the regression equation for the model you’re fitting. The coefficient for the temperature variable in this model is our best estimate (based on this model) of the log relative risk for a one degree Celcius increase in temperature. What is the relative risk associated with a one degree Celsius increase? 7.8.5.1 Example R code: Try fitting the model from the last part of the in-course exercise using glm(). Call it mod_1a. Compare the coefficients for the two models. You can use the tidy function on an lm or glm object to pull out just the model coefficients and associated model results. Here, I’ve used a pipeline of code to create a tidy data frame that merges these “tidy” coefficient outputs (from the two models) into a single data frame): mod_1a <- glm(dptp ~ temp, data = chic) tidy(mod_1) %>% select(term, estimate) %>% inner_join(mod_1a %>% tidy() %>% select(term, estimate), by = "term") %>% rename(estimate_lm_mod = estimate.x, estimate_glm_mod = estimate.y) ## # A tibble: 2 x 3 ## term estimate_lm_mod estimate_glm_mod ## <chr> <dbl> <dbl> ## 1 (Intercept) 24.0 24.0 ## 2 temp 1.62 1.62 The results from the two models are identical. As a note, you could have also just run tidy on each model object, without merging them together into a single data frame: tidy(mod_1) ## # A tibble: 2 x 5 ## term estimate std.error statistic p.value ## <chr> <dbl> <dbl> <dbl> <dbl> ## 1 (Intercept) 24.0 0.113 213. 0 ## 2 temp 1.62 0.00763 212. 0 tidy(mod_1a) ## # A tibble: 2 x 5 ## term estimate std.error statistic p.value ## <chr> <dbl> <dbl> <dbl> <dbl> ## 1 (Intercept) 24.0 0.113 213. 0 ## 2 temp 1.62 0.00763 212. 0 Fit a model of \\(PM_{10}\\) regressed on day of week, where day of week is a factor. mod_2 <- lm(pm10 ~ dow, data = chic) tidy(mod_2) ## # A tibble: 7 x 5 ## term estimate std.error statistic p.value ## <chr> <dbl> <dbl> <dbl> <dbl> ## 1 (Intercept) 27.5 0.730 37.7 7.47e-273 ## 2 dowMonday 6.13 1.03 5.93 3.22e- 9 ## 3 dowTuesday 6.80 1.03 6.62 4.05e- 11 ## 4 dowWednesday 8.48 1.03 8.26 1.85e- 16 ## 5 dowThursday 8.80 1.02 8.60 1.08e- 17 ## 6 dowFriday 9.48 1.03 9.24 3.61e- 20 ## 7 dowSaturday 3.66 1.03 3.56 3.68e- 4 Use glance to check some of the overall summaries of this model. The statistic column here is the F statistic from test comparing this model to an intercept-only model. glance(mod_2) ## # A tibble: 1 x 12 ## r.squared adj.r.squared sigma statistic p.value df logLik AIC BIC ## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 0.0259 0.0247 19.1 21.5 4.61e-25 6 -21234. 42484. 42536. ## # … with 3 more variables: deviance <dbl>, df.residual <int>, nobs <int> As a note, you may have heard in previous statistics classes that you can use the anova() command to compare this model to a model with only an intercept (i.e., one that only fits a global mean and uses that as the expected value for all of the observations). Note that, in this case, the F value from anova for this model comparison is the same as the statistic you got in the overall summary statistics you get with glance in the previous code. anova(mod_2) ## Analysis of Variance Table ## ## Response: pm10 ## Df Sum Sq Mean Sq F value Pr(>F) ## dow 6 46924 7820.6 21.5 < 2.2e-16 *** ## Residuals 4856 1766407 363.8 ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 The overall p-value from anova for with day-of-week coefficients versus the model that just has an intercept is < 2.2e-16. This is well below 0.05, which suggests that day-of-week is associated with PM10 concentration, as a model that includes day-of-week does a much better job of explaining variation in PM10 than a model without it does. Use a boxplot to visually compare PM10 by day of week. ggplot(chic, aes(x = dow, y = pm10)) + geom_boxplot() Now try the same plot, but try using the ylim = option to change the limits on the y-axis for the graph, so you can get a better idea of the pattern by day of week (some of the extreme values are very high, which makes it hard to compare by eye when the y-axis extends to include them all). ggplot(chic, aes(x = dow, y = pm10)) + geom_boxplot() + ylim(c(0, 100)) ## Warning: Removed 292 rows containing non-finite values (stat_boxplot). Create a subset called summer with just the summer days: library(lubridate) summer <- chic %>% mutate(month = month(date, label = TRUE)) %>% filter(month %in% c("Jun", "Jul", "Aug")) summer %>% slice(1:3) ## date time year month doy dow death cvd resp temp dptp rhum ## 1 1987-06-01 152 1987 Jun 152 Monday 112 60 5 23.61111 68.50 71.875 ## 2 1987-06-02 153 1987 Jun 153 Tuesday 111 57 7 22.22222 64.75 95.250 ## 3 1987-06-03 154 1987 Jun 154 Wednesday 120 59 9 20.55556 47.25 47.125 ## pm10 o3 ## 1 22.95607 34.94623 ## 2 31.31339 18.96620 ## 3 34.95607 23.59270 Use glm() to fit a Poisson model of respiratory deaths regressed on temperature. Since you want to fit a Poisson model, use the option family = poisson(link = \"log\"). mod_3 <- glm(resp ~ temp, data = summer, family = poisson(link = "log")) glance(mod_3) ## # A tibble: 1 x 8 ## null.deviance df.null logLik AIC BIC deviance df.residual nobs ## <dbl> <int> <dbl> <dbl> <dbl> <dbl> <int> <int> ## 1 1499. 1287 -3211. 6425. 6436. 1494. 1286 1288 tidy(mod_3) ## # A tibble: 2 x 5 ## term estimate std.error statistic p.value ## <chr> <dbl> <dbl> <dbl> <dbl> ## 1 (Intercept) 1.91 0.0584 32.7 6.60e-235 ## 2 temp 0.00614 0.00258 2.38 1.74e- 2 Use the fitted model coefficient to determine the relative risk for a one degree Celsius increase in temperature. First, remember that you can use the tidy() function to read out the model coefficients. The second of these is the value for the temperature coefficient. That means that you can use indexing ([2]) to get just that value. That’s the log relative risk; take the exponent to get the relative risk. tidy(mod_3) %>% filter(term == "temp") %>% mutate(log_rr = exp(estimate)) ## # A tibble: 1 x 6 ## term estimate std.error statistic p.value log_rr ## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 temp 0.00614 0.00258 2.38 0.0174 1.01 As a note, you can use the conf.int parameter in tidy to also pull confidence intervals: tidy(mod_3, conf.int = TRUE) ## # A tibble: 2 x 7 ## term estimate std.error statistic p.value conf.low conf.high ## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 (Intercept) 1.91 0.0584 32.7 6.60e-235 1.80 2.02 ## 2 temp 0.00614 0.00258 2.38 1.74e- 2 0.00108 0.0112 You could use this to get the confidence interval for relative risk (check out the mutate_at function if you haven’t seen it before): tidy(mod_3, conf.int = TRUE) %>% select(term, estimate, conf.low, conf.high) %>% filter(term == "temp") %>% mutate_at(vars(estimate:conf.high), funs(exp(.))) ## Warning: `funs()` is deprecated as of dplyr 0.8.0. ## Please use a list of either functions or lambdas: ## ## # Simple named list: ## list(mean = mean, median = median) ## ## # Auto named with `tibble::lst()`: ## tibble::lst(mean, median) ## ## # Using lambdas ## list(~ mean(., trim = .2), ~ median(., na.rm = TRUE)) ## This warning is displayed once every 8 hours. ## Call `lifecycle::last_warnings()` to see where this warning was generated. ## # A tibble: 1 x 4 ## term estimate conf.low conf.high ## <chr> <dbl> <dbl> <dbl> ## 1 temp 1.01 1.00 1.01 7.8.6 Trying out nesting and mapping We’ll be using data that’s in an R package called “nycflights13”. This data package can be installed from CRAN. Install the package and then load the package and its “flights” dataset. So that this data will be easier to work with, remove all columns except for those for the departure delay (dep_delay), the carrier (carrier), the hour the flight was supposed to leave (hour), and the airport the flight left from (origin). Also, limit the dataset to only flights that left from LaGuardia Airport (“LGA”). We want to figure out if the probability of a flight leaving 15 minutes late or more increases over the day for flights leaving LaGuardia. Filter out all the rows where the departure delay is missing and then create a new column called late_dep that is true if the flight left 15 minutes or more late and false otherwise. What proportion of all flights leaving from LaGuardia leave 15 minutes late or later? Next, determine what proportion of all flights are delayed base on the hour that the flight was scheduled to depart (hour). Create a plot showing how the probability of leaving 15 minutes or more late changes by hour. Fit a generalized linear model for the association between the binary variable of whether the flight was 15 minutes or more late (late_dep) and the hour the flight was scheduled to leave (hour). Use a binomial model (add family = binomial(link = \"logit\") in the glm call). The estimate from the model for hour will be an estimate of the log odds ratio for a one-hour increase in scheduled departure time. Take the exponent of this estimate with exp to get an estimated odds ratio for a one-hour increase in scheduled departure time. Is this estimate larger than 1.0? Next, we want to see if this association is similar across airlines. First, create a dataframe called nested_flights where the flights data is grouped by airline (carrier) and then nest the data, so that there is a “data” list-column where each item is a dataframe of flight delay data for a specific carrier. Use the map function from purrr inside a mutate statement to apply the glm code you used earlier for the whole dataset, but in this case for the data for each airline character. Then use the map function inside a mutate statement again to “tidy” the data. Clean the data up a bit. Remove the columns for data and glm_result and then unnest the dataframe list-column with the tidy version of the model results. Filter to get only the estimates for the “hour” term. Then calculate an odds ratio (or) by taking the exponent (check out the exp function) of the original estimate. The package has a dataframe with the full name of each carrier (airlines). Join this data into the data you’ve been working with, so you have the full names of airlines. Finally, create the following plot with each airline’s odds ratio for the change in the chance of a delay per one-hour increase in the scheduled hour of departure: 7.8.6.1 Example R code: Install the “nycflights13” package from CRAN. Load the package and its “flights” dataset. library(ggplot2) library(nycflights13) data(flights) So that this data will be easier to work with, remove all columns except for those for the departure dealy (dep_delay), the carrier (carrier), the hour the flight was supposed to leave (hour), and the airport the flight left from (origin). flights <- flights %>% select(dep_delay, carrier, hour, origin) %>% filter(origin == "LGA") flights ## # A tibble: 104,662 x 4 ## dep_delay carrier hour origin ## <dbl> <chr> <dbl> <chr> ## 1 4 UA 5 LGA ## 2 -6 DL 6 LGA ## 3 -3 EV 6 LGA ## 4 -2 AA 6 LGA ## 5 -1 AA 6 LGA ## 6 0 B6 6 LGA ## 7 0 MQ 6 LGA ## 8 -8 DL 6 LGA ## 9 -3 MQ 6 LGA ## 10 13 AA 6 LGA ## # … with 104,652 more rows Filter out all the rows where the departure delay is missing and then create a new column called late_dep that is true if the flight left 15 minutes or more late and false otherwise. flights <- flights %>% filter(!is.na(dep_delay)) %>% mutate(late_dep = dep_delay > 15) flights ## # A tibble: 101,509 x 5 ## dep_delay carrier hour origin late_dep ## <dbl> <chr> <dbl> <chr> <lgl> ## 1 4 UA 5 LGA FALSE ## 2 -6 DL 6 LGA FALSE ## 3 -3 EV 6 LGA FALSE ## 4 -2 AA 6 LGA FALSE ## 5 -1 AA 6 LGA FALSE ## 6 0 B6 6 LGA FALSE ## 7 0 MQ 6 LGA FALSE ## 8 -8 DL 6 LGA FALSE ## 9 -3 MQ 6 LGA FALSE ## 10 13 AA 6 LGA FALSE ## # … with 101,499 more rows What proportion of all flights leaving from LaGuardia leave 15 minutes late or later? To check this, remember that TRUE is saved as a “1” and FALSE is saved as a “0”. That means that we can take the mean of a logical vector to get the proportion of trials that are true. flights %>% purrr::pluck("late_dep") %>% mean() ## [1] 0.1889685 Determine what proportion of all flights are delayed base on the hour that the flight was scheduled to depart (hour). Create a plot showing how the probability of leaving 15 minutes or more late changes by hour. flights_late <- flights %>% group_by(hour) %>% summarize(prob_late = mean(late_dep)) ## `summarise()` ungrouping output (override with `.groups` argument) flights_late ## # A tibble: 18 x 2 ## hour prob_late ## <dbl> <dbl> ## 1 5 0.0588 ## 2 6 0.0519 ## 3 7 0.0570 ## 4 8 0.0967 ## 5 9 0.105 ## 6 10 0.128 ## 7 11 0.159 ## 8 12 0.163 ## 9 13 0.200 ## 10 14 0.207 ## 11 15 0.236 ## 12 16 0.273 ## 13 17 0.292 ## 14 18 0.298 ## 15 19 0.314 ## 16 20 0.331 ## 17 21 0.309 ## 18 22 0.391 flights_late %>% ggplot(aes(x = hour, y = prob_late)) + geom_line() Fit a generalized linear model for the association between the binary variable of whether the flight was 15 minutes or more late (late_dep) and the hour the flight was scheduled to leave (hour). Use a binomial model (add family = binomial(link = \"logit\") in the glm call). The estimate from the model for hour will be an estimate of the log odds ratio for a one-hour increase in scheduled departure time. Take the exponent of this estimate with exp to get an estimated odds ratio for a one-hour increase in scheduled departure time. Is this estimate larger than 1.0? glm(late_dep ~ hour, data = flights, family = binomial(link = "logit")) ## ## Call: glm(formula = late_dep ~ hour, family = binomial(link = "logit"), ## data = flights) ## ## Coefficients: ## (Intercept) hour ## -3.3643 0.1399 ## ## Degrees of Freedom: 101508 Total (i.e. Null); 101507 Residual ## Null Deviance: 98410 ## Residual Deviance: 92810 AIC: 92810 library(broom) glm(late_dep ~ hour, data = flights, family = binomial(link = "logit")) %>% tidy() %>% # Tidy the model results filter(term == "hour") %>% # Only look at the estimate for `hour` mutate(or = exp(estimate)) # Estimate is log odds ratio. Take exponent for odds ratio ## # A tibble: 1 x 6 ## term estimate std.error statistic p.value or ## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 hour 0.140 0.00195 71.7 0 1.15 Next, we want to see if this association is similar across airlines. First, create a dataframe called nested_flights where the flights data is grouped by airline (carrier) and then nest the data, so that there is a “data” list-column where each item is a dataframe of flight delay data for a specific carrier: nested_flights <- flights %>% group_by(carrier) %>% nest() nested_flights ## # A tibble: 13 x 2 ## # Groups: carrier [13] ## carrier data ## <chr> <list> ## 1 UA <tibble [7,837 × 4]> ## 2 DL <tibble [22,857 × 4]> ## 3 EV <tibble [8,255 × 4]> ## 4 AA <tibble [15,063 × 4]> ## 5 B6 <tibble [5,925 × 4]> ## 6 MQ <tibble [16,189 × 4]> ## 7 WN <tibble [6,000 × 4]> ## 8 FL <tibble [3,187 × 4]> ## 9 US <tibble [12,574 × 4]> ## 10 F9 <tibble [682 × 4]> ## 11 9E <tibble [2,372 × 4]> ## 12 YV <tibble [545 × 4]> ## 13 OO <tibble [23 × 4]> To check the contents of the list-column, try: nested_flights$data[[1]] %>% # Get the first element of the "data" column head() ## # A tibble: 6 x 4 ## dep_delay hour origin late_dep ## <dbl> <dbl> <chr> <lgl> ## 1 4 5 LGA FALSE ## 2 -4 6 LGA FALSE ## 3 1 6 LGA FALSE ## 4 9 7 LGA FALSE ## 5 -4 7 LGA FALSE ## 6 2 7 LGA FALSE Use the map function from purrr inside a mutate statement to apply the glm code you used earlier for the whole dataset, but in this case for the data for each airline character: library(purrr) library(tidyr) prob_late <- nested_flights %>% mutate(glm_result = purrr::map(data, ~ glm(late_dep ~ hour, data = .x, family = binomial(link = "logit")))) # Check the results for the first element of the "glm_result" column: prob_late$glm_result[[1]] ## ## Call: glm(formula = late_dep ~ hour, family = binomial(link = "logit"), ## data = .x) ## ## Coefficients: ## (Intercept) hour ## -3.4305 0.1551 ## ## Degrees of Freedom: 7836 Total (i.e. Null); 7835 Residual ## Null Deviance: 7601 ## Residual Deviance: 7064 AIC: 7068 Then use the map function inside a mutate statement again to “tidy” the data. prob_late <- prob_late %>% mutate(glm_tidy = purrr::map(glm_result, ~ tidy(.x))) Remove the columns for data and glm_result: prob_late <- prob_late %>% select(-data, -glm_result) Then `unnest the dataframe list-column with the tidy version of the model results: prob_late <- prob_late %>% unnest(glm_tidy) Filter to get only the estimates for the “hour” term: prob_late <- prob_late %>% filter(term == "hour") Then calculate an odds ratio (or) by taking the exponent (check the exp function) of the original estimate. prob_late <- prob_late %>% mutate(or = exp(estimate)) head(prob_late) ## # A tibble: 6 x 7 ## # Groups: carrier [6] ## carrier term estimate std.error statistic p.value or ## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 UA hour 0.155 0.00705 22.0 2.88e-107 1.17 ## 2 DL hour 0.148 0.00454 32.6 1.80e-232 1.16 ## 3 EV hour 0.0952 0.00572 16.7 2.79e- 62 1.10 ## 4 AA hour 0.146 0.00580 25.2 1.05e-139 1.16 ## 5 B6 hour 0.168 0.00702 23.9 7.13e-126 1.18 ## 6 MQ hour 0.110 0.00468 23.5 2.23e-122 1.12 The package has a dataframe with the full name of each carrier (airlines). Join this data into the data you’ve been working with, so you have the full names of airlines: prob_late <- left_join(prob_late, airlines, by = "carrier") Finally, create the following plot with each airline’s association between hour in the day and the chance of a delay: library(forcats) data(airlines) prob_late %>% ungroup() %>% mutate(estimate = exp(estimate)) %>% mutate(name = fct_reorder(name, estimate)) %>% ggplot(aes(x = estimate, y = name)) + geom_point() + geom_vline(xintercept = 1, linetype = 3) + labs(x = "Odds ratio for one-hour increase in scheduled deparature time", y = "") 7.8.7 Writing functions Say that you have a four-letter character string (e.g., “ling”) and that you want to move the last letter to the front of the string to create a new four-letter character string (e.g., “glin”). Write some R code to do this. Next, write a function named move_letter that does the same thing—takes a four-letter character string (e.g., “ling”) and creates a new four-letter character string where the last letter in the original string has been moved to the front of the string (e.g., “glin”). It should input one parameter (word, the original four-letter character string or a vector of four-letter character strings). Read the word list at https://raw.githubusercontent.com/dwyl/english-words/master/words.txt into an R dataframe called word_list. It will only have one column; name this column word. Write code that can take a vector of character strings (e.g., c('ling', 'scat', 'soil')) and return a logical vector that says whether that character string is a word in the word_list dataframe you created in the last step (e.g., c('FALSE', 'TRUE', 'TRUE') for a vector where the first value isn’t a word but the second and third are). You may find the pluck function in the purrr package useful in writing this code (to pull the word column out of the word_list dataframe). Write a function called is_word that inputs (1) a vector of character strings and (2) a dataframe with a column called “word” that lists real words. The function should return a logical vector saying whether each character string is a real word. The function should have two arguments: words_to_check, which is a vector of character strings (e.g., c('ling', 'scat', 'soil')), and real_word_list, which is a dataframe with a column called words of real English words (e.g., the word_list dataframe you created from the word list on GitHub). Set the real_word_list argument to have the default value of words, the dataframe you created earlier in this exercise by reading in the dataframe of English words from GitHub. Try using the function with a different word list. As an example, you could read in and use the word list of Google’s top 10,000 English words from https://raw.githubusercontent.com/first20hours/google-10000-english/master/google-10000-english-no-swears.txt. Try using these functions to solve the word puzzle problem in the last homework. 7.8.7.1 Example R code Say that you have a four-letter character string (e.g., “ling”) and that you want to move the last letter to the front of the string to create a new four-letter character string (e.g., “glin”). You can use functions from the stringr package to help with this. library(stringr) # Start with an example word. You can use the example word from # the problem statement ('ling'). word <- "ling" # Break the word into two parts first_three_letters <- str_sub(word, 1, 3) last_letter <- str_sub(word, 4, 4) first_three_letters ## [1] "lin" last_letter ## [1] "g" # Put the parts back together in the right order new_word <- str_c(last_letter, first_three_letters) # You could also use `paste` or `paste0` here new_word ## [1] "glin" Write a function named move_letter that takes a four-letter character string (e.g., “ling”) and creates a new four-letter character string where the last letter in the original string has been moved to the front of the string (e.g., “glin”). It should input one parameter (word, the original four-letter character string or a vector of four-letter character strings). To do this, take the code that you just wrote and put it inside a function named move_letter: move_letter <- function(word){ # Break the word into two parts first_three_letters <- str_sub(word, 1, 3) last_letter <- str_sub(word, 4, 4) # Put the parts back together in the right order str_c(last_letter, first_three_letters) } # Check the function move_letter(word = "ling") ## [1] "glin" # Try with some other four-letter strings move_letter(word = "cats") ## [1] "scat" move_letter(word = "oils") ## [1] "soil" # Check using with a vector of four-letter character strings move_letter(c("cats", "oils")) ## [1] "scat" "soil" Notice that now word is being used as an argument in the function. It’s as if you assigned the string or vector of strings that you want to convert to the object name word, and then you run all the code. The output of the function is the last expression in the function code (str_c(last_letter, first_three_letters)). Also, note that you can add comments inside the function with #, just like you can with other R code. Read the word list at https://raw.githubusercontent.com/dwyl/english-words/master/words.txt into an R dataframe called words. It will only have one column; name this column word_list. library(readr) word_list <- read_csv("https://raw.githubusercontent.com/dwyl/english-words/master/words.txt", col_names = "word") ## Parsed with column specification: ## cols( ## word = col_character() ## ) ## Warning: 2 parsing failures. ## row col expected actual file ## 11 -- 1 columns 3 columns 'https://raw.githubusercontent.com/dwyl/english-words/master/words.txt' ## 12 -- 1 columns 2 columns 'https://raw.githubusercontent.com/dwyl/english-words/master/words.txt' Write code that can take a vector of character strings (e.g., c('ling', 'scat', 'soil')) and return a logical vector that says whether that character string is a word in the word_list dataframe you created in the last step (e.g., c('TRUE', 'FALSE', 'TRUE') for a vector where the second value isn’t a word but the first and third are). library(purrr) words_to_check <- c("ling", "scat", "soil") words_to_check %in% pluck(word_list, "word") ## [1] TRUE FALSE TRUE This code works because you can use pluck to extract a column (as a vector) from a dataframe, and then you can use the %in% operator to see if each value in one vector (the words_to_check vector in this example) is one of the values in the second vector (the word column from the words dataframe in this example). Write a function called is_word that inputs (1) a vector of character strings and (2) a dataframe with a column called “word” that lists real words. The function should return a logical vector saying whether each character string is a real word. The function should have two arguments: words_to_check, which is a vector of character strings and real_word_list which is a dataframe with a column called words of real English words. Set the real_word_list argument to have the default value of words, the dataframe you created earlier in this exercise by reading in the dataframe of English words from GitHub. # Put the code you wrote inside a function is_word <- function(words_to_check, real_word_list = word_list){ words_to_check %in% pluck(real_word_list, "word") } # Check the function is_word(words_to_check = c("ling", "scat", "soil")) ## [1] TRUE FALSE TRUE Note that, if you want to use the word_list dataframe for your real word list, you don’t have to specify that when you call the is_word function, since you set that as your default value. If you wanted to use a different word list, you can specify a different value for the real_word_list argument when you run the function. For example, to use Google’s top 10,000 English word list from GitHub instead, use: google_words <- read_csv("https://raw.githubusercontent.com/first20hours/google-10000-english/master/google-10000-english-no-swears.txt", col_names = "word") ## Parsed with column specification: ## cols( ## word = col_character() ## ) is_word(words_to_check = c("ling", "scat", "soil"), real_word_list = google_words) ## [1] FALSE FALSE TRUE In this case, there was a rarer word (“ling”) that counted as a word when the original word list was used, but not when the Google top-10,000 words list was used. Try using these functions to solve the word puzzle problem in the last homework. word_list %>% filter(str_detect(word, "^m.{7}$")) %>% # This is using regular expressions separate(word, into = c("first_word", "second_word"), # Note that you can use `separate` with a number to use position sep = 4, remove = FALSE) %>% mutate(second_word = move_letter(second_word)) %>% # Use the first function here filter(is_word(first_word) & is_word(second_word)) %>% # Use the second function here unite("new_word", c("first_word", "second_word"), sep = " ") # You can use `unite` to put the two new words in a phrase in one column. ## # A tibble: 103 x 2 ## word new_word ## <chr> <chr> ## 1 mailings mail sing ## 2 maillots mail slot ## 3 majorate majo erat ## 4 majoring majo grin ## 5 malmiest malm ties ## 6 maltiest malt ties ## 7 mandalas mand sala ## 8 mandated mand date ## 9 mandates mand sate ## 10 mangiest mang ties ## # … with 93 more rows You can get the choices down to even fewer options if you match the new words against the Google top-10,000 words list, by using the real_word_list option in the is_word function you wrote. (However, “maillots” is not a common enough word that you can also start from that shorter word list!) word_list %>% filter(str_detect(word, "^m.{7}$")) %>% separate(word, into = c("first_word", "second_word"), sep = 4, remove = FALSE) %>% mutate(second_word = move_letter(second_word)) %>% filter(is_word(first_word, real_word_list = google_words) & is_word(second_word, real_word_list = google_words)) %>% unite("new_word", c("first_word", "second_word"), sep = " ") ## # A tibble: 43 x 2 ## word new_word ## <chr> <chr> ## 1 mailings mail sing ## 2 maillots mail slot ## 3 maintops main stop ## 4 markings mark sing ## 5 maskings mask sing ## 6 massager mass rage ## 7 massages mass sage ## 8 massiest mass ties ## 9 mattings matt sing ## 10 mealiest meal ties ## # … with 33 more rows "], +["reproducible-research-1.html", "Chapter 5 Reproducible research #1 5.1 What is reproducible research? 5.2 Markdown 5.3 Literate programming in R 5.4 Style guidelines 5.5 More with knitr 5.6 In-course exercise", " Chapter 5 Reproducible research #1 Download a pdf of the lecture slides covering this topic. 5.1 What is reproducible research? A data analysis is reproducible if all the information (data, files, etc.) required is available for someone else to re-do your entire analysis. This includes: Data available All code for cleaning raw data All code and software (specific versions, packages) for analysis Some advantages of making your research reproducible are: You can (easily) figure out what you did six months from now. You can (easily) make adjustments to code or data, even early in the process, and re-run all analysis. When you’re ready to publish, you can (easily) do a last double-check of your full analysis, from cleaning the raw data through generating figures and tables for the paper. You can pass along or share a project with others. You can give useful code examples to people who want to extend your research. Here is a famous research example of the dangers of writing code that is hard to double-check or confirm: The Economist The New York Times Simply Statistics Some of the steps required to making research reproducible are: All your raw data should be saved in the project directory. You should have clear documentation on the source of all this data. Scripts should be included with all the code used to clean this data into the data set(s) used for final analyses and to create any figures and tables. You should include details on the versions of any software used in analysis (for R, this includes the version of R as well as versions of all packages used). If possible, there should be no “by hand” steps used in the analysis; instead, all steps should be done using code saved in scripts. For example, you should use a script to clean data, rather than cleaning it by hand in Excel. If any “non-scriptable” steps are unavoidable, you should very clearly document those steps. There are several software tools that can help you improve the reproducibility of your research: knitr: Create files that include both your code and text. These can be rendered to create final reports and papers. They keep code within the final file for the report. knitr complements: Create fancier tables and figures within RMarkdown documents. Packages include tikzDevice, animate, xtables, and pander. packrat: Save versions of each package used for the analysis, then load those package versions when code is run again in the future. In this section, I will focus on using knitr and RMarkdown files. 5.2 Markdown R Markdown files are mostly written using Markdown. To write R Markdown files, you need to understand what markup languages like Markdown are and how they work. In Word and other word processing programs you have used, you can add formatting using buttons and keyboard shortcuts (e.g., “Ctrl-B” for bold). The file saves the words you type. It also saves the formatting, but you see the final output, rather than the formatting markup, when you edit the file (WYSIWYG – what you see is what you get). In markup languages, on the other hand, you markup the document directly to show what formatting the final version should have (e.g., you type **bold** in the file to end up with a document with bold). Examples of markup languages include: HTML (HyperText Markup Language) LaTex Markdown (a “lightweight” markup language) For example, Figure 5.1 some marked-up HTML code from CSU’s website, while Figure 5.2 shows how that file looks when it’s rendered by a web browser. Figure 5.1: Example of the source of an HTML file. Figure 5.2: Example of a rendered HTML file. To write a file in Markdown, you’ll need to learn the conventions for creating formatting. This table shows what you would need to write in a flat file for some common formatting choices: Code Rendering Explanation **text** text boldface *text* text italicized [text](www.google.com) text hyperlink # text first-level header ## text second-level header Some other simple things you can do in Markdown include: Lists (ordered or bulleted) Equations Tables Figures from file Block quotes Superscripts For more Markdown conventions, see RStudio’s R Markdown Reference Guide (link also available through “Help” in RStudio). 5.3 Literate programming in R Literate programming, an idea developed by Donald Knuth, mixes code that can be executed with regular text. The files you create can then be rendered, to run any embedded code. The final output will have results from your code and the regular text. The knitr package can be used for literate programming in R. In essence, knitr allows you to write an R Markdown file that can be rendered into a pdf, Word, or HTML document. Here are the basics of opening and rendering an R Markdown file in RStudio: To open a new R Markdown file, go to “File” -> “New File” -> “RMarkdown…” -> for now, chose a “Document” in “HTML” format. This will open a new R Markdown file in RStudio. The file extension for R Markdown files is “.Rmd”. The new file comes with some example code and text. You can run the file as-is to try out the example. You will ultimately delete this example code and text and replace it with your own. Once you “knit” the R Markdown file, R will render an HTML file with the output. This is automatically saved in the same directory where you saved your .Rmd file. Write everything besides R code using Markdown syntax. To include R code in an RMarkdown document, you need to separate off the code chunk using the following syntax: ```{r} my_vec <- 1:10 ``` This syntax tells R how to find the start and end of pieces of R code when the file is rendered. R will walk through, find each piece of R code, run it and create output (printed output or figures, for example), and then pass the file along to another program to complete rendering (e.g., Tex for pdf files). You can specify a name for each chunk, if you’d like, by including it after “r” when you begin your chunk. For example, to give the name load_nepali to a code chunk that loads the nepali dataset, specify that name in the start of the code chunk: ```{r load_nepali} library(faraway) data(nepali) ``` Here are a couple of tips for naming code chunks: Chunk names must be unique across a document. Any chunks you don’t name are given numbers by knitr. You do not have to name each chunk. However, there are some advantages: It will be easier to find any errors. You can use the chunk labels in referencing for figure labels. You can reference chunks later by name. You can add options when you start a chunk. Many of these options can be set as TRUE / FALSE and include: Option Action echo Print out the R code? eval Run the R code? messages Print out messages? warnings Print out warnings? include If FALSE, run code, but don’t print code or results Other chunk options take values other than TRUE / FALSE. Some you might want to include are: Option Action results How to print results (e.g., hide runs the code, but doesn’t print the results) fig.width Width to print your figure, in inches (e.g., fig.width = 4) fig.height Height to print your figure Add these options in the opening brackets and separate multiple ones with commas: ```{r messages = FALSE, echo = FALSE} nepali[1, 1:3] ``` I will cover other chunk options later, once you’ve gotten the chance to try writting R Markdown files. You can set “global” options at the beginning of the document. This will create new defaults for all of the chunks in the document. For example, if you want echo, warning, and message to be FALSE by default in all code chunks, you can run: ```{r global_options} knitr::opts_chunk$set(echo = FALSE, message = FALSE, warning = FALSE) ``` If you set both global and local chunk options that you set specifically for a chunk will take precedence over global options. For example, running a document with: ```{r global_options} knitr::opts_chunk$set(echo = FALSE, message = FALSE, warning = FALSE) ``` ```{r check_nepali, echo = TRUE} head(nepali, 1) ``` would print the code for the check_nepali chunk, because the option specified for that specific chunk (echo = TRUE) would override the global option (echo = FALSE). You can also include R output directly in your text (“inline”) using backticks: “There are `r nrow(nepali)` observations in the nepali data set. The average age is `r mean(nepali$age, na.rm = TRUE)` months.” Once the file is rendered, this gives: “There are 1000 observations in the nepali data set. The average age is 37.662 months.” Here are two tips that will help you diagnose some problems rendering R Markdown files: Be sure to save your R Markdown file before you run it. All the code in the file will run “from scratch”– as if you just opened a new R session. The code will run using, as a working directory, the directory where you saved the R Markdown file. You’ll want to try out pieces of your code as you write an R Markdown document. There are a few ways you can do that: You can run code in chunks just like you can run code from a script (Ctrl-Return or the “Run” button). You can run all the code in a chunk (or all the code in all chunks) using the different options under the “Run” button in RStudio. All the “Run” options have keyboard shortcuts, so you can use those. You can render R Markdown documents to other formats: Word Pdf (requires that you’ve installed “Tex” on your computer.) Slides (ioslides) Click the button to the right of “Knit” to see different options for rendering on your computer. You can freely post your RMarkdown documents at RPubs. If you want to post to RPubs, you need to create an account. Once you do, you can click the “Publish” button on the window that pops up with your rendered file. RPubs can also be a great place to look for interesting example code, although it sometimes can be pretty overwhelmed with MOOC homework. If you’d like to find out more, here are two good how-to books on reproducible research in R (the CSU library has both in hard copy): Reproducible Research with R and RStudio, Christopher Gandrud Dynamic Documents with R and knitr, Yihui Xie 5.4 Style guidelines R style guidelines provide rules for how to format code in an R script. Some people develop their own style as they learn to code. However, it is easy to get in the habit of following style guidelines, and they offer some important advantages: Clean code is easier to read and interpret later. It’s easier to catch and fix mistakes when code is clear. Others can more easily follow and adapt your code if it’s clean. Some style guidelines will help prevent possible problems (e.g., avoiding . in function names). For this course, we will use R style guidelines from two sources: Google’s R style guidelines Hadley Wickham’s R style guidelines These two sets of style guidelines are very similar. Hear are a few guidelines we’ve already covered in class: Use <-, not =, for assignment. Guidelines for naming objects: All lowercase letters or numbers Use underscore (_) to separate words, not camelCase or a dot (.) (this differs for Google and Wickham style guides) Have some consistent names to use for “throw-away” objects (e.g., df, ex, a, b) Make names meaningful Descriptive names for R scripts (“random_group_assignment.R”) Nouns for objects (todays_groups for an object with group assignments) Verbs for functions (make_groups for the function to assign groups) 5.4.1 Line length Google: Keep lines to 80 characters or less To set your script pane to be limited to 80 characters, go to “RStudio” -> “Preferences” -> “Code” -> “Display”, and set “Margin Column” to 80. # Do my_df <- data.frame(n = 1:3, letter = c("a", "b", "c"), cap_letter = c("A", "B", "C")) # Don't my_df <- data.frame(n = 1:3, letter = c("a", "b", "c"), cap_letter = c("A", "B", "C")) This guideline helps ensure that your code is formatted in a way that you can see all of the code without scrolling horizontally (left and right). 5.4.2 Spacing Binary operators (e.g., <-, +, -) should have a space on either side A comma should have a space after it, but not before. Colons should not have a space on either side. Put spaces before and after = when assigning parameter arguments # Do shots_per_min <- worldcup$Shots / worldcup$Time #Don't shots_per_min<-worldcup$Shots/worldcup$Time #Do ave_time <- mean(worldcup[1:10 , "Time"]) #Don't ave_time<-mean(worldcup[1 : 10 ,"Time"]) 5.4.3 Semicolons Although you can use a semicolon to put two lines of code on the same line, you should avoid it. # Do a <- 1:10 b <- 3 # Don't a <- 1:10; b <- 3 5.4.4 Commenting For a comment on its own line, use #. Follow with a space, then the comment. You can put a short comment at the end of a line of R code. In this case, put two spaces after the end of the code, one #, and one more space before the comment. If it helps make it easier to read your code, separate sections using a comment character followed by many hyphens (e.g., #------------). Anything after the comment character is “muted”. # Read in health data --------------------------- # Clean exposure data --------------------------- 5.4.5 Indentation Google: Within function calls, line up new lines with first letter after opening parenthesis for parameters to function calls: Example: # Relabel sex variable nepali$sex <- factor(nepali$sex, levels = c(1, 2), labels = c("Male", "Female")) 5.4.6 Code grouping Group related pieces of code together. Separate blocks of code by empty spaces. # Load data library(faraway) data(nepali) # Relabel sex variable nepali$sex <- factor(nepali$sex, levels = c(1, 2), labels = c("Male", "Female")) Note that this grouping often happens naturally when using tidyverse functions, since they encourage piping (%>% and +). 5.4.7 Broader guidelines Omit needless code. Don’t repeat yourself. We’ll learn more about satisfying these guidelines when we talk about writing your own functions in the next part of the class. 5.5 More with knitr 5.5.1 Equations in knitr You can write equations in RMarkdown documents by setting them apart with dollar signs ($). For an equation on a line by itself (display equation), you two $s before and after the equation, on separate lines, then use LaTex syntax for writing the equations. To help with this, you may want to use this LaTex math cheat sheet.. You may also find an online LaTex equation editor like Codecogs.com helpful. Note: Equations denoted this way will always compile for pdf documents, but won’t always come through on Markdown files (for example, GitHub won’t compile math equations). For example, writing this in your R Markdown file: $$ E(Y_{t}) \\sim \\beta_{0} + \\beta_{1}X_{1} $$ will result in this rendered equation: \\[ E(Y_{t}) \\sim \\beta_{0} + \\beta_{1}X_{1} \\] To put math within a sentence (inline equation), just use one $ on either side of the math. For example, writing this in a R Markdown file: "We are trying to model $E(Y_{t})$." The rendered document will show up as: “We are trying to model \\(E(Y_{t})\\).” 5.5.2 Figures from file You can include not only figures that you create with R, but also figures that you have saved on your computer. The best way to do that is with the include_graphics function in knitr: library(knitr) include_graphics("figures/CSU_ram.png") This example would include a figure with the filename “MyFigure.png” that is saved in the “figures” sub-directory of the parent directory of the directory where your .Rmd is saved. Don’t forget that you will need to give an absolute pathway or the relative pathway from the directory where the .Rmd file is saved. 5.5.3 Saving graphics files You can save figures that you create in R. Typically, you won’t need to save figures for an R Markdown file, since you can include figure code directly. However, you will sometimes want to save a figure from a script. You have two options: Use the “Export” choice in RStudio Write code to export the figure in your R script To make your research more reproducible, use the second choice. To use code export a figure you created in R, take three steps: Open a graphics device (e.g., pdf(\"MyFile.pdf\")). Write the code to print your plot. Close the graphics device using dev.off(). For example, the following code would save a scatterplot of time versus passes as a pdf named “MyFigure” in the “figures” subdirectory of the current working directory: pdf("figures/MyFigure.pdf", width = 8, height = 6) ggplot(worldcup, aes(x = Time, y = Passes)) + geom_point(aes(color = Position)) + theme_bw() dev.off() If you create multiple plots before you close the device, they’ll all save to different pages of the same pdf file. You can open a number of different graphics devices. Here are some of the functions you can use to open graphics devices: pdf png bmp jpeg tiff svg You will use a device-specific function to open a graphics device (e.g., pdf). However, you will always close these devices with dev.off. Most of the functions to open graphics devices include parameters like height and width. These can be used to specify the size of the output figure. The units for these depend on the device (e.g., inches for pdf, pixels by default for png). Use the helpfile for the function to determine these details. 5.5.4 Tables in R Markdown If you want to create a nice, formatted table from an R dataframe, you can do that using kable from the knitr package. my_df <- data.frame(letters = c("a", "b", "c"), numbers = 1:3) kable(my_df) letters numbers a 1 b 2 c 3 There are a few options for the kable function: arg expl colnames Column names (default: column name in the dataframe) align A vector giving the alignment for each column (‘l’, ‘c’, ‘r’) caption Table caption digits Number of digits to round to. If you want to round columns different amounts, use a vector with one element for each column. my.df <- data.frame(letters = c("a", "b", "c"), numbers = rnorm(3)) kable(my.df, digits = 2, align = c("r", "c"), caption = "My new table", col.names = c("First 3 letters", "First 3 numbers")) Table 5.1: My new table First 3 letters First 3 numbers a -0.36 b -1.79 c 0.49 From Yihui: “Want more features? No, that is all I have. You should turn to other packages for help. I’m not going to reinvent their wheels.” If you want to do fancier tables, you may want to explore the xtable and pander packages. As a note, these might both be more effective when compiling to pdf, rather than html. 5.6 In-course exercise For all of today’s tasks, you’ll use the code from last week’s in-course exercise to do the exercises. This week we are not focusing on writing new code, but rather on how to take R code and put it in an R Markdown file, so we can create reports from files that include the original code. 5.6.1 Creating a Markdown document First, you’ll create a Markdown document, without any R code in it yet. In RStudio, go to “File” -> “New File” -> “R Markdown”. From the window that brings up, choose “Document” on the left-hand column and “HTML” as the output format. A new file will open in the script pane of your RStudio session. Save this file (you may pick the name and directory). The file extension should be “.Rmd”. First, before you try to write your own Markdown, try rendering the example that the script includes by default. (This code is always included, as a template, when you first open a new RMarkdown file using the RStudio “New file” interface we used in this example.) Try rendering this default R Markdown example by clicking the “Knit” button at the top of the script file. For some of you, you may not yet have everything you need on your computer to be able to get this to work. If so, let me know. RStudio usually includes all the necessary tools when you install it, but there may be some exceptions. If you could get the document to knit, do the following tasks: Look through the HTML document that was created. Compare it to the R Markdown script that created it, and see if you can understand, at least broadly, what’s going on. Look in the directory where you saved the R Markdown file. You should now also see a new, .html file in that folder. Try opening it with a web browser like Safari. Go back to the R Markdown file. Delete everything after the initial header information (everything after the 6th line). In the header information, make sure the title, author, and date are things you’re happy with. If not, change them. Using Markdown syntax, write up a description of the data (worldcup) we used last week to create the fancier figure. Try to include the following elements: Bold and italic text Hyperlinks A list, either ordered or bulleted Headers 5.6.2 Adding in R code Now incorporate the R code from previous weeks’ exercises into your document. Once you get the document to render with some basic pieces of code in it, try the following: Try some different chunk options. For example, try setting echo = FALSE in some of your code chunks. Similarly, try using the options results = \"hide\" and include = FALSE. You should have at least one code chunk that generates figures. Try experimenting with the fig.width and fig.height options for the chunk to change the size of the figure. Try using the global commands. See if you can switch the echo default value for this document from TRUE (the usual default) to FALSE. 5.6.3 Working with R Markdown documents Finally, try the following tasks to get some experience working with R Markdown files in RStudio: Go to one of your code chunks. Locate the small gray arrow just to the left of the line where you initiate the code chunk. Click on it and see what happens. Then click on it again. Put your cursor inside one of your code chunks. Try using the “Run” button (or Ctrl-Return) to run code in that chunk at your R console. Did it work? Pick a code chunk in your document. Put your cursor somewhere in the code in that chunk. Click on the “Run” button and choose “Run All Chunks Above”. What did that do? If it did not work, what do you think might be going on? (Hint: Check getwd() and think about which directory you’ve used to save your R Markdown file.) Pick another chunk of code. Put the cursor somewhere in the code for that chunk. Click on the “Run” button and choose “Run Current Chunk”. Then try “Run Next Chunk”. Try to figure out all the options the “Run” button gives you and when each might be useful. Click on the small gray arrow to the right of the “Knit HTML” button. If the option is offered, select “Knit Word” and try it. What does this do? 5.6.4 R style guidelines Go through all the R code in your R Markdown file. Are there are places where your code is not following style conventions for R? Clean up your code to correct any of these issues. "], +["entering-and-cleaning-data-2.html", "Chapter 6 Entering and cleaning data #2 6.1 Joining datasets 6.2 Tidy data 6.3 Longer data 6.4 Working with factors 6.5 String operations and regular expressions 6.6 Tidy select 6.7 In-course exercise", " Chapter 6 Entering and cleaning data #2 Download a pdf of the lecture slides covering this topic. 6.1 Joining datasets So far, you have only worked with a single data source at a time. When you work on your own projects, however, you typically will need to merge together two or more datasets to create the a data frame to answer your research question. For example, for air pollution epidemiology, you will often have to join several datasets: Health outcome data (e.g., number of deaths per day) Air pollution concentrations Weather measurements (since weather can be a confounder) Demographic data The dplyr package has a family of different functions to join two dataframes together, the *_join family of functions. All combine two dataframes, which I’ll call x and y here. The functions include: inner_join(x, y): Keep only rows where there are observations in both x and y. left_join(x, y): Keep all rows from x, whether they have a match in y or not. right_join(x, y): Keep all rows from y, whether they have a match in x or not. full_join(x, y): Keep all rows from both x and y, whether they have a match in the other dataset or not. In the examples, I’ll use two datasets, x and y. Both datasets include the column course. The other column in x is grade, while the other column in y is day. Observations exist for courses x and y in both datasets, but for w and z in only one dataset. x <- data.frame(course = c("x", "y", "z"), grade = c(90, 82, 78)) y <- data.frame(course = c("w", "x", "y"), day = c("Tues", "Mon / Fri", "Tue")) Here is what these two example datasets look like: x ## course grade ## 1 x 90 ## 2 y 82 ## 3 z 78 y ## course day ## 1 w Tues ## 2 x Mon / Fri ## 3 y Tue With inner_join, you’ll only get the observations that show up in both datasets. That means you’ll lose data on z (only in the first dataset) and w (only in the second dataset). inner_join(x, y) ## Joining, by = "course" ## course grade day ## 1 x 90 Mon / Fri ## 2 y 82 Tue With left_join, you’ll keep everything in x (the “left” dataset), but not keep things in y that don’t match something in x. That means that, here, you’ll lose w: left_join(x, y) ## Joining, by = "course" ## course grade day ## 1 x 90 Mon / Fri ## 2 y 82 Tue ## 3 z 78 <NA> right_join is the opposite: right_join(x, y) ## Joining, by = "course" ## course grade day ## 1 x 90 Mon / Fri ## 2 y 82 Tue ## 3 w NA Tues full_join keeps everything from both datasets: full_join(x, y) ## Joining, by = "course" ## course grade day ## 1 x 90 Mon / Fri ## 2 y 82 Tue ## 3 z 78 <NA> ## 4 w NA Tues 6.2 Tidy data All of the material in this section comes directly from Hadley Wickham’s paper on tidy data. You will need to read this paper to prepare for the quiz on this section. Getting your data into a “tidy” format makes it easier to model and plot. By taking the time to tidy your data at the start of an analysis, you will save yourself time, and make it easier to plan out later steps. Characteristics of tidy data are: Each variable forms a column. Each observation forms a row. Each type of observational unit forms a table. Here are five common problems that Hadley Wickham has identified that keep data from being tidy: Column headers are values, not variable names. Multiple variables are stored in one column. Variables are stored in both rows and columns. Multiple types of observational units are stored in the same table. A single observational unit is stored in multiple tables. Here are examples (again, from Hadley Wickham’s paper on tidy data, which is required reading for this week of the course) of each of these problems. Column headers are values, not variable names. Solution: Multiple variables are stored in one column. Solution: Variables are stored in both rows and columns. Solution: Multiple types of observational units are stored in the same table. Solution: A single observational unit is stored in multiple tables. Example: exposure and outcome data stored in different files: File 1: Daily mortality counts File 2: Daily air pollution measurements 6.3 Longer data There are two functions from the tidyr package (another member of the tidyverse) that you can use to change between wider and longr data: pivot_longer and pivot_wider. Here is a description of these two functions: pivot_longer: Takes several columns and pivots them down into two columns. One of the new columns contains the former column names and the other contains the former cell values. pivot_wider: Takes two columns and pivots them up into multiple columns. Column names for the new columns will come from one column and the cell values from the other. The following examples are show the effects of making a dataset longer or wider. Here is some simulated wide data: wide_stocks[1:3, ] ## # A tibble: 3 x 4 ## time X Y Z ## <date> <dbl> <dbl> <dbl> ## 1 2009-01-01 0.902 -0.454 -7.09 ## 2 2009-01-02 0.181 -1.87 -0.346 ## 3 2009-01-03 -0.636 -3.00 -0.202 In the wide_stocks dataset, there are separate columns for three different stocks (X, Y, and Z). Each cell gives the value for a certain stock on a certain day. This data isn’t “tidy”, because the identify of the stock (X, Y, or Z) is a variable, and you’ll probably want to include it as a variable in modeling. wide_stocks[1:3, ] ## # A tibble: 3 x 4 ## time X Y Z ## <date> <dbl> <dbl> <dbl> ## 1 2009-01-01 0.902 -0.454 -7.09 ## 2 2009-01-02 0.181 -1.87 -0.346 ## 3 2009-01-03 -0.636 -3.00 -0.202 If you want to convert the dataframe to have all stock values in a single column, you can use pivot_longer to convert wide data to long data: long_stocks <- pivot_longer(data = wide_stocks, cols = -time, names_to = "stock", values_to = "price") long_stocks[1:5, ] ## # A tibble: 5 x 3 ## time stock price ## <date> <chr> <dbl> ## 1 2009-01-01 X 0.902 ## 2 2009-01-01 Y -0.454 ## 3 2009-01-01 Z -7.09 ## 4 2009-01-02 X 0.181 ## 5 2009-01-02 Y -1.87 In this “longer” dataframe, there is now one column that gives the identify of the stock (stock) and another column that gives the price of that stock that day (price): long_stocks[1:5, ] ## # A tibble: 5 x 3 ## time stock price ## <date> <chr> <dbl> ## 1 2009-01-01 X 0.902 ## 2 2009-01-01 Y -0.454 ## 3 2009-01-01 Z -7.09 ## 4 2009-01-02 X 0.181 ## 5 2009-01-02 Y -1.87 The format for a pivots_longer call is: ## Generic code new_df <- pivot_longer(old_df, cols = [name(s) of the columns you want to make longer], names_to = [name of new column to store the old column names], values_to = [name of new column to store the old values]) Three important notes: Everything is pivoted into one of two columns – one column with the old column names, and one column with the old cell values With the names_to and values_to arguments, you are just providing column names for the two columns that everything’s pivoted into. If there is a column you don’t want to include in the pivot (date in the example), use - to exclude it in the cols argument. Notice how easy it is, now that the data is longer, to use stock for aesthetics of faceting in a ggplot2 call: ggplot(long_stocks, aes(x = time, y = price)) + geom_line() + facet_grid(. ~ stock) + theme_bw() If you have data in a “longer” format and would like to make it “wider”, you can use pivot_wider to do that: stocks <- pivot_wider(long_stocks, names_from = "stock", values_from = price) stocks[1:5, ] ## # A tibble: 5 x 4 ## time X Y Z ## <date> <dbl> <dbl> <dbl> ## 1 2009-01-01 0.902 -0.454 -7.09 ## 2 2009-01-02 0.181 -1.87 -0.346 ## 3 2009-01-03 -0.636 -3.00 -0.202 ## 4 2009-01-04 1.28 0.902 -3.60 ## 5 2009-01-05 -3.02 -0.914 5.74 Notice that this reverses the action of pivot_longer. The “wider” your data the less likely it is to be tidy, so won’t use pivot_wider frequently when you are preparing data for analysis. However, pivot_wider can be very helpful in creating tables for final reports and presentations. For example, if you wanted to create a table with means and standard deviations for each of the three stocks, you could use pivot_wider to rearrange the final summary to create an attractive table. stock_summary <- long_stocks %>% group_by(stock) %>% summarize(N = n(), mean = mean(price), sd = sd(price)) ## `summarise()` ungrouping output (override with `.groups` argument) stock_summary ## # A tibble: 3 x 4 ## stock N mean sd ## <chr> <int> <dbl> <dbl> ## 1 X 10 0.182 1.30 ## 2 Y 10 -0.289 2.52 ## 3 Z 10 -2.30 3.59 stock_summary %>% mutate("Mean (Std.dev.)" = paste0(round(mean, 2), " (", round(sd, 2), ")")) %>% dplyr::select(- mean, - sd) %>% mutate(N = as.character(N)) %>% # might be able to deal with this in pivot_longer call pivot_longer(cols = -stock, names_to = "Statistic", values_to = "Value") %>% pivot_wider(names_from = "stock", values_from = "Value") %>% knitr::kable() Statistic X Y Z N 10 10 10 Mean (Std.dev.) 0.18 (1.3) -0.29 (2.52) -2.3 (3.59) 6.4 Working with factors Hadley Wickham has developed a package called forcats that helps you work with categorical variables (factors). I’ll show some examples of its functions using the worldcup dataset: library(forcats) library(faraway) data(worldcup) The fct_recode function can be used to change the labels of a function (along the lines of using factor with levels and labels to reset factor labels). One big advantage is that fct_recode lets you change labels for some, but not all, levels. For example, here are the team names: library(stringr) worldcup %>% filter(str_detect(Team, "^US")) %>% slice(1:3) %>% select(Team, Position, Time) ## Team Position Time ## Beasley USA Midfielder 10 ## Bocanegra USA Defender 390 ## Bornstein USA Defender 200 If you just want to change “USA” to “United States,” you can run: worldcup <- worldcup %>% mutate(Team = fct_recode(Team, `United States` = "USA")) worldcup %>% filter(str_detect(Team, "^Un")) %>% slice(1:3) %>% select(Team, Position, Time) ## Team Position Time ## 1 United States Midfielder 10 ## 2 United States Defender 390 ## 3 United States Defender 200 You can use the fct_lump function to lump uncommon factors into an “Other” category. For example, to lump the two least common positions together, you can run (n specifies how many categories to keep outside of “Other”): worldcup %>% dplyr::mutate(Position = forcats::fct_lump(Position, n = 2)) %>% dplyr::count(Position) ## Position n ## 1 Defender 188 ## 2 Midfielder 228 ## 3 Other 179 You can use the fct_infreq function to reorder the levels of a factor from most common to least common: levels(worldcup$Position) ## [1] "Defender" "Forward" "Goalkeeper" "Midfielder" worldcup <- worldcup %>% mutate(Position = fct_infreq(Position)) levels(worldcup$Position) ## [1] "Midfielder" "Defender" "Forward" "Goalkeeper" If you want to reorder one factor by another variable (ascending order), you can use fct_reorder (e.g., homework 3). For example, to relevel Position by the average shots on goals for each position, you can run: levels(worldcup$Position) ## [1] "Midfielder" "Defender" "Forward" "Goalkeeper" worldcup <- worldcup %>% group_by(Position) %>% mutate(ave_shots = mean(Shots)) %>% ungroup() %>% mutate(Position = fct_reorder(Position, ave_shots)) levels(worldcup$Position) ## [1] "Goalkeeper" "Defender" "Midfielder" "Forward" 6.5 String operations and regular expressions For these examples, we’ll use some data on passengers of the Titanic. You can load this data using: # install.packages("titanic") library(titanic) data("titanic_train") We will be using the stringr package: library(stringr) This data includes a column called “Name” with passenger names. This column is somewhat messy and includes several elements that we might want to separate (last name, first name, title). Here are the first few values of “Name”: titanic_train %>% select(Name) %>% slice(1:3) ## Name ## 1 Braund, Mr. Owen Harris ## 2 Cumings, Mrs. John Bradley (Florence Briggs Thayer) ## 3 Heikkinen, Miss. Laina We’ve already done some things to manipulate strings. For example, if we wanted to separate “Name” into last name and first name (including title), we could actually do that with the separate function: titanic_train %>% select(Name) %>% slice(1:3) %>% separate(Name, c("last_name", "first_name"), sep = ", ") ## last_name first_name ## 1 Braund Mr. Owen Harris ## 2 Cumings Mrs. John Bradley (Florence Briggs Thayer) ## 3 Heikkinen Miss. Laina Notice that separate is looking for a regular pattern (“,”) and then doing something based on the location of that pattern in each string (splitting the string). There are a variety of functions in R that can perform manipulations based on finding regular patterns in character strings. The str_detect function will look through each element of a character vector for a designated pattern. If the pattern is there, it will return TRUE, and otherwise FALSE. The convention is: ## Generic code str_detect(string = [vector you want to check], pattern = [pattern you want to check for]) For example, to create a logical vector specifying which of the Titanic passenger names include “Mrs.”, you can call: mrs <- str_detect(titanic_train$Name, "Mrs.") head(mrs) ## [1] FALSE TRUE FALSE TRUE FALSE FALSE The result is a logical vector, so str_detect can be used in filter to subset data to only rows where the passenger’s name includes “Mrs.”: titanic_train %>% filter(str_detect(Name, "Mrs.")) %>% select(Name) %>% slice(1:3) ## Name ## 1 Cumings, Mrs. John Bradley (Florence Briggs Thayer) ## 2 Futrelle, Mrs. Jacques Heath (Lily May Peel) ## 3 Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg) There is an older, base R function called grepl that does something very similar (although note that the order of the arguments is reversed). titanic_train %>% filter(grepl("Mrs.", Name)) %>% select(Name) %>% slice(1:3) ## Name ## 1 Cumings, Mrs. John Bradley (Florence Briggs Thayer) ## 2 Futrelle, Mrs. Jacques Heath (Lily May Peel) ## 3 Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg) The str_extract function can be used to extract a string (if it exists) from each value in a character vector. It follows similar conventions to str_detect: ## Generic code str_extract(string = [vector you want to check], pattern = [pattern you want to check for]) For example, you might want to extract “Mrs.” if it exists in a passenger’s name: titanic_train %>% mutate(mrs = str_extract(Name, "Mrs.")) %>% select(Name, mrs) %>% slice(1:3) ## Name mrs ## 1 Braund, Mr. Owen Harris <NA> ## 2 Cumings, Mrs. John Bradley (Florence Briggs Thayer) Mrs. ## 3 Heikkinen, Miss. Laina <NA> Notice that now we’re creating a new column (mrs) that either has “Mrs.” (if there’s a match) or is missing (NA) if there’s not a match. For this first example, we were looking for an exact string (“Mrs”). However, you can use patterns that match a particular pattern, but not an exact string. For example, we could expand the regular expression to find “Mr.” or “Mrs.”: titanic_train %>% mutate(title = str_extract(Name, "Mr\\\\.|Mrs\\\\.")) %>% select(Name, title) %>% slice(1:3) ## Name title ## 1 Braund, Mr. Owen Harris Mr. ## 2 Cumings, Mrs. John Bradley (Florence Briggs Thayer) Mrs. ## 3 Heikkinen, Miss. Laina <NA> Note that this pattern uses a special operator (|) to find one pattern or another. Double backslashes (\\\\) escape the special character “.”. As a note, in regular expressions, all of the following characters are special characters that need to be escaped with backslashes if you want to use them literally: . * + ^ ? $ \\ | ( ) [ ] { } Notice that “Mr.” and “Mrs.” both start with “Mr”, end with “.”, and may or may not have an “s” in between. titanic_train %>% mutate(title = str_extract(Name, "Mr(s)*\\\\.")) %>% select(Name, title) %>% slice(1:3) ## Name title ## 1 Braund, Mr. Owen Harris Mr. ## 2 Cumings, Mrs. John Bradley (Florence Briggs Thayer) Mrs. ## 3 Heikkinen, Miss. Laina <NA> This pattern uses (s)* to match zero or more “s”s at this spot in the pattern. In the previous code, we found “Mr.” and “Mrs.”, but missed “Miss.”. We could tweak the pattern again to try to capture that, as well. For all three, we have the pattern that it starts with “M”, has some lowercase letters, and then ends with “.”. titanic_train %>% mutate(title = str_extract(Name, "M[a-z]+\\\\.")) %>% select(Name, title) %>% slice(1:3) ## Name title ## 1 Braund, Mr. Owen Harris Mr. ## 2 Cumings, Mrs. John Bradley (Florence Briggs Thayer) Mrs. ## 3 Heikkinen, Miss. Laina Miss. The last pattern used [a-z]+ to match one or more lowercase letters. The [a-z]is a character class. You can also match digits ([0-9]), uppercase letters ([A-Z]), just some letters ([aeiou]), etc. You can negate a character class by starting it with ^. For example, [^0-9] will match anything that isn’t a digit. Sometimes, you want to match a pattern, but then only subset a part of it. For example, each passenger seems to have a title (“Mr.”, “Mrs.”, etc.) that comes after “,” and before “.”. We can use this pattern to find the title, but then we get some extra stuff with the match: titanic_train %>% mutate(title = str_extract(Name, ",\\\\s[A-Za-z]*\\\\.\\\\s")) %>% select(title) %>% slice(1:3) ## title ## 1 , Mr. ## 2 , Mrs. ## 3 , Miss. As a note, in this pattern, \\\\s is used to match a space. We are getting things like “, Mr. ”, when we really want “Mr”. We can use the str_match function to do this. We group what we want to extract from the pattern in parentheses, and then the function returns a matrix. The first column is the full pattern match, and each following column gives just what matches within the groups. head(str_match(titanic_train$Name, pattern = ",\\\\s([A-Za-z]*)\\\\.\\\\s")) ## [,1] [,2] ## [1,] ", Mr. " "Mr" ## [2,] ", Mrs. " "Mrs" ## [3,] ", Miss. " "Miss" ## [4,] ", Mrs. " "Mrs" ## [5,] ", Mr. " "Mr" ## [6,] ", Mr. " "Mr" To get just the title, then, we can run: titanic_train %>% mutate(title = str_match(Name, ",\\\\s([A-Za-z]*)\\\\.\\\\s")[ , 2]) %>% select(Name, title) %>% slice(1:3) ## Name title ## 1 Braund, Mr. Owen Harris Mr ## 2 Cumings, Mrs. John Bradley (Florence Briggs Thayer) Mrs ## 3 Heikkinen, Miss. Laina Miss The [ , 2] pulls out just the second column from the matrix returned by str_match. Here are some of the most common titles: titanic_train %>% mutate(title = str_match(Name, ",\\\\s([A-Za-z]*)\\\\.\\\\s")[ , 2]) %>% group_by(title) %>% summarize(n = n()) %>% arrange(desc(n)) %>% slice(1:5) ## `summarise()` ungrouping output (override with `.groups` argument) ## # A tibble: 5 x 2 ## title n ## <chr> <int> ## 1 Mr 517 ## 2 Miss 182 ## 3 Mrs 125 ## 4 Master 40 ## 5 Dr 7 Here are a few other examples of regular expressions in action with this dataset. Get just names that start with (“^”) the letter “A”: titanic_train %>% filter(str_detect(Name, "^A")) %>% select(Name) %>% slice(1:3) ## Name ## 1 Allen, Mr. William Henry ## 2 Andersson, Mr. Anders Johan ## 3 Asplund, Mrs. Carl Oscar (Selma Augusta Emilia Johansson) Get names with “II” or “III” ({2,} says to match at least two times): titanic_train %>% filter(str_detect(Name, "I{2,}")) %>% select(Name) %>% slice(1:3) ## Name ## 1 Carter, Master. William Thornton II ## 2 Roebling, Mr. Washington Augustus II Get names with “Andersen” or “Anderson” (alternatives in square brackets): titanic_train %>% filter(str_detect(Name, "Anders[eo]n")) %>% select(Name) ## Name ## 1 Andersen-Jensen, Miss. Carla Christine Nielsine ## 2 Anderson, Mr. Harry ## 3 Walker, Mr. William Anderson ## 4 Olsvigen, Mr. Thor Anderson ## 5 Soholt, Mr. Peter Andreas Lauritz Andersen Get names that start with (“^” outside of brackets) the letters “A” and “B”: titanic_train %>% filter(str_detect(Name, "^[AB]")) %>% select(Name) %>% slice(1:3) ## Name ## 1 Braund, Mr. Owen Harris ## 2 Allen, Mr. William Henry ## 3 Bonnell, Miss. Elizabeth Get names that end with (“$”) the letter “b” (either lowercase or uppercase): titanic_train %>% filter(str_detect(Name, "[bB]$")) %>% select(Name) ## Name ## 1 Emir, Mr. Farred Chehab ## 2 Goldschmidt, Mr. George B ## 3 Cook, Mr. Jacob ## 4 Pasic, Mr. Jakob Some useful regular expression operators include: Operator Meaning . Any character * Match 0 or more times (greedy) *? Match 0 or more times (non-greedy) + Match 1 or more times (greedy) +? Match 1 or more times (non-greedy) ^ Starts with (in brackets, negates) $ Ends with […] Character classes For more on these patterns, see: Help file for the stringi-search-regex function in the stringi package (which should install when you install stringr) Chapter 14 of R For Data Science http://gskinner.com/RegExr: Interactive tool for helping you build regular expression pattern strings 6.6 Tidy select There are tidyverse functions to make selecting variables more straightforwards. You can call these functions as arguments of the select function to streamline variable selection. Examples include: starts_with(), ends_with(), and contains(). Here we use starts_with(\"t\") to select all variables that begin with t. titanic_train %>% select(starts_with("t")) %>% slice(1:3) ## Ticket ## 1 A/5 21171 ## 2 PC 17599 ## 3 STON/O2. 3101282 The are also tidyverse functions that allow us to easily operate on a selection of variables. These functions are called scoped varients. You can identify these functions by these _all, _at, and _if suffixes. Here we use select_if to select all the numeric variables in a dataframe and covert their names to lower case (a handy function to tidy the variable names). titanic_train %>% select_if(is.numeric, tolower) %>% slice(1:3) ## passengerid survived pclass age sibsp parch fare ## 1 1 0 3 22 1 0 7.2500 ## 2 2 1 1 38 1 0 71.2833 ## 3 3 1 3 26 0 0 7.9250 The select_if function takes the following form. ## Generic code new_df <- select_if(old_df, .predicate [selects the variable to keep], .funs = [the function to apply to the selected columns]) Here we use select_at to select all the variables that contain ss in their name and then covert their names to lower case (a handy function to tidy the variable names). titanic_train %>% select_at(vars(contains("ss")), tolower) %>% slice(1:3) ## passengerid pclass ## 1 1 3 ## 2 2 1 ## 3 3 3 6.7 In-course exercise For today’s exercise, we’ll be using the following three datasets (click on the file name to access the correct file for today’s class for each dataset): File name Description country_timeseries.csv Ebola cases by country for the 2014 outbreak mexico_exposure.csv and mexico_deaths.csv Daily death counts and environmental measurements for Mexico City, Mexico, for 2008 measles_data/ Number of cases of measles in CA since end of Dec. 2014 Note that you likely have already downloaded all the files in the measles_data folder, since we used them in an earlier in-course exercise. If so, there is no need to re-download those files. Here are the sources for this data: country_timeseries.csv : Caitlin Rivers’ Ebola repository (Caitlin originally collected this data from the WHO and WHO Situation reports) mexico_exposure.csv and mexico_deaths.csv : one of Hadley Wickham’s GitHub repos (Hadley got the data originally from the Secretaria de Salud of Mexico’s website, although it appears the link is now broken. I separated the data into two dataframes so students could practice merging.) measles_data/: one of scarpino’s GitHub repos (Data originally from pdfs from the California Department of Public Health) If you want to use these data further, you should go back and pull them from their original sources. They are here only for use in R code examples for this course. Here are some of the packages you will need for this exercise: library(dplyr) library(gridExtra) library(ggthemes) 6.7.1 Designing tidy data Check out the country_timeseries.csv file on Ebola for this week’s example data. Talk with your partner and decide what changes you would need to make to this dataset to turn it into a “tidy” dataset, in particular which of the five common “untidy” problems the data currently has and why. Do the same for the data on daily mortality and daily weather in Mexico. Do the same for the set of files with measles data. 6.7.2 Easier data wrangling Use read_csv to read the Mexico data (exposure and mortality) directly from GitHub into your R session. Call the dataframes mex_deaths and mex_exp. Are there any values of the day column in mex_deaths that is not present in the day column of mex_exp? How about vice-versa? (Hint: There are a few ways you could check this. One is to try filtering down to just rows in one dataframe where the day values are not present in the day values from the other dataframe. The %in% logical vector may be useful.) Merge the two datasets together to create the dataframe mexico. Exclude all columns except the outcome (deaths), day, and mean temperature. Convert the day to a Date class. If you did not already, try combining all the steps in the previous task into one “chained” pipeline of code using the pipe operator, %>%. Use this new dataframe to plot deaths by date in Mexico using ggplot2. The final plot should look like this: 6.7.2.1 Example R code Use read_csv to read the mexico data (exposure and mortality) directly from GitHub into your R session. Call the dataframes mex_deaths and mex_exp: deaths_url <- paste0("https://github.com/geanders/RProgrammingForResearch/", "raw/master/data/mexico_deaths.csv") mex_deaths <- read_csv(deaths_url) head(mex_deaths) ## # A tibble: 6 x 2 ## day deaths ## <chr> <dbl> ## 1 1/1/08 296 ## 2 1/2/08 274 ## 3 1/3/08 339 ## 4 1/4/08 300 ## 5 1/5/08 327 ## 6 1/6/08 332 exposure_url <- paste0("https://github.com/geanders/RProgrammingForResearch/", "raw/master/data/mexico_exposure.csv") mex_exp <- read_csv(exposure_url) head(mex_exp) ## # A tibble: 6 x 14 ## day temp_min temp_max temp_mean humidity wind NO NO2 NOX O3 ## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 1/1/… 7.8 17.8 11.8 53.5 2.66 0.00925 0.0187 0.0278 NA ## 2 1/2/… 2.6 9.8 6.64 61.7 3.35 0.00542 0.0187 0.0241 0.0201 ## 3 1/3/… 1.1 15.6 7.04 59.9 1.89 0.0160 0.0381 0.0540 0.0184 ## 4 1/4/… 3.1 20.6 10.9 57.5 1.20 0.0408 0.0584 0.0993 0.0215 ## 5 1/5/… 6 21.3 13.4 45.7 0.988 0.0469 0.0602 0.107 0.0239 ## 6 1/6/… 7.2 22.1 14.3 40.8 0.854 0.0286 0.051 0.0795 0.0249 ## # … with 4 more variables: CO <dbl>, SO2 <dbl>, PM10 <dbl>, PM25 <dbl> Check if there are any values of the day column in mex_deaths that are not present in the day column of mex_exp and vice-versa. mex_deaths %>% filter(!(day %in% mex_exp$day)) ## # A tibble: 0 x 2 ## # … with 2 variables: day <chr>, deaths <dbl> mex_exp %>% filter(!(day %in% mex_deaths$day)) ## # A tibble: 0 x 14 ## # … with 14 variables: day <chr>, temp_min <dbl>, temp_max <dbl>, ## # temp_mean <dbl>, humidity <dbl>, wind <dbl>, NO <dbl>, NO2 <dbl>, ## # NOX <dbl>, O3 <dbl>, CO <dbl>, SO2 <dbl>, PM10 <dbl>, PM25 <dbl> One important note is that, when you’re doing this check, you do not want to overwrite your original dataframe, so be sure that you do not reassign this output to mex_deaths or mex_exp. An even quicker way to do check this is to create a logical vector that checks this and use sum to add up the values in the logical vector. If the sum is zero, that tells you that the logical check is never true, so there are no cases where there is a day value in one dataframe that is not also in the other dataframe. sum(!(mex_deaths$day %in% mex_exp$day)) ## [1] 0 sum(!(mex_exp$day %in% mex_deaths$day)) ## [1] 0 Merge the two datasets together to create the dataframe mexico. Exclude all columns except the outcome (deaths), date, and mean temperature. mexico <- full_join(mex_deaths, mex_exp, by = "day") mexico <- select(mexico, day, deaths, temp_mean) Convert the date to a date class. library(lubridate) ## For parsing dates mexico <- mutate(mexico, day = mdy(day)) Try combining all the steps in the previous task into one “chained” command: mexico <- full_join(mex_deaths, mex_exp, by = "day") %>% select(day, deaths, temp_mean) %>% mutate(day = mdy(day)) head(mexico) ## # A tibble: 6 x 3 ## day deaths temp_mean ## <date> <dbl> <dbl> ## 1 2008-01-01 296 11.8 ## 2 2008-01-02 274 6.64 ## 3 2008-01-03 339 7.04 ## 4 2008-01-04 300 10.9 ## 5 2008-01-05 327 13.4 ## 6 2008-01-06 332 14.3 Note that, in this case, all the values of day in mex_deaths have one and only one matching value in mex_exp, and vice-versa. Because of this, we would have gotten the same mexico dataframe if we’d used inner_join, left_join or right_join instead of full_join. The differences between these *_join functions come into play when you have some values of your matching column that aren’t in both of the dataframes you’re joining. Use this new dataframe to plot deaths by date using ggplot: ggplot(data = mexico) + geom_point(mapping = aes(x = day, y = deaths), size = 1.5, alpha = 0.5) + labs(x = "Date in 2008", y = "# of deaths") + ggtitle("Deaths by date") + theme_few() 6.7.3 More extensive data wrangling Read the Ebola data directly from GitHub into your R session. Call the dataframe ebola. Use dplyr functions to create a tidy dataset. First, change it from “wide” data to “long” data. Name the new column with the key variable and the new column with the values count. The first few lines of the “long” version of the dataset should look like this: ## # A tibble: 6 x 4 ## Date Day variable count ## <chr> <dbl> <chr> <dbl> ## 1 1/5/2015 289 Cases_Guinea 2776 ## 2 1/5/2015 289 Cases_Liberia NA ## 3 1/5/2015 289 Cases_SierraLeone 10030 ## 4 1/5/2015 289 Cases_Nigeria NA ## 5 1/5/2015 289 Cases_Senegal NA ## 6 1/5/2015 289 Cases_UnitedStates NA Convert the Date column to a Date class. Use the separate function to separate the variable column into two columns, type (“Cases” or “Deaths”) and country (“Guinea”, “Liberia”, etc.). At this point, the data should look like this: ## # A tibble: 6 x 5 ## Date Day type country count ## <date> <dbl> <chr> <chr> <dbl> ## 1 2015-01-05 289 Cases Guinea 2776 ## 2 2015-01-05 289 Cases Liberia NA ## 3 2015-01-05 289 Cases SierraLeone 10030 ## 4 2015-01-05 289 Cases Nigeria NA ## 5 2015-01-05 289 Cases Senegal NA ## 6 2015-01-05 289 Cases UnitedStates NA Use the pivot_wider function to convert the data so you have separate columns for the two variables of numbers of Cases and Deaths. At this point, the dataframe should look like this: ## # A tibble: 6 x 5 ## Date Day country Cases Deaths ## <date> <dbl> <chr> <dbl> <dbl> ## 1 2015-01-05 289 Guinea 2776 1786 ## 2 2015-01-05 289 Liberia NA NA ## 3 2015-01-05 289 SierraLeone 10030 2977 ## 4 2015-01-05 289 Nigeria NA NA ## 5 2015-01-05 289 Senegal NA NA ## 6 2015-01-05 289 UnitedStates NA NA Remove any observations where counts of both cases and deaths are missing for that country on that date. Now that your data is tidy, create one plot showing Ebola cases by date, faceted by country, and one showing Ebola deaths by date, also faceted by country. Try using the option scales = \"free_y\" in the facet_wrap function and see how that changes these graphs. Discuss with your group the advantages and disadvantages of using this option when creating these small multiple plots. The plots should look something like this (if you’re using the scales = \"free_y\" option): Based on these plots, what would your next questions be about this data before you used it for an analysis? Can you put all of the steps of this cleaning process into just a few “chained” code pipelines using %>%? If you have extra time (super-challenge!): There is a function called fct_reorder in the forcats package that can be used to reorder the levels of a factor in a dataframe based on another column in the same dataframe. This function can be very useful for using a meaningful order when plotting. We’ll cover the forcats package in a later class, but today check out the help file for fct_reorder and see if you can figure out how to use it to reorder the small multiple plots in order of the maximum number of cases or deaths (for the two plots respectively) in each country. You’ll be able to do this by changing the code in facet_wrap from ~ country to ~ fct_reorder(country, ...), but with the ... replaced with certain arguments. If you’re getting stuck, try running the examples in the fct_reorder helpfile to get a feel for how this function can be used when plotting. The plots will look something like this: 6.7.3.1 Example R code Read the data in using read_csv. ebola_url <- paste0("https://github.com/geanders/RProgrammingForResearch/", "raw/master/data/country_timeseries.csv") ebola <- read_csv(ebola_url) head(ebola) ## # A tibble: 6 x 18 ## Date Day Cases_Guinea Cases_Liberia Cases_SierraLeo… Cases_Nigeria ## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 1/5/… 289 2776 NA 10030 NA ## 2 1/4/… 288 2775 NA 9780 NA ## 3 1/3/… 287 2769 8166 9722 NA ## 4 1/2/… 286 NA 8157 NA NA ## 5 12/3… 284 2730 8115 9633 NA ## 6 12/2… 281 2706 8018 9446 NA ## # … with 12 more variables: Cases_Senegal <dbl>, Cases_UnitedStates <dbl>, ## # Cases_Spain <dbl>, Cases_Mali <dbl>, Deaths_Guinea <dbl>, ## # Deaths_Liberia <dbl>, Deaths_SierraLeone <dbl>, Deaths_Nigeria <dbl>, ## # Deaths_Senegal <dbl>, Deaths_UnitedStates <dbl>, Deaths_Spain <dbl>, ## # Deaths_Mali <dbl> Change the data to long data using the pivoter_longer function from tidyr: ebola <- ebola %>% pivot_longer(cols = c(-Date, -Day), names_to = "variable", values_to = "count") head(ebola) ## # A tibble: 6 x 4 ## Date Day variable count ## <chr> <dbl> <chr> <dbl> ## 1 1/5/2015 289 Cases_Guinea 2776 ## 2 1/5/2015 289 Cases_Liberia NA ## 3 1/5/2015 289 Cases_SierraLeone 10030 ## 4 1/5/2015 289 Cases_Nigeria NA ## 5 1/5/2015 289 Cases_Senegal NA ## 6 1/5/2015 289 Cases_UnitedStates NA Convert Date to a date class: ebola <- ebola %>% mutate(Date = mdy(Date)) head(ebola) ## # A tibble: 6 x 4 ## Date Day variable count ## <date> <dbl> <chr> <dbl> ## 1 2015-01-05 289 Cases_Guinea 2776 ## 2 2015-01-05 289 Cases_Liberia NA ## 3 2015-01-05 289 Cases_SierraLeone 10030 ## 4 2015-01-05 289 Cases_Nigeria NA ## 5 2015-01-05 289 Cases_Senegal NA ## 6 2015-01-05 289 Cases_UnitedStates NA Split variable into type and country: ebola <- ebola %>% separate(variable, c("type", "country"), sep = "_") head(ebola) ## # A tibble: 6 x 5 ## Date Day type country count ## <date> <dbl> <chr> <chr> <dbl> ## 1 2015-01-05 289 Cases Guinea 2776 ## 2 2015-01-05 289 Cases Liberia NA ## 3 2015-01-05 289 Cases SierraLeone 10030 ## 4 2015-01-05 289 Cases Nigeria NA ## 5 2015-01-05 289 Cases Senegal NA ## 6 2015-01-05 289 Cases UnitedStates NA Convert the data so you have separate columns for the two variables of numbers of Cases and Deaths: ebola <- pivot_wider(ebola, names_from = type, values_from = count) head(ebola) ## # A tibble: 6 x 5 ## Date Day country Cases Deaths ## <date> <dbl> <chr> <dbl> <dbl> ## 1 2015-01-05 289 Guinea 2776 1786 ## 2 2015-01-05 289 Liberia NA NA ## 3 2015-01-05 289 SierraLeone 10030 2977 ## 4 2015-01-05 289 Nigeria NA NA ## 5 2015-01-05 289 Senegal NA NA ## 6 2015-01-05 289 UnitedStates NA NA Remove any observations where counts of cases or deaths are missing for that country: ebola <- filter(ebola, !is.na(Cases) & !is.na(Deaths)) head(ebola) ## # A tibble: 6 x 5 ## Date Day country Cases Deaths ## <date> <dbl> <chr> <dbl> <dbl> ## 1 2015-01-05 289 Guinea 2776 1786 ## 2 2015-01-05 289 SierraLeone 10030 2977 ## 3 2015-01-04 288 Guinea 2775 1781 ## 4 2015-01-04 288 SierraLeone 9780 2943 ## 5 2015-01-03 287 Guinea 2769 1767 ## 6 2015-01-03 287 Liberia 8166 3496 Now that your data is tidy, create one plot showing ebola cases by date, faceted by country, and one showing ebola deaths by date, also faceted by country: ggplot(ebola, aes(x = Date, y = Cases)) + geom_line() + facet_wrap(~ country, ncol = 4) + theme_classic() ggplot(ebola, aes(x = Date, y = Deaths)) + geom_line() + facet_wrap(~ country, ncol = 4) + theme_classic() Try using the option scales = \"free_y\" in the facet_wrap() function (in the gridExtra package) and see how that changes these graphs: ggplot(ebola, aes(x = Date, y = Cases)) + geom_line() + facet_wrap(~ country, ncol = 4, scales = "free_y") + theme_classic() ggplot(ebola, aes(x = Date, y = Deaths)) + geom_line() + facet_wrap(~ country, ncol = 4, scales = "free_y") + theme_classic() Put all of the steps of this cleaning process into just a few “chaining” calls. ebola <- read_csv(ebola_url) %>% pivot_longer(cols = c(-Date, -Day), names_to = "variable", values_to = "count") %>% mutate(Date = mdy(Date)) %>% separate(variable, c("type", "country"), sep = "_") %>% pivot_wider(names_from = type, values_from = count) %>% filter(!is.na(Cases) & !is.na(Deaths)) ggplot(ebola, aes(x = Date, y = Cases)) + geom_line() + facet_wrap(~ country, ncol = 4) + theme_classic() ggplot(ebola, aes(x = Date, y = Deaths)) + geom_line() + facet_wrap(~ country, ncol = 4) + theme_classic() Use the fct_reorder function inside the facet_wrap function call to reorder the small-multiple graphs. library(forcats) ggplot(ebola, aes(x = Date, y = Cases)) + geom_line() + facet_wrap(~ fct_reorder(country, Cases, .fun = max, .desc = TRUE), ncol = 4) + theme_classic() ggplot(ebola, aes(x = Date, y = Deaths)) + geom_line() + facet_wrap(~ fct_reorder(country, Deaths, .fun = max, .desc = TRUE), ncol = 4) + theme_classic() 6.7.4 Tidying VADeaths data R comes with a dataset called VADeaths that gives death rates per 1,000 people in Virginia in 1940 by age, sex, and rural / urban. Use data(\"VADeaths\") to load this data. Make sure you understand what each column and row is showing – use the helpfile (?VADeaths) if you need. Go through the three characteristics of tidy data and the five common problems in untidy data that we talked about in class. Sketch out (you’re welcome to use the whiteboards) what a tidy version of this data would look like. Open a new R script file. Write R code to transform this dataset into a tidy dataset. Try using a pipe chain, with %>% and tidyverse functions, to clean the data. Use the tidy data to create the following graph: There is no example R code for this – try to figure out the code yourselves. We will go over a solution in class. You may find the RStudio Data Wrangling cheatsheet helpful for remembering which tidyverse functions do what. 6.7.5 Baby names In the Fall 2018 session, we seem to have an unusually high percent of the class with names that start with an “A” or “K”. In this part of the exercise, we’ll see if we can figure out whether the proportion of “A” and “K” names is unusual. There is a package on CRAN called babynames with data on baby names by year in the United States, based on data from the U.S.’s Social Security Administration. We will use this data to compare the proportion of “A” and “K” names in our class with the proportion in these baby names. We’ll also do a few other things to explore this data. First, check out patterns in your own name. Is your name included in this dataset? Has your name been used for males and females? How have the patterns in the proportion of babies with your name, for both males and females, changed over time (use a plot to look at this)? In the year you were born, what were the 5 most popular baby names for males and females? Try to come up with some attractive ways (figures and tables) to show this. 6.7.5.1 Example R code Install and load the babynames package and its “babynames” dataframe: # install.packages("babynames") library(babynames) data("babynames") Remember that you can use ?babynames to find out more about this dataframe. Check out patterns in your own name. Is your name included in this dataset? You can use filter to create a subset of this data where you’ve filtered down to just the rows with your name. To see if your name ever shows up, you can use count on this dataframe—if your name never shows up, then you will have 0 rows in the new dataframe. As long as there’s at least one row, your name shows up somewhere. (If your name is not in here, try your middle or last name, or the name of a fictional character you like, for the rest of these exercises.) my_name <- babynames %>% filter(name == "Brooke") my_name %>% count() ## # A tibble: 1 x 1 ## n ## <int> ## 1 174 Has your name been used for males and females? To figure this out, you can group the dataset with rows with your name by the sex column and then use count to count the number of rows in the dataset for males and females. If your name has only been used for one gender, then only one row will result from running this code (for an example, try my first name, “Georgiana”). my_name %>% group_by(sex) %>% count() ## # A tibble: 2 x 2 ## # Groups: sex [2] ## sex n ## <chr> <int> ## 1 F 82 ## 2 M 92 How have the patterns in the proportion of babies with your name, for both males and females, changed over time (use a plot to look at this)? To check this out, I recommend you create a plot of the proportion of babies with your name (prop) versus year (year). You can use color to show these patterns for males and females separately. I’ve done some extra things here to (1) relabel the sex factor, so the label shows up with clearer names and (2) change the labels for the x-, y-, and color scales. library(forcats) my_name %>% mutate(sex = fct_recode(sex, Male = "M", Female = "F")) %>% ggplot(aes(x = year, y = prop, color = sex)) + geom_line() + labs(x = "Year", y = "Proportion of babies\\nof each sex named 'Brooke'", color = "") In the year you were born, what were the 5 most popular baby names for males and females? top_my_year <- babynames %>% filter(year == 1981) %>% group_by(sex) %>% arrange(desc(prop)) %>% slice(1:5) top_my_year ## # A tibble: 10 x 5 ## # Groups: sex [2] ## year sex name n prop ## <dbl> <chr> <chr> <int> <dbl> ## 1 1981 F Jennifer 57049 0.0319 ## 2 1981 F Jessica 42532 0.0238 ## 3 1981 F Amanda 34374 0.0192 ## 4 1981 F Sarah 28173 0.0158 ## 5 1981 F Melissa 28000 0.0157 ## 6 1981 M Michael 68765 0.0369 ## 7 1981 M Christopher 50233 0.0270 ## 8 1981 M Matthew 43330 0.0233 ## 9 1981 M Jason 41932 0.0225 ## 10 1981 M David 40659 0.0218 If you’d like to show this in a prettier way, you could show this as a table: library(knitr) top_my_year %>% mutate(rank = 1:n()) %>% # Since the data is grouped by sex, this will rank # separately for females and males ungroup() %>% # You have to ungroup before you can run `mutate` on `sex` mutate(sex = fct_recode(sex, Male = "M", Female = "F"), percent = round(100 * prop, 1), percent = paste(percent, "%", sep = "")) %>% select(sex, rank, name, percent) %>% kable() sex rank name percent Female 1 Jennifer 3.2% Female 2 Jessica 2.4% Female 3 Amanda 1.9% Female 4 Sarah 1.6% Female 5 Melissa 1.6% Male 1 Michael 3.7% Male 2 Christopher 2.7% Male 3 Matthew 2.3% Male 4 Jason 2.3% Male 5 David 2.2% You could also show it as a figure: library(scales) top_my_year %>% ungroup() %>% mutate(name = fct_reorder(name, prop, .desc = TRUE), sex = fct_recode(sex, Male = "M", Female = "F")) %>% ggplot(aes(x = name)) + geom_bar(aes(weight = prop)) + coord_flip() + labs(x = "", y = "Percent of babies with name in 1981") + theme(legend.position = "top") + scale_y_continuous(labels = percent) + facet_wrap(~ sex, scales = "free_y") + theme_classic() "], +["exploring-data-2.html", "Chapter 7 Exploring data #2 7.1 Simple statistical tests in R 7.2 Matrices 7.3 Lists 7.4 Apply a test multiple times 7.5 Regression models 7.6 Handling model objects 7.7 Functions 7.8 In-course exercise", " Chapter 7 Exploring data #2 Download a pdf of the lecture slides covering this topic. 7.1 Simple statistical tests in R Let’s pull the fatal accident data just for the county that includes Las Vegas, NV. Each US county has a unique identifier (FIPS code), composed of a two-digit state FIPS and a three-digit county FIPS code. The state FIPS for Nevada is 32; the county FIPS for Clark County is 003. Therefore, we can filter down to Clark County data in the FARS data we collected with the following code: library(readr) library(dplyr) clark_co_accidents <- read_csv("data/accident.csv") %>% filter(STATE == 32 & COUNTY == 3) We can also check the number of accidents: clark_co_accidents %>% count() ## # A tibble: 1 x 1 ## n ## <int> ## 1 201 We want to test if the probability, on a Friday or Saturday, of a fatal accident occurring is higher than on other days of the week. Let’s clean the data up a bit as a start: library(tidyr) library(lubridate) clark_co_accidents <- clark_co_accidents %>% select(DAY, MONTH, YEAR) %>% unite(date, DAY, MONTH, YEAR, sep = "-") %>% mutate(date = dmy(date)) Here’s what the data looks like now: clark_co_accidents %>% slice(1:5) ## # A tibble: 5 x 1 ## date ## <date> ## 1 2016-01-10 ## 2 2016-02-21 ## 3 2016-01-06 ## 4 2016-01-13 ## 5 2016-02-18 Next, let’s get the count of accidents by date: clark_co_accidents <- clark_co_accidents %>% group_by(date) %>% count() %>% ungroup() clark_co_accidents %>% slice(1:3) ## # A tibble: 3 x 2 ## date n ## <date> <int> ## 1 2016-01-03 1 ## 2 2016-01-06 1 ## 3 2016-01-09 3 We’re missing the dates without a fatal crash, so let’s add those. First, create a dataframe with all dates in 2016: all_dates <- tibble(date = seq(ymd("2016-01-01"), ymd("2016-12-31"), by = 1)) all_dates %>% slice(1:5) ## # A tibble: 5 x 1 ## date ## <date> ## 1 2016-01-01 ## 2 2016-01-02 ## 3 2016-01-03 ## 4 2016-01-04 ## 5 2016-01-05 Then merge this with the original dataset on Las Vegas fatal crashes and make any day missing from the fatal crashes dataset have a “0” for number of fatal accidents (n): clark_co_accidents <- clark_co_accidents %>% right_join(all_dates, by = "date") %>% # If `n` is missing, set to 0. Otherwise keep value. mutate(n = ifelse(is.na(n), 0, n)) clark_co_accidents %>% slice(1:3) ## # A tibble: 3 x 2 ## date n ## <date> <dbl> ## 1 2016-01-03 1 ## 2 2016-01-06 1 ## 3 2016-01-09 3 Next, let’s add some information about day of week and weekend: clark_co_accidents <- clark_co_accidents %>% mutate(weekday = wday(date, label = TRUE), weekend = weekday %in% c("Fri", "Sat")) clark_co_accidents %>% slice(1:3) ## # A tibble: 3 x 4 ## date n weekday weekend ## <date> <dbl> <ord> <lgl> ## 1 2016-01-03 1 Sun FALSE ## 2 2016-01-06 1 Wed FALSE ## 3 2016-01-09 3 Sat TRUE Now let’s calculate the probability that a day has at least one fatal crash, separately for weekends and weekdays: clark_co_accidents <- clark_co_accidents %>% mutate(any_crash = n > 0) crash_prob <- clark_co_accidents %>% group_by(weekend) %>% summarize(n_days = n(), crash_days = sum(any_crash)) %>% mutate(prob_crash_day = crash_days / n_days) ## `summarise()` ungrouping output (override with `.groups` argument) crash_prob ## # A tibble: 2 x 4 ## weekend n_days crash_days prob_crash_day ## <lgl> <int> <int> <dbl> ## 1 FALSE 260 107 0.412 ## 2 TRUE 106 43 0.406 In R, you can use prop.test to test if two proportions are equal. Inputs include the total number of trials in each group (n =) and the number of “successes”\" (x =): prop.test(x = crash_prob$crash_days, n = crash_prob$n_days) ## ## 2-sample test for equality of proportions with continuity correction ## ## data: crash_prob$crash_days out of crash_prob$n_days ## X-squared = 1.5978e-30, df = 1, p-value = 1 ## alternative hypothesis: two.sided ## 95 percent confidence interval: ## -0.1109757 0.1227318 ## sample estimates: ## prop 1 prop 2 ## 0.4115385 0.4056604 I won’t be teaching in this course how to find the correct statistical test. That’s something you’ll hopefully learn in a statistics course. There are also a variety of books that can help you with this, including some that you can access free online through CSU’s library. One servicable introduction is “Statistical Analysis with R for Dummies”. You can create an object from the output of any statistical test in R. Typically, this will be (at least at some level) in an object class called a “list”: vegas_test <- prop.test(x = crash_prob$crash_days, n = crash_prob$n_days) is.list(vegas_test) ## [1] TRUE So far, we’ve mostly worked with two object types in R, dataframes and vectors. In the next subsection we’ll look more at two object classes we haven’t looked at much, matrices and lists. Both have important roles once you start applying more advanced methods to analyze your data. 7.2 Matrices A matrix is like a data frame, but all the values in all columns must be of the same class (e.g., numeric, character). R uses matrices a lot for its underlying math (e.g., for the linear algebra operations required for fitting regression models). R can do matrix operations quite quickly. You can create a matrix with the matrix function. Input a vector with the values to fill the matrix and ncol to set the number of columns: foo <- matrix(1:10, ncol = 5) foo ## [,1] [,2] [,3] [,4] [,5] ## [1,] 1 3 5 7 9 ## [2,] 2 4 6 8 10 By default, the matrix will fill up by column. You can fill it by row with the byrow function: foo <- matrix(1:10, ncol = 5, byrow = TRUE) foo ## [,1] [,2] [,3] [,4] [,5] ## [1,] 1 2 3 4 5 ## [2,] 6 7 8 9 10 In certain situations, you might want to work with a matrix instead of a data frame (for example, in cases where you were concerned about speed – a matrix is more memory efficient than the corresponding data frame). If you want to convert a data frame to a matrix, you can use the as.matrix function: foo <- tibble(col_1 = 1:2, col_2 = 3:4, col_3 = 5:6, col_4 = 7:8, col_5 = 9:10) (foo <- as.matrix(foo)) ## col_1 col_2 col_3 col_4 col_5 ## [1,] 1 3 5 7 9 ## [2,] 2 4 6 8 10 You can index matrices with square brackets, just like data frames: foo[1, 1:2] ## col_1 col_2 ## 1 3 You cannot, however, use dplyr functions with matrices: foo %>% filter(col_1 == 1) All elements in a matrix must have the same class. The matrix will default to make all values the most general class of any of the values, in any column. For example, if we replaced one numeric value with the character “a”, everything would turn into a character: foo[1, 1] <- "a" foo ## col_1 col_2 col_3 col_4 col_5 ## [1,] "a" "3" "5" "7" "9" ## [2,] "2" "4" "6" "8" "10" 7.3 Lists A list has different elements, just like a data frame has different columns. However, the different elements of a list can have different lengths (unlike the columns of a data frame). The different elements can also have different classes. bar <- list(some_letters = letters[1:3], some_numbers = 1:5, some_logical_values = c(TRUE, FALSE)) bar ## $some_letters ## [1] "a" "b" "c" ## ## $some_numbers ## [1] 1 2 3 4 5 ## ## $some_logical_values ## [1] TRUE FALSE To index an element from a list, use double square brackets. You can use bracket indexing either with numbers (which element in the list?) or with names: bar[[1]] ## [1] "a" "b" "c" bar[["some_numbers"]] ## [1] 1 2 3 4 5 You can also index lists with the $ operator: bar$some_logical_values ## [1] TRUE FALSE To access a specific value within a list element we can index the element e.g.: bar[[1]][[2]] ## [1] "b" Lists can be used to contain data with an unusual structure and / or lots of different components. For example, the information from fitting a regression is often stored as a list: my_mod <- glm(rnorm(10) ~ c(1:10)) is.list(my_mod) ## [1] TRUE The names function returns the name of each element in the list: head(names(my_mod), 3) ## [1] "coefficients" "residuals" "fitted.values" my_mod[["coefficients"]] ## (Intercept) c(1:10) ## 0.2759347 -0.1316436 A list can even contain other lists. We can use the str function to see the structure of a list: a_list <- list(list("a", "b"), list(1, 2)) str(a_list) ## List of 2 ## $ :List of 2 ## ..$ : chr "a" ## ..$ : chr "b" ## $ :List of 2 ## ..$ : num 1 ## ..$ : num 2 Sometimes you’ll see unnecessary lists-of-lists, perhaps when importing data into R created. Or a list with multiple elements that you would like to combine. You can remove a level of hierarchy from a list using the flatten function from the purrr package: library(purrr) a_list ## [[1]] ## [[1]][[1]] ## [1] "a" ## ## [[1]][[2]] ## [1] "b" ## ## ## [[2]] ## [[2]][[1]] ## [1] 1 ## ## [[2]][[2]] ## [1] 2 flatten(a_list) ## [[1]] ## [1] "a" ## ## [[2]] ## [1] "b" ## ## [[3]] ## [1] 1 ## ## [[4]] ## [1] 2 Let’s look at the list object from the statistical test we ran for Las Vegas: str(vegas_test) ## List of 9 ## $ statistic : Named num 1.6e-30 ## ..- attr(*, "names")= chr "X-squared" ## $ parameter : Named num 1 ## ..- attr(*, "names")= chr "df" ## $ p.value : num 1 ## $ estimate : Named num [1:2] 0.412 0.406 ## ..- attr(*, "names")= chr [1:2] "prop 1" "prop 2" ## $ null.value : NULL ## $ conf.int : num [1:2] -0.111 0.123 ## ..- attr(*, "conf.level")= num 0.95 ## $ alternative: chr "two.sided" ## $ method : chr "2-sample test for equality of proportions with continuity correction" ## $ data.name : chr "crash_prob$crash_days out of crash_prob$n_days" ## - attr(*, "class")= chr "htest" Using str to print out the list’s structure doesn’t produce the easiest to digest output. We can use the jsonedit function from the listviewer package to create a widget in the viewer pane to more esily explore our list. library(listviewer) jsonedit(vegas_test) We can pull out an element using the $ notation: vegas_test$p.value ## [1] 1 Or using the [[ notation: vegas_test[[4]] ## prop 1 prop 2 ## 0.4115385 0.4056604 You may have noticed, though, that this output is not a tidy dataframe. Ack! That means we can’t use all the tidyverse tricks we’ve learned so far in the course! Fortunately, David Robinson noticed this problem and came up with a package called broom that can “tidy up” a lot of these kinds of objects. The broom package has three main functions: glance: Return a one-row, tidy dataframe from a model or other R object tidy: Return a tidy dataframe from a model or other R object augment: “Augment” the dataframe you input to the statistical function Here is the output for tidy for the vegas_test object (augment won’t work for this type of object, and glance gives the same thing as tidy): library(broom) tidy(vegas_test) ## # A tibble: 1 x 9 ## estimate1 estimate2 statistic p.value parameter conf.low conf.high method ## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> ## 1 0.412 0.406 1.60e-30 1.00 1 -0.111 0.123 2-sam… ## # … with 1 more variable: alternative <chr> 7.4 Apply a test multiple times Often, we don’t want to just apply a statistical test to our entire data set. Let’s look at an example from the microbiome package. library(microbiome) data(peerj32) print(names(peerj32)) ## [1] "lipids" "microbes" "meta" "phyloseq" Like we saw before, the list-like phyloseq objects require a little tidying before we can use them easiliy. library(dplyr) peerj32_tibble <- (psmelt(peerj32$phyloseq)) %>% dplyr::select(-Sample) %>% rename_all(tolower) %>% as_tibble() ## # A tibble: 3 x 10 ## otu abundance time sex subject sample group phylum family genus ## <chr> <dbl> <int> <fct> <fct> <chr> <fct> <chr> <chr> <chr> ## 1 Bacteroi… 9734 1 male S19 sampl… LGG Bacter… Bacter… Bactero… ## 2 Bacteroi… 5883 1 female S14 sampl… Plac… Bacter… Bacter… Bactero… ## 3 Bacteroi… 5134 2 female S8 sampl… LGG Bacter… Bacter… Bactero… We can make a plot from the resulting tibble to help us explore the data. library(ggplot2) ggplot(peerj32_tibble, aes(x = subject, y = abundance, color = sex)) + geom_point() + theme_bw() + facet_wrap(~phylum, ncol = 4, scales = "free") + theme(axis.text.x = element_blank(), legend.position = "top") + xlab("Subject ID") We can group the data by phylum and group and then use the nest function from the tidyr package to create a new dataframe containing the nested data: library(tidyr) nested_data <- peerj32_tibble %>% group_by(phylum, group) %>% nest() slice(nested_data, 1:3) ## # A tibble: 16 x 3 ## # Groups: group, phylum [16] ## group phylum data ## <fct> <chr> <list> ## 1 LGG Actinobacteria <tibble [128 × 8]> ## 2 LGG Bacteroidetes <tibble [256 × 8]> ## 3 LGG Cyanobacteria <tibble [16 × 8]> ## 4 LGG Firmicutes <tibble [1,216 × 8]> ## 5 LGG Fusobacteria <tibble [16 × 8]> ## 6 LGG Proteobacteria <tibble [416 × 8]> ## 7 LGG Spirochaetes <tibble [16 × 8]> ## 8 LGG Verrucomicrobia <tibble [16 × 8]> ## 9 Placebo Actinobacteria <tibble [224 × 8]> ## 10 Placebo Bacteroidetes <tibble [448 × 8]> ## 11 Placebo Cyanobacteria <tibble [28 × 8]> ## 12 Placebo Firmicutes <tibble [2,128 × 8]> ## 13 Placebo Fusobacteria <tibble [28 × 8]> ## 14 Placebo Proteobacteria <tibble [728 × 8]> ## 15 Placebo Spirochaetes <tibble [28 × 8]> ## 16 Placebo Verrucomicrobia <tibble [28 × 8]> We can then use the map function from the purrr package to apply functions to each nested dataframe. Let’s start by counting the rows in each nested dataframe and filtering out dataframes with less than 25 rows. library(purrr) filtered_data <- nested_data %>% mutate(n_rows = purrr::map(data, ~ nrow(.x))) %>% filter(n_rows > 25) Now let’s perform a t-test on each out the nested dataframes. Remember, each nested dataframe is one unique combination of phylum and group. t_tests <- filtered_data %>% mutate(t_test = purrr::map(data, ~t.test(abundance ~ sex, data = .x))) t_tests ## # A tibble: 12 x 5 ## # Groups: group, phylum [12] ## group phylum data n_rows t_test ## <fct> <chr> <list> <list> <list> ## 1 LGG Bacteroidetes <tibble [256 × 8]> <int [1]> <htest> ## 2 Placebo Bacteroidetes <tibble [448 × 8]> <int [1]> <htest> ## 3 Placebo Firmicutes <tibble [2,128 × 8]> <int [1]> <htest> ## 4 LGG Firmicutes <tibble [1,216 × 8]> <int [1]> <htest> ## 5 Placebo Verrucomicrobia <tibble [28 × 8]> <int [1]> <htest> ## 6 LGG Actinobacteria <tibble [128 × 8]> <int [1]> <htest> ## 7 Placebo Actinobacteria <tibble [224 × 8]> <int [1]> <htest> ## 8 Placebo Proteobacteria <tibble [728 × 8]> <int [1]> <htest> ## 9 LGG Proteobacteria <tibble [416 × 8]> <int [1]> <htest> ## 10 Placebo Cyanobacteria <tibble [28 × 8]> <int [1]> <htest> ## 11 Placebo Fusobacteria <tibble [28 × 8]> <int [1]> <htest> ## 12 Placebo Spirochaetes <tibble [28 × 8]> <int [1]> <htest> The resulting dataframe contains a new column, which contains the model objects. Just as we mapped the t.test function, we can map the tidying functions from the broom package to extract the information we want from the nested model objects. summary <- t_tests %>% mutate(summary = purrr::map(t_test, broom::glance)) summary ## # A tibble: 12 x 6 ## # Groups: group, phylum [12] ## group phylum data n_rows t_test summary ## <fct> <chr> <list> <list> <list> <list> ## 1 LGG Bacteroidetes <tibble [256 × 8]> <int [1]> <htes… <tibble [1 × 10… ## 2 Placebo Bacteroidetes <tibble [448 × 8]> <int [1]> <htes… <tibble [1 × 10… ## 3 Placebo Firmicutes <tibble [2,128 × 8… <int [1]> <htes… <tibble [1 × 10… ## 4 LGG Firmicutes <tibble [1,216 × 8… <int [1]> <htes… <tibble [1 × 10… ## 5 Placebo Verrucomicrobia <tibble [28 × 8]> <int [1]> <htes… <tibble [1 × 10… ## 6 LGG Actinobacteria <tibble [128 × 8]> <int [1]> <htes… <tibble [1 × 10… ## 7 Placebo Actinobacteria <tibble [224 × 8]> <int [1]> <htes… <tibble [1 × 10… ## 8 Placebo Proteobacteria <tibble [728 × 8]> <int [1]> <htes… <tibble [1 × 10… ## 9 LGG Proteobacteria <tibble [416 × 8]> <int [1]> <htes… <tibble [1 × 10… ## 10 Placebo Cyanobacteria <tibble [28 × 8]> <int [1]> <htes… <tibble [1 × 10… ## 11 Placebo Fusobacteria <tibble [28 × 8]> <int [1]> <htes… <tibble [1 × 10… ## 12 Placebo Spirochaetes <tibble [28 × 8]> <int [1]> <htes… <tibble [1 × 10… The final step is to return a tidy dataframe, we can do this using the unnest function from the tidyr package. Note: it is also wise to ungroup after you are done operating on your grouped variables - you may run into problems if you forget your dataframe is grouped later on! unnested <- summary %>% unnest(summary) %>% ungroup() %>% dplyr::select(group, phylum, p.value) unnested ## # A tibble: 12 x 3 ## group phylum p.value ## <fct> <chr> <dbl> ## 1 LGG Bacteroidetes 0.930 ## 2 Placebo Bacteroidetes 0.828 ## 3 Placebo Firmicutes 0.344 ## 4 LGG Firmicutes 0.131 ## 5 Placebo Verrucomicrobia 0.106 ## 6 LGG Actinobacteria 0.600 ## 7 Placebo Actinobacteria 0.997 ## 8 Placebo Proteobacteria 0.856 ## 9 LGG Proteobacteria 0.0111 ## 10 Placebo Cyanobacteria 0.193 ## 11 Placebo Fusobacteria 0.265 ## 12 Placebo Spirochaetes 0.728 We can then plot the results. Let’s do this for the “LGG” (non-placebo) group, using our principles for good graphics. p_data <- unnested %>% filter(group == "LGG") %>% mutate(phylum = fct_reorder(phylum, p.value)) ggplot(p_data, aes(y = p.value, x = phylum)) + facet_wrap(~group) + geom_bar(stat="identity", fill = "grey90", color = "grey20") + coord_flip() + theme_bw() + ggtitle("Difference in abundance by gender") + xlab("") + ylab("p-value from t-test") 7.5 Regression models 7.5.1 Formula structure Regression models can be used to estimate how the expected value of a dependent variable changes as independent variables change. In R, regression formulas take this structure: ## Generic code [response variable] ~ [indep. var. 1] + [indep. var. 2] + ... Notice that a tilde, ~, is used to separate the independent and dependent variables and that a plus sign, +, is used to join independent variables. This format mimics the statistical notation: \\[ Y_i \\sim X_1 + X_2 + X_3 \\] You will use this type of structure in R fo a lot of different function calls, including those for linear models (fit with the lm function) and generalized linear models (fit with the glm function). There are some conventions that can be used in R formulas. Common ones include: Convention Meaning I() evaluate the formula inside I() before fitting (e.g., I(x1 + x2)) : fit the interaction between x1 and x2 variables * fit the main effects and interaction for both variables (e.g., x1*x2 equals x1 + x2 + x1:x2) . include as independent variables all variables other than the response (e.g., y ~ .) 1 intercept (e.g., y ~ 1 for an intercept-only model) - do not include a variable in the data frame as an independent variables (e.g., y ~ . - x1); usually used in conjunction with . or 1 7.5.2 Linear models To fit a linear model, you can use the function lm(). This function is part of the stats package, which comes installed with base R. In this function, you can use the data option to specify the data frame from which to get the vectors. ## Warning: Problem with `mutate()` input `sex`. ## ℹ Unknown levels in `f`: 1, 2 ## ℹ Input `sex` is `fct_recode(factor(sex), Male = "1", Female = "2")`. ## Warning: Unknown levels in `f`: 1, 2 mod_a <- lm(wt ~ ht, data = nepali) This previous call fits the model: \\[ Y_{i} = \\beta_{0} + \\beta_{1}X_{1,i} + \\epsilon_{i} \\] where: \\(Y_{i}\\) : weight of child \\(i\\) \\(X_{1,i}\\) : height of child \\(i\\) If you run the lm function without saving it as an object, R will fit the regression and print out the function call and the estimated model coefficients: lm(wt ~ ht, data = nepali) ## ## Call: ## lm(formula = wt ~ ht, data = nepali) ## ## Coefficients: ## (Intercept) ht ## -8.7581 0.2342 However, to be able to use the model later for things like predictions and model assessments, you should save the output of the function as an R object: mod_a <- lm(wt ~ ht, data = nepali) This object has a special class, lm: class(mod_a) ## [1] "lm" This class is a special type of list object. If you use is.list to check, you can confirm that this object is a list: is.list(mod_a) ## [1] TRUE There are a number of functions that you can apply to an lm object. These include: Function Description summary Get a variety of information on the model, including coefficients and p-values for the coefficients coefficients Pull out just the coefficients for a model fitted Get the fitted values from the model (for the data used to fit the model) plot Create plots to help assess model assumptions residuals Get the model residuals For example, you can get the coefficients from the model by running: coefficients(mod_a) ## (Intercept) ht ## -8.7581466 0.2341969 The estimated coefficient for the intercept is always given under the name “(Intercept)”. Estimated coefficients for independent variables are given based on their column names in the original data (“ht” here, for \\(\\beta_1\\), or the estimated increase in expected weight for a one unit increase in height). You can use the output from a coefficients call to plot a regression line based on the model fit on top of points showing the original data (Figure 7.1). mod_coef <- coefficients(mod_a) ggplot(nepali, aes(x = ht, y = wt)) + geom_point(size = 0.2) + xlab("Height (cm)") + ylab("Weight (kg)") + geom_abline(aes(intercept = mod_coef[1], slope = mod_coef[2]), col = "blue") Figure 7.1: Example of using the output from a coefficients call to add a regression line to a scatterplot. You can also add a linear regression line to a scatterplot by adding the geom geom_smooth using the argument method = “lm”. You can use the function residuals on an lm object to pull out the residuals from the model fit: head(residuals(mod_a)) ## 1 2 3 4 6 7 ## 0.1993922 -0.4329393 -0.4373953 -0.1355300 -0.6749080 -1.0838199 The result of a residuals call is a vector with one element for each of the non-missing observations (rows) in the data frame you used to fit the model. Each value gives the different between the model fitted value and the observed value for each of these observations, in the same order the observations show up in the data frame. The residuals are in the same order as the observations in the original data frame. You can also use the shorter function coef as an alternative to coefficients and the shorter function resid as an alternative to residuals. As noted in the subsection on simple statistics functions, the summary function returns different output depending on the type of object that is input to the function. If you input a regression model object to summary, the function gives you a lot of information about the model. For example, here is the output returned by running summary for the linear regression model object we just created: summary(mod_a) ## ## Call: ## lm(formula = wt ~ ht, data = nepali) ## ## Residuals: ## Min 1Q Median 3Q Max ## -3.0077 -0.5479 -0.0293 0.4972 3.3514 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) -8.758147 0.211529 -41.40 <2e-16 *** ## ht 0.234197 0.002459 95.23 <2e-16 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 0.8733 on 875 degrees of freedom ## (123 observations deleted due to missingness) ## Multiple R-squared: 0.912, Adjusted R-squared: 0.9119 ## F-statistic: 9068 on 1 and 875 DF, p-value: < 2.2e-16 This output includes a lot of useful elements, including (1) basic summary statistics for the residuals (to meet model assumptions, the median should be around zero and the absolute values fairly similar for the first and third quantiles), (2) coefficient estimates, standard errors, and p-values, and (3) some model summary statistics, including residual standard error, degrees of freedom, number of missing observations, and F-statistic. The object returned by the summary() function when it is applied to an lm object is a list, which you can confirm using the is.list function: is.list(summary(mod_a)) ## [1] TRUE With any list, you can use the names function to get the names of all of the different elements of the object: names(summary(mod_a)) ## [1] "call" "terms" "residuals" "coefficients" ## [5] "aliased" "sigma" "df" "r.squared" ## [9] "adj.r.squared" "fstatistic" "cov.unscaled" "na.action" You can use the $ operator to pull out any element of the list. For example, to pull out the table with information on the estimated model coefficients, you can run: summary(mod_a)$coefficients ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) -8.7581466 0.211529182 -41.40396 2.411051e-208 ## ht 0.2341969 0.002459347 95.22726 0.000000e+00 The plot function, like the summary function, will give different output depending on the class of the object that you input. For an lm object, you can use the plot function to get a number of useful diagnostic plots that will help you check regression assumptions (Figure 7.2): plot(mod_a) Figure 7.2: Example output from running the plot function with an lm object as the input. You can also use binary variables or factors as independent variables in regression models. For example, in the nepali dataset, sex is a factor variable with the levels “Male” and “Female”. You can fit a linear model of weight regressed on sex for this data with the call: mod_b <- lm(wt ~ sex, data = nepali) This call fits the model: \\[ Y_{i} = \\beta_{0} + \\beta_{1}X_{1,i} + \\epsilon_{i} \\] where \\(X_{1,i}\\) : sex of child \\(i\\), where 0 = male and 1 = female. Here are the estimated coefficients from fitting this model: summary(mod_b)$coefficients ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 11.4226374 0.1375427 83.047920 0.00000000 ## sexFemale -0.4866184 0.1982810 -2.454185 0.01431429 You’ll notice that, in addition to an estimated intercept ((Intercept)), the other estimated coefficient is sexFemale rather than just sex, although the column name in the data frame input to lm for this variable is sex. This is because, when a factor or binary variable is input as an independent variable in a linear regression model, R will fit an estimated coefficient for all levels of factors except the first factor level. By default, this first factor level is used as the baseline level, and so its estimated mean is given by the estimated intercept, while the other model coefficients give the estimated difference from this baseline. For example, the model fit above tells us that the estimated mean weight of males is 11.4, while the estimated mean weight of females is 11.4 + -0.5 = 10.9. 7.6 Handling model objects The broom package contains tools for converting statistical objects into nice tidy data frames. The tools in the broom package make it easy to process statistical results in R using the tools of the tidyverse. 7.6.1 broom::tidy The tidy() function returns a data frame with information on the fitted model terms. For example, when applied to one of our linear models we get: library(broom) kable(tidy(mod_a), digits = 3) term estimate std.error statistic p.value (Intercept) -8.758 0.212 -41.404 0 ht 0.234 0.002 95.227 0 class(tidy(mod_a)) ## [1] "tbl_df" "tbl" "data.frame" You can pass arguments to the tidy() function. For example, include confidence intervals: kable(tidy(mod_a, conf.int = TRUE), digits = 3) term estimate std.error statistic p.value conf.low conf.high (Intercept) -8.758 0.212 -41.404 0 -9.173 -8.343 ht 0.234 0.002 95.227 0 0.229 0.239 7.6.2 broom::augment The augment() function adds information about a fitted model to the dataset used to fit the model. For example, when applied to one of our linear models we get information on the fitted values and residuals included in the output: kable(head(broom::augment(mod_a), 3), digits = 3) .rownames wt ht .fitted .resid .std.resid .hat .sigma .cooksd 1 12.8 91.2 12.601 0.199 0.228 0.001 0.874 0 2 12.8 93.9 13.233 -0.433 -0.496 0.002 0.874 0 3 13.1 95.2 13.537 -0.437 -0.501 0.002 0.874 0 7.6.3 broom::glance The glance() functions returns a one row summary of a fitted model object: For example: kable(glance(mod_a, conf.int = TRUE), digits = 3) r.squared adj.r.squared sigma statistic p.value df logLik AIC BIC deviance df.residual nobs 0.912 0.912 0.873 9068.23 0 1 -1124.615 2255.23 2269.56 667.351 875 877 7.6.4 References– statistics in R One great (and free online for CSU students through our library) book to find out more about using R for basic statistics is: Introductory Statistics with R If you want all the details about fitting linear models and GLMs in R, Julian Faraway’s books are fantastic. He has one on linear models and one on extensions including logistic and Poisson models: Linear Models with R (also free online through the CSU library) Extending the Linear Model with R 7.7 Functions As you move to larger projects, you will find yourself using the same code a lot. Examples include: Reading in data from a specific type of equipment (air pollution monitor, accelerometer) Running a specific type of analysis Creating a specific type of plot or map If you find yourself cutting and pasting a lot, convert the code to a function. Advantages of writing functions include: Coding is more efficient Easier to change your code (if you’ve cut and paste code and you want to change something, you have to change it everywhere - this is an easy way to accidentally create bugs in your code) Easier to share code with others You can name a function anything you want (although try to avoid names of preexisting-existing functions). You then define any inputs (arguments; separate multiple arguments with commas) and put the code to run in braces: ## Note: this code will not run [function name] <- function([any arguments]){ [code to run] } Here is an example of a very basic function. This function takes a number as input and adds 1 to that number. add_one <- function(number){ out <- number + 1 return(out) } add_one(number = 3) ## [1] 4 add_one(number = -1) ## [1] 0 Functions can input any type of R object (for example, vectors, data frames, even other functions and ggplot objects) Similarly, functions can output any type of R object When defining a function, you can set default values for some of the parameters You can explicitly specify the value to return from the function For example, the following function inputs a data frame (datafr) and a one-element vector (child_id) and returns only rows in the data frame where it’s id column matches child_id. It includes a default value for datafr, but not for child_id. subset_nepali <- function(datafr = nepali, child_id){ datafr <- datafr %>% filter(id == child_id) return(datafr) } If an argument is not given for a parameter with a default, the function will run using the default value for that parameter. For example: subset_nepali(child_id = "120011") ## id sex wt ht mage lit died alive age ## 1 120011 Male 12.8 91.2 35 0 2 5 41 ## 2 120011 Male 12.8 93.9 35 0 2 5 45 ## 3 120011 Male 13.1 95.2 35 0 2 5 49 ## 4 120011 Male 13.8 96.9 35 0 2 5 53 ## 5 120011 Male NA NA 35 0 2 5 57 If an argument is not given for a parameter without a default, the function call will result in an error. For example: subset_nepali(datafr = nepali) ## Error: Problem with `filter()` input `..1`. ## x argument "child_id" is missing, with no default ## ℹ Input `..1` is `id == child_id`. By default, the function will return the last defined object, although the choice of using return can affect printing behavior when you run the function. For example, I could have written the subset_nepali function like this: subset_nepali <- function(datafr = nepali, child_id){ datafr <- datafr %>% filter(id == child_id) } In this case, the output will not automatically print out when you call the function without assigning it to an R object: subset_nepali(child_id = "120011") However, the output can be assigned to an R object in the same way as when the function was defined without return: first_childs_data <- subset_nepali(child_id = "120011") first_childs_data ## id sex wt ht mage lit died alive age ## 1 120011 Male 12.8 91.2 35 0 2 5 41 ## 2 120011 Male 12.8 93.9 35 0 2 5 45 ## 3 120011 Male 13.1 95.2 35 0 2 5 49 ## 4 120011 Male 13.8 96.9 35 0 2 5 53 ## 5 120011 Male NA NA 35 0 2 5 57 R is very “good” at running functions! It will look for (scope) the variables in your function in various places (environments). So your functions may run even when you don’t expect them to, potentially, with unexpected results! The return function can also be used to return an object other than the last defined object (although this doesn’t tend to be something you need to do very often). If you did not use return in the following code, it will output “Test output”: subset_nepali <- function(datafr = nepali, child_id){ datafr <- datafr %>% filter(id == child_id) a <- "Test output" } (subset_nepali(child_id = "120011")) ## [1] "Test output" Conversely, you can use return to output datafr, even though it’s not the last object defined: subset_nepali <- function(datafr = nepali, child_id){ datafr <- datafr %>% filter(id == child_id) a <- "Test output" return(datafr) } subset_nepali(child_id = "120011") ## id sex wt ht mage lit died alive age ## 1 120011 Male 12.8 91.2 35 0 2 5 41 ## 2 120011 Male 12.8 93.9 35 0 2 5 45 ## 3 120011 Male 13.1 95.2 35 0 2 5 49 ## 4 120011 Male 13.8 96.9 35 0 2 5 53 ## 5 120011 Male NA NA 35 0 2 5 57 7.7.1 if / else statements There are other control structures you can use in your R code. Two that you will commonly use within R functions are if and ifelse statements. An if statement tells R that, if a certain condition is true, do run some code. For example, if you wanted to print out only odd numbers between 1 and 5, one way to do that is with an if statement: (Note: the %% operator in R returns the remainder of the first value (i) divided by the second value (2).) for(i in 1:5){ if(i %% 2 == 1){ print(i) } } ## [1] 1 ## [1] 3 ## [1] 5 The if statement runs some code if a condition is true, but does nothing if it is false. If you’d like different code to run depending on whether the condition is true or false, you can us an if / else or an if / else if / else statement. for(i in 1:5){ if(i %% 2 == 1){ print(i) } else { print(paste(i, "is even")) } } ## [1] 1 ## [1] "2 is even" ## [1] 3 ## [1] "4 is even" ## [1] 5 What would this code do? for(i in 1:100){ if(i %% 3 == 0 & i %% 5 == 0){ print("FizzBuzz") } else if(i %% 3 == 0){ print("Fizz") } else if(i %% 5 == 0){ print("Buzz") } else { print(i) } } If / else statements are extremely useful in functions. In R, the if statement evaluates everything in the parentheses and, if that evaluates to TRUE, runs everything in the braces. This means that you can trigger code in an if statement with a single-value logical vector: weekend <- TRUE if(weekend){ print("It's the weekend!") } ## [1] "It's the weekend!" This functionality can be useful with parameters you choose to include when writing your own functions (e.g., print = TRUE). 7.7.2 Some other control structures The control structure you are most likely to use in data analysis with R is the “if / else” statement. However, there are a few other control structures you may occasionally find useful: next break while You can use the next structure to skip to the next round of a loop when a certain condition is met. For example, we could have used this code to print out odd numbers between 1 and 5: i <- 0 while(i < 5){ i <- 1 + i if(i %% 2 == 0){ next } print(i) } ## [1] 1 ## [1] 3 ## [1] 5 You can use break to break out of a loop if a certain condition is met. For example, the final code will break out of the loop once i is over 2, so it will only print the numbers 1 through 3: i <- 0 while(i <= 5){ if(i > 2){ break } i <- 1 + i print(i) } ## [1] 1 ## [1] 2 ## [1] 3 7.8 In-course exercise 7.8.1 Exploring taxonomic profiling data We’ll be using a package on Bioconductor called microbiome. You’ll need to install that package from Bioconductor. This uses code that’s different from the default you use to download a package from CRAN. Go to the Bioconductor page for the microbiome package and figure out how to install this package based on instructions on that page. The microbiome that includes tools for exploring and analysing microbiome profiling data. This package has a website with tutorial information here. We want to explore a dataset on genus-level microbiota profiling (atlas1006). Navigate to the tutorial webpage to figure out how you can get this example raw data loaded in your R session. Use the class and str functions to start exploring this data. Is it in a dataframe (tibble)? Is it in a tidy format? How is the data structured? On the microbiome page, find the documentation describing the atlas1006 data. Look through this documentation to figure out what information is included in the data. Also, check the helpfile for this dataset and look up the original article describing the data (you can find the article information in the help resources). The atlas1006 data is stored in a special object class called a “phyloseq” object (you should have seen this when you used class with the object). You can pull certain parts of this data using special functions called “accessors”. One is get_variable. Try running get_variable with the atlas1006 data. What do you think this data is showing? Which different nationalities are represented by the study subjects, based on the dataframe you extracted in the last step? How many samples have each nationality? Which different BMI groups are included? Does it look like the study was balanced among these groups? Based on the data you extracted, does it look like diversity varies much between males and females? Across BMI groups? Discuss what steps you would need to take to create the following plot. To start, don’t write any code, just develop a plan. Talk about what the dataset should look like right before you create the plot and what functions you could use to get the data from its current format to that format. Try to write the code to create this plot. This will include some code for cleaning the data and some code for plotting. I will add one example answer after class, but I’d like you to try to figure it out yourselves first. 7.8.1.1 Example R code Install the microbiome package from Bioconductor: if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager") BiocManager::install("microbiome") Load the atlas1006 example data in the microbiome package and explore it with str and class: library(microbiome) data(atlas1006) class(atlas1006) ## [1] "phyloseq" ## attr(,"package") ## [1] "phyloseq" str(atlas1006) ## Formal class 'phyloseq' [package "phyloseq"] with 5 slots ## ..@ otu_table:Formal class 'otu_table' [package "phyloseq"] with 2 slots ## .. .. ..@ .Data : num [1:130, 1:1151] 0 0 0 21 1 72 0 0 176 10 ... ## .. .. .. ..- attr(*, "dimnames")=List of 2 ## .. .. .. .. ..$ : chr [1:130] "Actinomycetaceae" "Aerococcus" "Aeromonas" "Akkermansia" ... ## .. .. .. .. ..$ : chr [1:1151] "Sample-1" "Sample-2" "Sample-3" "Sample-4" ... ## .. .. ..@ taxa_are_rows: logi TRUE ## ..@ tax_table:Formal class 'taxonomyTable' [package "phyloseq"] with 1 slot ## .. .. ..@ .Data: chr [1:130, 1:3] "Actinobacteria" "Firmicutes" "Proteobacteria" "Verrucomicrobia" ... ## .. .. .. ..- attr(*, "dimnames")=List of 2 ## .. .. .. .. ..$ : chr [1:130] "Actinomycetaceae" "Aerococcus" "Aeromonas" "Akkermansia" ... ## .. .. .. .. ..$ : chr [1:3] "Phylum" "Family" "Genus" ## ..@ sam_data :'data.frame': 1151 obs. of 10 variables: ## Formal class 'sample_data' [package "phyloseq"] with 4 slots ## .. .. ..@ .Data :List of 10 ## .. .. .. ..$ : int [1:1151] 28 24 52 22 25 42 25 27 21 25 ... ## .. .. .. ..$ : Factor w/ 2 levels "female","male": 2 1 2 1 1 2 1 1 1 1 ... ## .. .. .. ..$ : Factor w/ 6 levels "CentralEurope",..: 6 6 6 6 6 6 6 6 6 6 ... ## .. .. .. ..$ : Factor w/ 3 levels "o","p","r": NA NA NA NA NA NA NA NA NA NA ... ## .. .. .. ..$ : Factor w/ 40 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ... ## .. .. .. ..$ : num [1:1151] 5.76 6.06 5.5 5.87 5.89 5.53 5.49 5.38 5.34 5.64 ... ## .. .. .. ..$ : Factor w/ 6 levels "underweight",..: 5 4 2 1 2 2 1 2 2 2 ... ## .. .. .. ..$ : Factor w/ 1006 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 10 ... ## .. .. .. ..$ : num [1:1151] 0 0 0 0 0 0 0 0 0 0 ... ## .. .. .. ..$ : chr [1:1151] "Sample-1" "Sample-2" "Sample-3" "Sample-4" ... ## .. .. ..@ names : chr [1:10] "age" "sex" "nationality" "DNA_extraction_method" ... ## .. .. ..@ row.names: chr [1:1151] "Sample-1" "Sample-2" "Sample-3" "Sample-4" ... ## .. .. ..@ .S3Class : chr "data.frame" ## ..@ phy_tree : NULL ## ..@ refseq : NULL Pull out the data frame that contains information on each study subject in the atlas1006 data by using the get_variable accessor function: get_variable(atlas1006) %>% head() ## age sex nationality DNA_extraction_method project diversity ## Sample-1 28 male US <NA> 1 5.76 ## Sample-2 24 female US <NA> 1 6.06 ## Sample-3 52 male US <NA> 1 5.50 ## Sample-4 22 female US <NA> 1 5.87 ## Sample-5 25 female US <NA> 1 5.89 ## Sample-6 42 male US <NA> 1 5.53 ## bmi_group subject time sample ## Sample-1 severeobese 1 0 Sample-1 ## Sample-2 obese 2 0 Sample-2 ## Sample-3 lean 3 0 Sample-3 ## Sample-4 underweight 4 0 Sample-4 ## Sample-5 lean 5 0 Sample-5 ## Sample-6 lean 6 0 Sample-6 Note: Since the first argument to get_variable is the phyloseq object (here, the atlas1006 data object), you can pipe into the function, like this: atlas1006 %>% get_variable() %>% head() Find out the different nationalities included in the data: atlas1006 %>% get_variable() %>% as_tibble() %>% # Change output from a data.frame to a tibble group_by(nationality) %>% count() ## # A tibble: 7 x 2 ## # Groups: nationality [7] ## nationality n ## <fct> <int> ## 1 CentralEurope 650 ## 2 EasternEurope 15 ## 3 Scandinavia 271 ## 4 SouthEurope 89 ## 5 UKIE 50 ## 6 US 44 ## 7 <NA> 32 It looks like most subjects were from Central Europe, with the next-largest group from Scandinavia. Note: If you wanted to rearrange this summary to give the nationalities in order of the number of subjects in each, you could add on a forcats function: atlas1006 %>% get_variable() %>% as_tibble() %>% # Change output from a data.frame to a tibble mutate(nationality = fct_infreq(nationality)) %>% group_by(nationality) %>% count() ## # A tibble: 7 x 2 ## # Groups: nationality [7] ## nationality n ## <fct> <int> ## 1 CentralEurope 650 ## 2 Scandinavia 271 ## 3 SouthEurope 89 ## 4 UKIE 50 ## 5 US 44 ## 6 EasternEurope 15 ## 7 <NA> 32 Find out the different BMI groups included in the data and if the study seemed to be balanced across those groups: atlas1006 %>% get_variable() %>% as_tibble() %>% # Change output from a data.frame to a tibble group_by(bmi_group) %>% count() ## # A tibble: 7 x 2 ## # Groups: bmi_group [7] ## bmi_group n ## <fct> <int> ## 1 underweight 21 ## 2 lean 484 ## 3 overweight 197 ## 4 obese 222 ## 5 severeobese 99 ## 6 morbidobese 22 ## 7 <NA> 106 There were six different BMI groups. Over 100 study subjects had this information missing. The samples were not evenly distributed across these BMI groups. Instead, the most common (lean) had almost 500 subjects, while the smaller BMI-group samples were around 20 people. See if it looks like diversity varies much between males and females: atlas1006 %>% get_variable() %>% as_tibble() %>% group_by(sex) %>% summarize(mean_diversity = mean(diversity)) ## `summarise()` ungrouping output (override with `.groups` argument) ## # A tibble: 3 x 2 ## sex mean_diversity ## <fct> <dbl> ## 1 female 5.84 ## 2 male 5.85 ## 3 <NA> 5.76 See if it looks like diversity varies much across BMI groups: atlas1006 %>% get_variable() %>% as_tibble() %>% group_by(bmi_group) %>% summarize(mean_diversity = mean(diversity)) ## `summarise()` ungrouping output (override with `.groups` argument) ## # A tibble: 7 x 2 ## bmi_group mean_diversity ## <fct> <dbl> ## 1 underweight 5.84 ## 2 lean 5.89 ## 3 overweight 5.83 ## 4 obese 5.82 ## 5 severeobese 5.74 ## 6 morbidobese 5.67 ## 7 <NA> 5.81 Here is the code for the plot: library(tidyverse) library(ggthemes) library(microbiome) data(atlas1006) atlas1006 %>% get_variable() %>% ggplot(aes(x = bmi_group, y = diversity, color = sex)) + geom_boxplot(alpha = 0.2) + facet_wrap(~ nationality) 7.8.2 More with baby names Let’s look at baby names that we started looking at last class, based on the letter they start with. For the full dataframe, what proportion of baby names start with each letter? See if you can create a figure to help show this. Create the same plot using the names of people from our class. What proportion of names start with “C” or “S” across the full dataset? 7.8.2.1 Example R code For the full dataframe, what proportion of baby names start with “S”? To start, create a column with the first letter of each name. You can use functions in the stringr package to do this. The easiest might be to use the position of the first letter to pull that information. library(babynames) library(stringr) top_letters <- babynames %>% mutate(first_letter = str_sub(name, 1, 1)) top_letters %>% select(name, first_letter) %>% slice(1:5) ## # A tibble: 5 x 2 ## name first_letter ## <chr> <chr> ## 1 Mary M ## 2 Anna A ## 3 Emma E ## 4 Elizabeth E ## 5 Minnie M Now we can group by letter and figure out these proportions. First, while the data is grouped, count the number of names with each letter. Then, ungroup and use mutate to divide this by the total number of names: top_letters <- top_letters %>% group_by(first_letter) %>% summarize(n = sum(n)) %>% ungroup() %>% mutate(prop = n / sum(n)) %>% arrange(desc(prop)) ## `summarise()` ungrouping output (override with `.groups` argument) top_letters ## # A tibble: 26 x 3 ## first_letter n prop ## <chr> <int> <dbl> ## 1 J 44612175 0.128 ## 2 M 32864210 0.0944 ## 3 A 28855232 0.0829 ## 4 C 25533863 0.0733 ## 5 D 24240271 0.0696 ## 6 R 23702794 0.0681 ## 7 S 21373830 0.0614 ## 8 L 18942067 0.0544 ## 9 E 17033760 0.0489 ## 10 K 17006684 0.0489 ## # … with 16 more rows Here’s one way to visualize this: library(scales) top_letters %>% mutate(first_letter = fct_reorder(first_letter, prop)) %>% ggplot(aes(x = first_letter)) + geom_bar(aes(weight = prop)) + coord_flip() + scale_y_continuous(labels = percent) + labs(x = "", y = "Percent of names that start with ...") Create the same plot using the names of people in our class. First, create a vector with the names of people in our class: student_list <- data_frame(name = c("Burton", "Caroline", "Chaoyu", "Collin", "Daniel", "Eric", "Erin", "Heather", "Jacob", "Jessica", "Khum", "Kyle", "Matthew", "Molly", "Nikki", "Rachel", "Sere", "Shayna", "Sherry", "Sunny")) student_list <- student_list %>% mutate(first_letter = str_sub(name, 1, 1)) student_list ## # A tibble: 20 x 2 ## name first_letter ## <chr> <chr> ## 1 Burton B ## 2 Caroline C ## 3 Chaoyu C ## 4 Collin C ## 5 Daniel D ## 6 Eric E ## 7 Erin E ## 8 Heather H ## 9 Jacob J ## 10 Jessica J ## 11 Khum K ## 12 Kyle K ## 13 Matthew M ## 14 Molly M ## 15 Nikki N ## 16 Rachel R ## 17 Sere S ## 18 Shayna S ## 19 Sherry S ## 20 Sunny S library(scales) student_list %>% group_by(first_letter) %>% count() %>% ungroup() %>% mutate(prop = n / sum(n)) %>% mutate(first_letter = fct_reorder(first_letter, prop)) %>% ggplot(aes(x = first_letter)) + geom_bar(aes(weight = prop)) + coord_flip() + scale_y_continuous(labels = percent) + labs(x = "", y = "Percent of students with\\na name that starts with ...") What proportion of names start with “C” or “S” across the full dataset? You can create a dataframe that (1) pulls out the first letter of each name (just like we did for the last part of the question) and (2) tests whether that first letter is an “A” or a “K” (using a logical statement): c_or_s <- babynames %>% mutate(first_letter = str_sub(name, 1, 1), c_or_s = first_letter %in% c("C", "S")) c_or_s %>% select(name, first_letter, c_or_s) %>% slice(1:5) ## # A tibble: 5 x 3 ## name first_letter c_or_s ## <chr> <chr> <lgl> ## 1 Mary M FALSE ## 2 Anna A FALSE ## 3 Emma E FALSE ## 4 Elizabeth E FALSE ## 5 Minnie M FALSE Next, group by this logical column (c_or_s) and figure out the number of baby names for each group. Then, to get the proportion of the total, ungroup and mutate to divide by the total number across the data: c_or_s %>% group_by(c_or_s) %>% count() %>% ungroup() %>% mutate(prop = n / sum(n)) ## # A tibble: 2 x 3 ## c_or_s n prop ## <lgl> <int> <dbl> ## 1 FALSE 1655755 0.860 ## 2 TRUE 268910 0.140 7.8.3 Running a simple statistical test In the last part of the in-course exercise, we found out that about 14% of babies born in the United States between 1980 and 1995 had names that started with an “C” or “S” (268,910 babies out of 1,924,665). What is the proportion of people with names that start with an “C” or “S” in our class? Use a simple statistical test to test the hypothesis that the class comes from a binomial distribution with the same distribution as babies born in the US over the time tracked by this data, in terms of chance of having a name that starts with “C” or “S”. (Hint: You will be comparing two proportions. Try googling for a statistical test in R that does that.) See if you can figure out a way to make a single “tidy” pipeline for the whole analysis (and output the result as a tidy dataframe). Does the tidy function from broom give different information from this test than the output we got for the Shapiro-Wilk test? You may get the warning “Chi-squared approximation may be incorrect”. See if you can figure out this warning if you get it with the test you used. 7.8.3.1 Example R code Here is a vector with names in our class: library(stringr) student_list <- tibble(name = c("Burton", "Caroline", "Chaoyu", "Collin", "Daniel", "Eric", "Erin", "Heather", "Jacob", "Jessica", "Khum", "Kyle", "Matthew", "Molly", "Nikki", "Rachel", "Sere", "Shayna", "Sherry", "Sunny")) student_list <- student_list %>% mutate(first_letter = str_sub(name, 1, 1)) student_list %>% slice(1:3) ## # A tibble: 3 x 2 ## name first_letter ## <chr> <chr> ## 1 Burton B ## 2 Caroline C ## 3 Chaoyu C Let’s get the total number of students, and then the total number with a name that starts with “C” or “S”: tot_students <- student_list %>% count() tot_students ## # A tibble: 1 x 1 ## n ## <int> ## 1 20 c_or_s_students <- student_list %>% mutate(c_or_s = first_letter %in% c("C", "S")) %>% group_by(c_or_s) %>% count() c_or_s_students ## # A tibble: 2 x 2 ## # Groups: c_or_s [2] ## c_or_s n ## <lgl> <int> ## 1 FALSE 13 ## 2 TRUE 7 The proportion of students with names starting with “A” or “K” are 7 / 20 = 0.35. You could run a statistical test comparing these two proportions (check the help file for the function to figure out where to include each piece): prop.test(x = c(268910, 7), n = c(1924665, 20)) ## Warning in prop.test(x = c(268910, 7), n = c(1924665, 20)): Chi-squared ## approximation may be incorrect ## ## 2-sample test for equality of proportions with continuity correction ## ## data: c(268910, 7) out of c(1924665, 20) ## X-squared = 5.7121, df = 1, p-value = 0.01685 ## alternative hypothesis: two.sided ## 95 percent confidence interval: ## -0.44432032 0.02375596 ## sample estimates: ## prop 1 prop 2 ## 0.1397178 0.3500000 There are a few different ways you could run this test. For example, you could also test whether the proportion in our class is consistent with the null hypothesis that you were drawn from a binomial distribution with a proportion of 0.14 (in-line with the national values): prop.test(x = 7, n = 20, p = 0.14) ## Warning in prop.test(x = 7, n = 20, p = 0.14): Chi-squared approximation may be ## incorrect ## ## 1-sample proportions test with continuity correction ## ## data: 7 out of 20, null probability 0.14 ## X-squared = 5.6852, df = 1, p-value = 0.01711 ## alternative hypothesis: true p is not equal to 0.14 ## 95 percent confidence interval: ## 0.1630867 0.5905104 ## sample estimates: ## p ## 0.35 You can also see if we can pipe into prop.test by summing up the number of successes (“1”: the person’s name starts with “C” or “S”). Because this is using an unsummarized form of the data, it lets us use some of the tidyverse tools more easily: library(purrr) library(broom) student_list %>% mutate(c_or_s = first_letter %in% c("C", "S")) %>% pluck("c_or_s") %>% sum() %>% prop.test(n = 20, p = 0.14) %>% tidy() ## Warning in prop.test(., n = 20, p = 0.14): Chi-squared approximation may be ## incorrect ## # A tibble: 1 x 8 ## estimate statistic p.value parameter conf.low conf.high method alternative ## <dbl> <dbl> <dbl> <int> <dbl> <dbl> <chr> <chr> ## 1 0.35 5.69 0.0171 1 0.163 0.591 1-sample … two.sided Finally, when we run this test, we get the warning that “Chi-squared approximation may be incorrect”. Based on googling ‘r prop.test “Chi-squared approximation may be incorrect”’, it sounds like we might be getting this error because we have a pretty low number of people in the class. One recommendation is to use binom.test, which will run as an exact binomial test: binom.test(x = 7, n = 20, p = 0.14) ## ## Exact binomial test ## ## data: 7 and 20 ## number of successes = 7, number of trials = 20, p-value = 0.01534 ## alternative hypothesis: true probability of success is not equal to 0.14 ## 95 percent confidence interval: ## 0.1539092 0.5921885 ## sample estimates: ## probability of success ## 0.35 7.8.4 Using regression models to explore data #1 For this exercise, you will need the following packages. If do not have them already, you will need to install them. library(ggplot2) library(broom) library(ggfortify) For this part of the exercise, you’ll use a dataset on weather, air pollution, and mortality counts in Chicago, IL. This dataset is called chicagoNMMAPS and is part of the dlnm package. Change the name of the data frame to chic (this object name is shorter and will be easier to work with). Check out the data a bit to see what variables you have, and then perform the following tasks: Write out (on paper, not in R) the regression equation for regressing dewpoint temperature on temperature. Try fitting a linear regression of dew point temperature (dptp) regressed on temperature (temp). Save this model as the object mod_1 (i.e., is the dependent variable of dewpoint temperature linearly associated with the independent variable of temperature). Based on this regression, does there seem to be a relationship between temperature and dewpoint temperature in Chicago? (Hint: Try using glance and tidy from the broom package on the model object to get more information about the model you fit.) What is the coefficient for temperature (in other words, for every 1 degree increase in temperature, how much do we expect the dewpoint temperature to change?)? What is the p-value for the coefficient for temperature? Plot temperature (x-axis) versus dewpoint temperature (y-axis) for Chicago. Add in the regression line from the model you fit by using the results from augment. Use autoplot on the model object to generate some model diagnostic plots (make sure you have the ggfortify package loaded and installed). 7.8.4.1 Example R code: The regression equation for the model you want to fit, regressing dewpoint temperature on temperature, is: \\[ Y_t \\sim \\beta_0 + \\beta_1 X_t \\] where \\(Y_t\\) is the dewpoint temperature on day \\(t\\), \\(X_t\\) is the temperature on day \\(t\\), and \\(\\beta_0\\) and \\(\\beta_1\\) are model coefficients. Install and load the dlnm package and then load the chicagoNMMAPS data. Change the name of the data frame to chic, so it will be shorter to call for the rest of your work. # install.packages("dlnm") library(dlnm) data("chicagoNMMAPS") chic <- chicagoNMMAPS Fit a linear regression of dptp on temp and save as the object mod_1: mod_1 <- lm(dptp ~ temp, data = chic) mod_1 ## ## Call: ## lm(formula = dptp ~ temp, data = chic) ## ## Coefficients: ## (Intercept) temp ## 24.025 1.621 Use functions from the broom package to pull the same information about the model in a “tidy” format. To find out if the evidence for a linear association between temperature and dewpoint temperature, use the tidy function to get model coefficients in a tidy format: tidy(mod_1) ## # A tibble: 2 x 5 ## term estimate std.error statistic p.value ## <chr> <dbl> <dbl> <dbl> <dbl> ## 1 (Intercept) 24.0 0.113 213. 0 ## 2 temp 1.62 0.00763 212. 0 There does seem to be an association between temperature and dewpoint temperature: a unit increase in temperature is associated with a 1.6 unit increase in dewpoint temperature. The p-value for the temperature coefficient is <2e-16. This is far below 0.05, which suggests we would be very unlikely to see such a strong association by chance if the null hypothesis, that the two variables are not associated, were true. You can also check overall model summaries using the glance function: glance(mod_1) ## # A tibble: 1 x 12 ## r.squared adj.r.squared sigma statistic p.value df logLik AIC BIC ## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 0.898 0.898 5.90 45108. 0 1 -16332. 32670. 32690. ## # … with 3 more variables: deviance <dbl>, df.residual <int>, nobs <int> To create plots of the observations and the fit model, use the augment function to add model output (e.g., predictions, residuals) to the original data frame of observed temperatures and dew point temperatures: augment(mod_1) %>% slice(1:3) ## # A tibble: 3 x 8 ## dptp temp .fitted .resid .std.resid .hat .sigma .cooksd ## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 31.5 -0.278 23.6 7.93 1.34 0.000376 5.90 0.000340 ## 2 29.9 0.556 24.9 4.95 0.839 0.000348 5.90 0.000123 ## 3 27.4 0.556 24.9 2.45 0.415 0.000348 5.90 0.0000300 Plot these two variables and add in the fitted line from the model (note: I’ve used the color option to make the color of the points gray). Use the output from augment to create a plot of the original data, with the predicted values used to plot a fitted line. augment(mod_1) %>% ggplot(aes(x = temp, y = dptp)) + geom_point(size = 0.8, alpha = 0.5, col = "gray") + geom_line(aes(x = temp, y = .fitted), color = "red", size = 2) + theme_classic() Plot some plots to check model assumptions for the model you fit using the autoplot function on your model object: autoplot(mod_1) ## Warning: `arrange_()` is deprecated as of dplyr 0.7.0. ## Please use `arrange()` instead. ## See vignette('programming') for more help ## This warning is displayed once every 8 hours. ## Call `lifecycle::last_warnings()` to see where this warning was generated. 7.8.5 Using regression models to explore data #2 Try fitting the regression from the last part of the in-course exercise as a GLM, using glm() (but still assuming the outcome variable is normally distributed). Are your coefficients different? Does \\(PM_{10}\\) vary by day of the week? (Hint: The dow variable is a factor that gives day of the week. You can do an ANOVA analysis by fitting a linear model using this variable as the independent variable. Some of the overall model summaries will compare this model to an intercept-only model.) What day of the week is \\(PM_{10}\\) generally highest? (Check the model coefficients to figure this out.) Try to write out (on paper) the regression equation for the model you’re fitting. Try using glm() to run a Poisson regression of respiratory deaths (resp) on temperature during summer days. Start by creating a subset with just summer days called summer. (Hint: Use the month function with the argument label = TRUE from lubridate to do this—just pull out the subset where the month June, July, or August.) Try to write out the regression equation for the model you’re fitting. The coefficient for the temperature variable in this model is our best estimate (based on this model) of the log relative risk for a one degree Celcius increase in temperature. What is the relative risk associated with a one degree Celsius increase? 7.8.5.1 Example R code: Try fitting the model from the last part of the in-course exercise using glm(). Call it mod_1a. Compare the coefficients for the two models. You can use the tidy function on an lm or glm object to pull out just the model coefficients and associated model results. Here, I’ve used a pipeline of code to create a tidy data frame that merges these “tidy” coefficient outputs (from the two models) into a single data frame): mod_1a <- glm(dptp ~ temp, data = chic) tidy(mod_1) %>% select(term, estimate) %>% inner_join(mod_1a %>% tidy() %>% select(term, estimate), by = "term") %>% rename(estimate_lm_mod = estimate.x, estimate_glm_mod = estimate.y) ## # A tibble: 2 x 3 ## term estimate_lm_mod estimate_glm_mod ## <chr> <dbl> <dbl> ## 1 (Intercept) 24.0 24.0 ## 2 temp 1.62 1.62 The results from the two models are identical. As a note, you could have also just run tidy on each model object, without merging them together into a single data frame: tidy(mod_1) ## # A tibble: 2 x 5 ## term estimate std.error statistic p.value ## <chr> <dbl> <dbl> <dbl> <dbl> ## 1 (Intercept) 24.0 0.113 213. 0 ## 2 temp 1.62 0.00763 212. 0 tidy(mod_1a) ## # A tibble: 2 x 5 ## term estimate std.error statistic p.value ## <chr> <dbl> <dbl> <dbl> <dbl> ## 1 (Intercept) 24.0 0.113 213. 0 ## 2 temp 1.62 0.00763 212. 0 Fit a model of \\(PM_{10}\\) regressed on day of week, where day of week is a factor. mod_2 <- lm(pm10 ~ dow, data = chic) tidy(mod_2) ## # A tibble: 7 x 5 ## term estimate std.error statistic p.value ## <chr> <dbl> <dbl> <dbl> <dbl> ## 1 (Intercept) 27.5 0.730 37.7 7.47e-273 ## 2 dowMonday 6.13 1.03 5.93 3.22e- 9 ## 3 dowTuesday 6.80 1.03 6.62 4.05e- 11 ## 4 dowWednesday 8.48 1.03 8.26 1.85e- 16 ## 5 dowThursday 8.80 1.02 8.60 1.08e- 17 ## 6 dowFriday 9.48 1.03 9.24 3.61e- 20 ## 7 dowSaturday 3.66 1.03 3.56 3.68e- 4 Use glance to check some of the overall summaries of this model. The statistic column here is the F statistic from test comparing this model to an intercept-only model. glance(mod_2) ## # A tibble: 1 x 12 ## r.squared adj.r.squared sigma statistic p.value df logLik AIC BIC ## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 0.0259 0.0247 19.1 21.5 4.61e-25 6 -21234. 42484. 42536. ## # … with 3 more variables: deviance <dbl>, df.residual <int>, nobs <int> As a note, you may have heard in previous statistics classes that you can use the anova() command to compare this model to a model with only an intercept (i.e., one that only fits a global mean and uses that as the expected value for all of the observations). Note that, in this case, the F value from anova for this model comparison is the same as the statistic you got in the overall summary statistics you get with glance in the previous code. anova(mod_2) ## Analysis of Variance Table ## ## Response: pm10 ## Df Sum Sq Mean Sq F value Pr(>F) ## dow 6 46924 7820.6 21.5 < 2.2e-16 *** ## Residuals 4856 1766407 363.8 ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 The overall p-value from anova for with day-of-week coefficients versus the model that just has an intercept is < 2.2e-16. This is well below 0.05, which suggests that day-of-week is associated with PM10 concentration, as a model that includes day-of-week does a much better job of explaining variation in PM10 than a model without it does. Use a boxplot to visually compare PM10 by day of week. ggplot(chic, aes(x = dow, y = pm10)) + geom_boxplot() Now try the same plot, but try using the ylim = option to change the limits on the y-axis for the graph, so you can get a better idea of the pattern by day of week (some of the extreme values are very high, which makes it hard to compare by eye when the y-axis extends to include them all). ggplot(chic, aes(x = dow, y = pm10)) + geom_boxplot() + ylim(c(0, 100)) ## Warning: Removed 292 rows containing non-finite values (stat_boxplot). Create a subset called summer with just the summer days: library(lubridate) summer <- chic %>% mutate(month = month(date, label = TRUE)) %>% filter(month %in% c("Jun", "Jul", "Aug")) summer %>% slice(1:3) ## date time year month doy dow death cvd resp temp dptp rhum ## 1 1987-06-01 152 1987 Jun 152 Monday 112 60 5 23.61111 68.50 71.875 ## 2 1987-06-02 153 1987 Jun 153 Tuesday 111 57 7 22.22222 64.75 95.250 ## 3 1987-06-03 154 1987 Jun 154 Wednesday 120 59 9 20.55556 47.25 47.125 ## pm10 o3 ## 1 22.95607 34.94623 ## 2 31.31339 18.96620 ## 3 34.95607 23.59270 Use glm() to fit a Poisson model of respiratory deaths regressed on temperature. Since you want to fit a Poisson model, use the option family = poisson(link = \"log\"). mod_3 <- glm(resp ~ temp, data = summer, family = poisson(link = "log")) glance(mod_3) ## # A tibble: 1 x 8 ## null.deviance df.null logLik AIC BIC deviance df.residual nobs ## <dbl> <int> <dbl> <dbl> <dbl> <dbl> <int> <int> ## 1 1499. 1287 -3211. 6425. 6436. 1494. 1286 1288 tidy(mod_3) ## # A tibble: 2 x 5 ## term estimate std.error statistic p.value ## <chr> <dbl> <dbl> <dbl> <dbl> ## 1 (Intercept) 1.91 0.0584 32.7 6.60e-235 ## 2 temp 0.00614 0.00258 2.38 1.74e- 2 Use the fitted model coefficient to determine the relative risk for a one degree Celsius increase in temperature. First, remember that you can use the tidy() function to read out the model coefficients. The second of these is the value for the temperature coefficient. That means that you can use indexing ([2]) to get just that value. That’s the log relative risk; take the exponent to get the relative risk. tidy(mod_3) %>% filter(term == "temp") %>% mutate(log_rr = exp(estimate)) ## # A tibble: 1 x 6 ## term estimate std.error statistic p.value log_rr ## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 temp 0.00614 0.00258 2.38 0.0174 1.01 As a note, you can use the conf.int parameter in tidy to also pull confidence intervals: tidy(mod_3, conf.int = TRUE) ## # A tibble: 2 x 7 ## term estimate std.error statistic p.value conf.low conf.high ## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 (Intercept) 1.91 0.0584 32.7 6.60e-235 1.80 2.02 ## 2 temp 0.00614 0.00258 2.38 1.74e- 2 0.00108 0.0112 You could use this to get the confidence interval for relative risk (check out the mutate_at function if you haven’t seen it before): tidy(mod_3, conf.int = TRUE) %>% select(term, estimate, conf.low, conf.high) %>% filter(term == "temp") %>% mutate_at(vars(estimate:conf.high), funs(exp(.))) ## Warning: `funs()` is deprecated as of dplyr 0.8.0. ## Please use a list of either functions or lambdas: ## ## # Simple named list: ## list(mean = mean, median = median) ## ## # Auto named with `tibble::lst()`: ## tibble::lst(mean, median) ## ## # Using lambdas ## list(~ mean(., trim = .2), ~ median(., na.rm = TRUE)) ## This warning is displayed once every 8 hours. ## Call `lifecycle::last_warnings()` to see where this warning was generated. ## # A tibble: 1 x 4 ## term estimate conf.low conf.high ## <chr> <dbl> <dbl> <dbl> ## 1 temp 1.01 1.00 1.01 7.8.6 Trying out nesting and mapping We’ll be using data that’s in an R package called “nycflights13”. This data package can be installed from CRAN. Install the package and then load the package and its “flights” dataset. So that this data will be easier to work with, remove all columns except for those for the departure delay (dep_delay), the carrier (carrier), the hour the flight was supposed to leave (hour), and the airport the flight left from (origin). Also, limit the dataset to only flights that left from LaGuardia Airport (“LGA”). We want to figure out if the probability of a flight leaving 15 minutes late or more increases over the day for flights leaving LaGuardia. Filter out all the rows where the departure delay is missing and then create a new column called late_dep that is true if the flight left 15 minutes or more late and false otherwise. What proportion of all flights leaving from LaGuardia leave 15 minutes late or later? Next, determine what proportion of all flights are delayed base on the hour that the flight was scheduled to depart (hour). Create a plot showing how the probability of leaving 15 minutes or more late changes by hour. Fit a generalized linear model for the association between the binary variable of whether the flight was 15 minutes or more late (late_dep) and the hour the flight was scheduled to leave (hour). Use a binomial model (add family = binomial(link = \"logit\") in the glm call). The estimate from the model for hour will be an estimate of the log odds ratio for a one-hour increase in scheduled departure time. Take the exponent of this estimate with exp to get an estimated odds ratio for a one-hour increase in scheduled departure time. Is this estimate larger than 1.0? Next, we want to see if this association is similar across airlines. First, create a dataframe called nested_flights where the flights data is grouped by airline (carrier) and then nest the data, so that there is a “data” list-column where each item is a dataframe of flight delay data for a specific carrier. Use the map function from purrr inside a mutate statement to apply the glm code you used earlier for the whole dataset, but in this case for the data for each airline character. Then use the map function inside a mutate statement again to “tidy” the data. Clean the data up a bit. Remove the columns for data and glm_result and then unnest the dataframe list-column with the tidy version of the model results. Filter to get only the estimates for the “hour” term. Then calculate an odds ratio (or) by taking the exponent (check out the exp function) of the original estimate. The package has a dataframe with the full name of each carrier (airlines). Join this data into the data you’ve been working with, so you have the full names of airlines. Finally, create the following plot with each airline’s odds ratio for the change in the chance of a delay per one-hour increase in the scheduled hour of departure: 7.8.6.1 Example R code: Install the “nycflights13” package from CRAN. Load the package and its “flights” dataset. library(ggplot2) library(nycflights13) data(flights) So that this data will be easier to work with, remove all columns except for those for the departure dealy (dep_delay), the carrier (carrier), the hour the flight was supposed to leave (hour), and the airport the flight left from (origin). flights <- flights %>% select(dep_delay, carrier, hour, origin) %>% filter(origin == "LGA") flights ## # A tibble: 104,662 x 4 ## dep_delay carrier hour origin ## <dbl> <chr> <dbl> <chr> ## 1 4 UA 5 LGA ## 2 -6 DL 6 LGA ## 3 -3 EV 6 LGA ## 4 -2 AA 6 LGA ## 5 -1 AA 6 LGA ## 6 0 B6 6 LGA ## 7 0 MQ 6 LGA ## 8 -8 DL 6 LGA ## 9 -3 MQ 6 LGA ## 10 13 AA 6 LGA ## # … with 104,652 more rows Filter out all the rows where the departure delay is missing and then create a new column called late_dep that is true if the flight left 15 minutes or more late and false otherwise. flights <- flights %>% filter(!is.na(dep_delay)) %>% mutate(late_dep = dep_delay > 15) flights ## # A tibble: 101,509 x 5 ## dep_delay carrier hour origin late_dep ## <dbl> <chr> <dbl> <chr> <lgl> ## 1 4 UA 5 LGA FALSE ## 2 -6 DL 6 LGA FALSE ## 3 -3 EV 6 LGA FALSE ## 4 -2 AA 6 LGA FALSE ## 5 -1 AA 6 LGA FALSE ## 6 0 B6 6 LGA FALSE ## 7 0 MQ 6 LGA FALSE ## 8 -8 DL 6 LGA FALSE ## 9 -3 MQ 6 LGA FALSE ## 10 13 AA 6 LGA FALSE ## # … with 101,499 more rows What proportion of all flights leaving from LaGuardia leave 15 minutes late or later? To check this, remember that TRUE is saved as a “1” and FALSE is saved as a “0”. That means that we can take the mean of a logical vector to get the proportion of trials that are true. flights %>% purrr::pluck("late_dep") %>% mean() ## [1] 0.1889685 Determine what proportion of all flights are delayed base on the hour that the flight was scheduled to depart (hour). Create a plot showing how the probability of leaving 15 minutes or more late changes by hour. flights_late <- flights %>% group_by(hour) %>% summarize(prob_late = mean(late_dep)) ## `summarise()` ungrouping output (override with `.groups` argument) flights_late ## # A tibble: 18 x 2 ## hour prob_late ## <dbl> <dbl> ## 1 5 0.0588 ## 2 6 0.0519 ## 3 7 0.0570 ## 4 8 0.0967 ## 5 9 0.105 ## 6 10 0.128 ## 7 11 0.159 ## 8 12 0.163 ## 9 13 0.200 ## 10 14 0.207 ## 11 15 0.236 ## 12 16 0.273 ## 13 17 0.292 ## 14 18 0.298 ## 15 19 0.314 ## 16 20 0.331 ## 17 21 0.309 ## 18 22 0.391 flights_late %>% ggplot(aes(x = hour, y = prob_late)) + geom_line() Fit a generalized linear model for the association between the binary variable of whether the flight was 15 minutes or more late (late_dep) and the hour the flight was scheduled to leave (hour). Use a binomial model (add family = binomial(link = \"logit\") in the glm call). The estimate from the model for hour will be an estimate of the log odds ratio for a one-hour increase in scheduled departure time. Take the exponent of this estimate with exp to get an estimated odds ratio for a one-hour increase in scheduled departure time. Is this estimate larger than 1.0? glm(late_dep ~ hour, data = flights, family = binomial(link = "logit")) ## ## Call: glm(formula = late_dep ~ hour, family = binomial(link = "logit"), ## data = flights) ## ## Coefficients: ## (Intercept) hour ## -3.3643 0.1399 ## ## Degrees of Freedom: 101508 Total (i.e. Null); 101507 Residual ## Null Deviance: 98410 ## Residual Deviance: 92810 AIC: 92810 library(broom) glm(late_dep ~ hour, data = flights, family = binomial(link = "logit")) %>% tidy() %>% # Tidy the model results filter(term == "hour") %>% # Only look at the estimate for `hour` mutate(or = exp(estimate)) # Estimate is log odds ratio. Take exponent for odds ratio ## # A tibble: 1 x 6 ## term estimate std.error statistic p.value or ## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 hour 0.140 0.00195 71.7 0 1.15 Next, we want to see if this association is similar across airlines. First, create a dataframe called nested_flights where the flights data is grouped by airline (carrier) and then nest the data, so that there is a “data” list-column where each item is a dataframe of flight delay data for a specific carrier: nested_flights <- flights %>% group_by(carrier) %>% nest() nested_flights ## # A tibble: 13 x 2 ## # Groups: carrier [13] ## carrier data ## <chr> <list> ## 1 UA <tibble [7,837 × 4]> ## 2 DL <tibble [22,857 × 4]> ## 3 EV <tibble [8,255 × 4]> ## 4 AA <tibble [15,063 × 4]> ## 5 B6 <tibble [5,925 × 4]> ## 6 MQ <tibble [16,189 × 4]> ## 7 WN <tibble [6,000 × 4]> ## 8 FL <tibble [3,187 × 4]> ## 9 US <tibble [12,574 × 4]> ## 10 F9 <tibble [682 × 4]> ## 11 9E <tibble [2,372 × 4]> ## 12 YV <tibble [545 × 4]> ## 13 OO <tibble [23 × 4]> To check the contents of the list-column, try: nested_flights$data[[1]] %>% # Get the first element of the "data" column head() ## # A tibble: 6 x 4 ## dep_delay hour origin late_dep ## <dbl> <dbl> <chr> <lgl> ## 1 4 5 LGA FALSE ## 2 -4 6 LGA FALSE ## 3 1 6 LGA FALSE ## 4 9 7 LGA FALSE ## 5 -4 7 LGA FALSE ## 6 2 7 LGA FALSE Use the map function from purrr inside a mutate statement to apply the glm code you used earlier for the whole dataset, but in this case for the data for each airline character: library(purrr) library(tidyr) prob_late <- nested_flights %>% mutate(glm_result = purrr::map(data, ~ glm(late_dep ~ hour, data = .x, family = binomial(link = "logit")))) # Check the results for the first element of the "glm_result" column: prob_late$glm_result[[1]] ## ## Call: glm(formula = late_dep ~ hour, family = binomial(link = "logit"), ## data = .x) ## ## Coefficients: ## (Intercept) hour ## -3.4305 0.1551 ## ## Degrees of Freedom: 7836 Total (i.e. Null); 7835 Residual ## Null Deviance: 7601 ## Residual Deviance: 7064 AIC: 7068 Then use the map function inside a mutate statement again to “tidy” the data. prob_late <- prob_late %>% mutate(glm_tidy = purrr::map(glm_result, ~ tidy(.x))) Remove the columns for data and glm_result: prob_late <- prob_late %>% select(-data, -glm_result) Then `unnest the dataframe list-column with the tidy version of the model results: prob_late <- prob_late %>% unnest(glm_tidy) Filter to get only the estimates for the “hour” term: prob_late <- prob_late %>% filter(term == "hour") Then calculate an odds ratio (or) by taking the exponent (check the exp function) of the original estimate. prob_late <- prob_late %>% mutate(or = exp(estimate)) head(prob_late) ## # A tibble: 6 x 7 ## # Groups: carrier [6] ## carrier term estimate std.error statistic p.value or ## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 UA hour 0.155 0.00705 22.0 2.88e-107 1.17 ## 2 DL hour 0.148 0.00454 32.6 1.80e-232 1.16 ## 3 EV hour 0.0952 0.00572 16.7 2.79e- 62 1.10 ## 4 AA hour 0.146 0.00580 25.2 1.05e-139 1.16 ## 5 B6 hour 0.168 0.00702 23.9 7.13e-126 1.18 ## 6 MQ hour 0.110 0.00468 23.5 2.23e-122 1.12 The package has a dataframe with the full name of each carrier (airlines). Join this data into the data you’ve been working with, so you have the full names of airlines: prob_late <- left_join(prob_late, airlines, by = "carrier") Finally, create the following plot with each airline’s association between hour in the day and the chance of a delay: library(forcats) data(airlines) prob_late %>% ungroup() %>% mutate(estimate = exp(estimate)) %>% mutate(name = fct_reorder(name, estimate)) %>% ggplot(aes(x = estimate, y = name)) + geom_point() + geom_vline(xintercept = 1, linetype = 3) + labs(x = "Odds ratio for one-hour increase in scheduled deparature time", y = "") 7.8.7 Writing functions Say that you have a four-letter character string (e.g., “ling”) and that you want to move the last letter to the front of the string to create a new four-letter character string (e.g., “glin”). Write some R code to do this. Next, write a function named move_letter that does the same thing—takes a four-letter character string (e.g., “ling”) and creates a new four-letter character string where the last letter in the original string has been moved to the front of the string (e.g., “glin”). It should input one parameter (word, the original four-letter character string or a vector of four-letter character strings). Read the word list at https://raw.githubusercontent.com/dwyl/english-words/master/words.txt into an R dataframe called word_list. It will only have one column; name this column word. Write code that can take a vector of character strings (e.g., c('ling', 'scat', 'soil')) and return a logical vector that says whether that character string is a word in the word_list dataframe you created in the last step (e.g., c('FALSE', 'TRUE', 'TRUE') for a vector where the first value isn’t a word but the second and third are). You may find the pluck function in the purrr package useful in writing this code (to pull the word column out of the word_list dataframe). Write a function called is_word that inputs (1) a vector of character strings and (2) a dataframe with a column called “word” that lists real words. The function should return a logical vector saying whether each character string is a real word. The function should have two arguments: words_to_check, which is a vector of character strings (e.g., c('ling', 'scat', 'soil')), and real_word_list, which is a dataframe with a column called words of real English words (e.g., the word_list dataframe you created from the word list on GitHub). Set the real_word_list argument to have the default value of words, the dataframe you created earlier in this exercise by reading in the dataframe of English words from GitHub. Try using the function with a different word list. As an example, you could read in and use the word list of Google’s top 10,000 English words from https://raw.githubusercontent.com/first20hours/google-10000-english/master/google-10000-english-no-swears.txt. Try using these functions to solve the word puzzle problem in the last homework. 7.8.7.1 Example R code Say that you have a four-letter character string (e.g., “ling”) and that you want to move the last letter to the front of the string to create a new four-letter character string (e.g., “glin”). You can use functions from the stringr package to help with this. library(stringr) # Start with an example word. You can use the example word from # the problem statement ('ling'). word <- "ling" # Break the word into two parts first_three_letters <- str_sub(word, 1, 3) last_letter <- str_sub(word, 4, 4) first_three_letters ## [1] "lin" last_letter ## [1] "g" # Put the parts back together in the right order new_word <- str_c(last_letter, first_three_letters) # You could also use `paste` or `paste0` here new_word ## [1] "glin" Write a function named move_letter that takes a four-letter character string (e.g., “ling”) and creates a new four-letter character string where the last letter in the original string has been moved to the front of the string (e.g., “glin”). It should input one parameter (word, the original four-letter character string or a vector of four-letter character strings). To do this, take the code that you just wrote and put it inside a function named move_letter: move_letter <- function(word){ # Break the word into two parts first_three_letters <- str_sub(word, 1, 3) last_letter <- str_sub(word, 4, 4) # Put the parts back together in the right order str_c(last_letter, first_three_letters) } # Check the function move_letter(word = "ling") ## [1] "glin" # Try with some other four-letter strings move_letter(word = "cats") ## [1] "scat" move_letter(word = "oils") ## [1] "soil" # Check using with a vector of four-letter character strings move_letter(c("cats", "oils")) ## [1] "scat" "soil" Notice that now word is being used as an argument in the function. It’s as if you assigned the string or vector of strings that you want to convert to the object name word, and then you run all the code. The output of the function is the last expression in the function code (str_c(last_letter, first_three_letters)). Also, note that you can add comments inside the function with #, just like you can with other R code. Read the word list at https://raw.githubusercontent.com/dwyl/english-words/master/words.txt into an R dataframe called words. It will only have one column; name this column word_list. library(readr) word_list <- read_csv("https://raw.githubusercontent.com/dwyl/english-words/master/words.txt", col_names = "word") ## Parsed with column specification: ## cols( ## word = col_character() ## ) ## Warning: 2 parsing failures. ## row col expected actual file ## 11 -- 1 columns 3 columns 'https://raw.githubusercontent.com/dwyl/english-words/master/words.txt' ## 12 -- 1 columns 2 columns 'https://raw.githubusercontent.com/dwyl/english-words/master/words.txt' Write code that can take a vector of character strings (e.g., c('ling', 'scat', 'soil')) and return a logical vector that says whether that character string is a word in the word_list dataframe you created in the last step (e.g., c('TRUE', 'FALSE', 'TRUE') for a vector where the second value isn’t a word but the first and third are). library(purrr) words_to_check <- c("ling", "scat", "soil") words_to_check %in% pluck(word_list, "word") ## [1] TRUE FALSE TRUE This code works because you can use pluck to extract a column (as a vector) from a dataframe, and then you can use the %in% operator to see if each value in one vector (the words_to_check vector in this example) is one of the values in the second vector (the word column from the words dataframe in this example). Write a function called is_word that inputs (1) a vector of character strings and (2) a dataframe with a column called “word” that lists real words. The function should return a logical vector saying whether each character string is a real word. The function should have two arguments: words_to_check, which is a vector of character strings and real_word_list which is a dataframe with a column called words of real English words. Set the real_word_list argument to have the default value of words, the dataframe you created earlier in this exercise by reading in the dataframe of English words from GitHub. # Put the code you wrote inside a function is_word <- function(words_to_check, real_word_list = word_list){ words_to_check %in% pluck(real_word_list, "word") } # Check the function is_word(words_to_check = c("ling", "scat", "soil")) ## [1] TRUE FALSE TRUE Note that, if you want to use the word_list dataframe for your real word list, you don’t have to specify that when you call the is_word function, since you set that as your default value. If you wanted to use a different word list, you can specify a different value for the real_word_list argument when you run the function. For example, to use Google’s top 10,000 English word list from GitHub instead, use: google_words <- read_csv("https://raw.githubusercontent.com/first20hours/google-10000-english/master/google-10000-english-no-swears.txt", col_names = "word") ## Parsed with column specification: ## cols( ## word = col_character() ## ) is_word(words_to_check = c("ling", "scat", "soil"), real_word_list = google_words) ## [1] FALSE FALSE TRUE In this case, there was a rarer word (“ling”) that counted as a word when the original word list was used, but not when the Google top-10,000 words list was used. Try using these functions to solve the word puzzle problem in the last homework. word_list %>% filter(str_detect(word, "^m.{7}$")) %>% # This is using regular expressions separate(word, into = c("first_word", "second_word"), # Note that you can use `separate` with a number to use position sep = 4, remove = FALSE) %>% mutate(second_word = move_letter(second_word)) %>% # Use the first function here filter(is_word(first_word) & is_word(second_word)) %>% # Use the second function here unite("new_word", c("first_word", "second_word"), sep = " ") # You can use `unite` to put the two new words in a phrase in one column. ## # A tibble: 103 x 2 ## word new_word ## <chr> <chr> ## 1 mailings mail sing ## 2 maillots mail slot ## 3 majorate majo erat ## 4 majoring majo grin ## 5 malmiest malm ties ## 6 maltiest malt ties ## 7 mandalas mand sala ## 8 mandated mand date ## 9 mandates mand sate ## 10 mangiest mang ties ## # … with 93 more rows You can get the choices down to even fewer options if you match the new words against the Google top-10,000 words list, by using the real_word_list option in the is_word function you wrote. (However, “maillots” is not a common enough word that you can also start from that shorter word list!) word_list %>% filter(str_detect(word, "^m.{7}$")) %>% separate(word, into = c("first_word", "second_word"), sep = 4, remove = FALSE) %>% mutate(second_word = move_letter(second_word)) %>% filter(is_word(first_word, real_word_list = google_words) & is_word(second_word, real_word_list = google_words)) %>% unite("new_word", c("first_word", "second_word"), sep = " ") ## # A tibble: 43 x 2 ## word new_word ## <chr> <chr> ## 1 mailings mail sing ## 2 maillots mail slot ## 3 maintops main stop ## 4 markings mark sing ## 5 maskings mask sing ## 6 massager mass rage ## 7 massages mass sage ## 8 massiest mass ties ## 9 mattings matt sing ## 10 mealiest meal ties ## # … with 33 more rows "], ["reporting-results-2.html", "Chapter 8 Reporting results #2 8.1 Course lectures 8.2 Example data 8.3 ggplot2 extras and extensions 8.4 Simple features 8.5 In-course exercise", " Chapter 8 Reporting results #2 Download a pdf of the lecture slides covering this topic. 8.1 Course lectures In 2019, we cancelled our in-course meeting for bad weather. There are videos of the lecture available, covering ggplot2 extensions and mapping in ggplot: Example commit. 8.2 Example data This week, we’ll be using some example data from NOAA’s Storm Events Database. This data lists major weather-related storm events during 2017. For each event, it includes information like the start and end dates, where it happened, associated deaths, injuries, and property damage, and some other characteristics. See the in-course exercises for this week for more on getting and cleaning this data. As part of the in-course exercise, you’ll be making the following plot and saving it as the object storm_plot: We’ll be using the data and this plot in the next sections. 8.3 ggplot2 extras and extensions 8.3.1 scales package The scales package gives you a few more options for labeling with your ggplot scales. For example, if you wanted to change the notation for the axes in the plot of state area versus number of storm events, you could use the scales package to add commas to the numeric axis values. For the rest of these slides, I’ve saved the ggplot object with out plot to the object named storm_plot, so we don’t have to repeat that code every time. library(scales) storm_plot + scale_x_continuous(labels = comma) + scale_y_continuous(labels = comma) The scales package also includes labeling functions for: dollars (labels = dollar) percent (labels = percent) 8.3.2 ggplot2 extensions The ggplot2 framework is set up so that others can create packages that “extend” the system, creating functions that can be added on as layers to a ggplot object. Some of the types of extensions available include: More themes Useful additions (things that you may be able to do without the package, but that the package makes easier) Tools for plotting different types of data There is a gallery with links to ggplot2 extensions at https://www.ggplot2-exts.org. This list may not be exhaustive—there may be other extensions on CRAN or on GitHub that the package maintainer did not submit for this gallery. 8.3.3 More ggplot2 themes You have already played around a lot with using ggplot themes to change how your graphs look. Several people have created packages with additional themes: ggthemes ggthemr ggtech ggsci library(ggthemes) library(gridExtra) a <- storm_plot + theme_fivethirtyeight() + ggtitle("Five Thirty Eight") b <- storm_plot + theme_economist() + ggtitle("Economist") c <- storm_plot + theme_excel() + ggtitle("Excel") d <- storm_plot + theme_few() + ggtitle("Stephen Few") grid.arrange(a, b, c, d, ncol = 2) 8.3.4 Other useful ggplot2 extensions Other ggplot2 extensions do things you might have been able to figure out how to do without the extension, but the extension makes it much easier to do. These tasks include: Highlighting interesting points “Repelling” text labels Arranging plots 8.3.4.1 Repelling / highlighting with text labels The first is repelling text labels. When you add labels to points on a plot, they often overlap: storm_plot + facet_wrap(~ region) + geom_label(aes(label = state)) The ggrepel package helps make sure that these labels don’t overlap: library(ggrepel) storm_plot + facet_wrap(~ region) + geom_label_repel(aes(label = state)) It may be too much to label every point. Instead, you may just want to highlight notable point. You can use the gghighlight package to do that. library(gghighlight) storm_plot + facet_wrap(~ region) + gghighlight(area > 150000 | n > 1500, label_key = state) The gghighlight package also works for things like histograms. For example, you could create a dataset with the count by day-of-year of certain types of events: storms_by_month <- storms_2017 %>% filter(event_type %in% c("Flood", "Flash Flood", "Heavy Rain")) %>% mutate(month = month(begin_date_time, label = TRUE)) %>% group_by(month, event_type) %>% count() %>% ungroup() storms_by_month %>% slice(1:4) ## # A tibble: 4 x 3 ## month event_type n ## <ord> <chr> <int> ## 1 Jan Flash Flood 113 ## 2 Jan Flood 255 ## 3 Jan Heavy Rain 80 ## 4 Feb Flash Flood 65 ggplot(storms_by_month, aes(x = month, y = n, group = event_type)) + geom_bar(stat = "identity") + labs(x = "Month", y = "# of events") + gghighlight(max(n) > 400, label_key = event_type) + facet_wrap(~ event_type, ncol = 1) 8.3.4.2 Arranging plots You may have multiple related plots you want to have as multiple panels of a single figure. There are a few packages that help with this. One very good one is patchwork. You need to install this from GitHub: devtools::install_github("thomasp85/patchwork") Find out more: https://github.com/thomasp85/patchwork#patchwork Say we want to plot seasonal patterns in events in the five counties with the highest number of events in 2017. We can use dplyr to figure out these counties: top_counties <- storms_2017 %>% group_by(fips, state, cz_name) %>% count() %>% ungroup() %>% top_n(5, wt = n) Then create a plot with the time patterns: library(forcats) top_counties_month <- storms_2017 %>% semi_join(top_counties, by = "fips") %>% mutate(month = month(begin_date_time), county = paste(cz_name, " County, ", state, sep = "")) %>% count(county, month) %>% ggplot(aes(x = month, y = n)) + geom_bar(stat = "identity") + facet_wrap(~ fct_reorder(county, n, .fun = sum, .desc = TRUE), nrow = 2) + scale_x_continuous(name = "", breaks = c(1, 4, 7, 10), labels = c("Jan", "Apr", "Jul", "Oct")) + scale_y_continuous(name = "Frequency", breaks = c(0, 20)) Here’s this plot: top_counties_month Now that you have two ggplot objects (storm_plot and top_counties_month), you can use patchwork to put them together: library(patchwork) storm_plot + top_counties_month + plot_layout(ncol = 1, heights = c(2, 1)) A slightly fancier version: (storm_plot + theme(legend.position = "top") + gghighlight(n > 1500 | area > 200000, label_key = state)) + top_counties_month + plot_layout(ncol = 1, heights = c(2, 1)) Other packages for arranging ggplot objects include: gridExtra cowplot 8.4 Simple features 8.4.1 Introduction to simple features sf objects: “Simple features” R framework that is in active development There will likely be changes in the near future Plays very well with tidyverse functions, including dplyr and ggplot2 tools library(sf) To show simple features, we’ll pull in the Colorado county boundaries from the U.S. Census. To do this, we’ll use the tigris package, which accesses the U.S. Census API. It allows you to pull geographic data for U.S. counties, states, tracts, voting districts, roads, rails, and a number of other geographies. To learn more about the tigris package, check out this article: https://journal.r-project.org/archive/2016/RJ-2016-043/index.html With tigris, you can read in data for county boundaries using the counties function. We’ll use the option class = \"sf\" to read these spatial dataframes in as sf objects. library(tigris) co_counties <- counties(state = "CO", cb = TRUE, class = "sf") class(co_counties) ## [1] "sf" "data.frame" You can think of an sf object as a dataframe, but with one special column called geometry. co_counties %>% slice(1:3) ## Simple feature collection with 3 features and 9 fields ## geometry type: MULTIPOLYGON ## dimension: XY ## bbox: xmin: -109.0603 ymin: 37.28912 xmax: -104.3511 ymax: 41.00344 ## geographic CRS: NAD83 ## STATEFP COUNTYFP COUNTYNS AFFGEOID GEOID NAME LSAD ALAND ## 1 08 077 00198154 0500000US08077 08077 Mesa 06 8621849401 ## 2 08 107 00198169 0500000US08107 08107 Routt 06 6117602807 ## 3 08 055 00198143 0500000US08055 08055 Huerfano 06 4120756304 ## AWATER geometry ## 1 31490395 MULTIPOLYGON (((-109.0603 3... ## 2 15831744 MULTIPOLYGON (((-107.4426 4... ## 3 5792101 MULTIPOLYGON (((-105.5013 3... The geometry column has a special class (sfc): class(co_counties$geometry) ## [1] "sfc_MULTIPOLYGON" "sfc" You’ll notice there’s some extra stuff up at the top, too: Geometry type: Points, polygons, lines Dimension: Often two-dimensional, but can go up to four (if you have, for example, time for each measurement and some measure of measurement error / uncertainty) Bounding box (bbox): The x- and y-range of the data included EPSG: The EPSG Geodetic Parameter Dataset code for the Coordinate Reference Systems Projection (proj4string): How the data is currently projected, includes projection (“+proj”) and datum (“+datum”) You can pull some of this information out of the geometry column. For example, you can pull out the coordinates of the bounding box: st_bbox(co_counties$geometry) # For all counties ## xmin ymin xmax ymax ## -109.06025 36.99243 -102.04152 41.00344 st_bbox(co_counties$geometry[1]) # Just for first county ## xmin ymin xmax ymax ## -109.06025 38.49999 -107.37748 39.36671 You can add sf objects to ggplot objects using geom_sf: library(ggplot2) ggplot() + geom_sf(data = co_counties) You can map one of the columns in the sf object to the fill aesthetic to make a choropleth: ggplot() + geom_sf(data = co_counties, aes(fill = ALAND)) You can use all your usual ggplot tricks with this: library(viridis) ggplot() + geom_sf(data = co_counties, aes(fill = ALAND)) + scale_fill_viridis(name = "Land area", label = comma) + ggtitle("Land areas of Colorado counties") + theme_dark() Because simple features are a special type of dataframe, you can also use a lot of dplyr tricks. For example, you could pull out just Larimer County, CO: larimer <- co_counties %>% filter(NAME == "Larimer") larimer ## Simple feature collection with 1 feature and 9 fields ## geometry type: MULTIPOLYGON ## dimension: XY ## bbox: xmin: -106.1954 ymin: 40.25788 xmax: -104.9431 ymax: 40.99821 ## geographic CRS: NAD83 ## STATEFP COUNTYFP COUNTYNS AFFGEOID GEOID NAME LSAD ALAND ## 1 08 069 00198150 0500000US08069 08069 Larimer 06 6723025059 ## AWATER geometry ## 1 99007869 MULTIPOLYGON (((-106.1954 4... Note: You may need the development version of ggplot2 for the next piece of code to work (devtools::install_github(\"tidyverse/ggplot2\")). ggplot() + geom_sf(data = co_counties, color = "lightgray") + geom_sf(data = larimer, fill = "darkcyan") + geom_sf_text(data = larimer, aes(label = NAME), color = "white") + theme_dark() + labs(x = "", y = "") This operability with tidyverse functions means that you should now be able to figure out how to create a map of the number of events listed in the NOAA Storm Events database (of those listed by county) for each county in Colorado (for the code, see the in-course exercise): 8.4.2 State boundaries The tigris package allows you to pull state boundaries, as well, but on some computers mapping these seems to take a really long time. Instead, for now I recommend that you pull the state boundaries using base R’s maps package and convert that to an sf object: library(maps) ## ## Attaching package: 'maps' ## The following object is masked from 'package:purrr': ## ## map ## The following object is masked from 'package:faraway': ## ## ozone us_states <- map("state", plot = FALSE, fill = TRUE) %>% st_as_sf() You can see these borders include an ID column that you can use to join by state: head(us_states) ## Simple feature collection with 6 features and 1 field ## geometry type: MULTIPOLYGON ## dimension: XY ## bbox: xmin: -124.3834 ymin: 30.24071 xmax: -71.78015 ymax: 42.04937 ## geographic CRS: WGS 84 ## ID geom ## 1 alabama MULTIPOLYGON (((-87.46201 3... ## 2 arizona MULTIPOLYGON (((-114.6374 3... ## 3 arkansas MULTIPOLYGON (((-94.05103 3... ## 4 california MULTIPOLYGON (((-120.006 42... ## 5 colorado MULTIPOLYGON (((-102.0552 4... ## 6 connecticut MULTIPOLYGON (((-73.49902 4... As with other sf objects, you can map these state boundaries using ggplot: ggplot() + geom_sf(data = us_states, color = "white", fill = "darkcyan", alpha = 0.5) As a note, you can use xlim and ylim with these plots, but remember that the x-axis is longitude in degrees West, which are negative: ggplot() + geom_sf(data = us_states, color = "white", fill = "darkcyan", alpha = 0.5) + xlim(c(-90, -75)) + ylim(c(24, 38)) 8.4.3 Creating an sf object You can create an sf object from a regular dataframe. You just need to specify: The coordinate information (which columns are longitudes and latitudes) The Coordinate Reference System (CRS) (how to translate your coordinates to places in the world) For the CRS, if you are mapping the new sf object with other, existing sf objects, make sure that you use the same CRS for all sf objects. Spatial objects can have different Coordinate Reference Systems (CRSs). CRSs can be geographic (e.g., WGS84, for longitude-latitude data) or projected (e.g., UTM, NADS83). There is a website that lists projection strings and can be useful in setting projection information or re-projecting data: http://www.spatialreference.org Here is an excellent resource on projections and maps in R from Melanie Frazier: https://www.nceas.ucsb.edu/~frazier/RSpatialGuides/OverviewCoordinateReferenceSystems.pdf Let’s look at floods in Colorado. First, clean up the data: co_floods <- storms_2017 %>% filter(state == "Colorado" & event_type %in% c("Flood", "Flash Flood")) %>% select(begin_date_time, event_id, begin_lat:end_lon) %>% gather(key = "key", value = "value", -begin_date_time, -event_id) %>% separate(key, c("time", "key")) %>% spread(key = key, value = value) There are now two rows per event, one with the starting location and one with the ending location: co_floods %>% slice(1:5) ## # A tibble: 5 x 5 ## begin_date_time event_id time lat lon ## <dttm> <dbl> <chr> <dbl> <dbl> ## 1 2017-05-08 16:00:00 693374 begin 40.3 -105. ## 2 2017-05-08 16:00:00 693374 end 40.5 -104. ## 3 2017-05-10 15:00:00 686479 begin 38.1 -105. ## 4 2017-05-10 15:00:00 686479 end 38.1 -105. ## 5 2017-05-10 15:20:00 686480 begin 38.2 -105. Change to an sf object by saying which columns are the coordinates and setting a CRS: co_floods <- st_as_sf(co_floods, coords = c("lon", "lat")) %>% st_set_crs(4269) co_floods %>% slice(1:3) ## Simple feature collection with 3 features and 3 fields ## geometry type: POINT ## dimension: XY ## bbox: xmin: -105.0496 ymin: 38.1167 xmax: -104.39 ymax: 40.49 ## geographic CRS: NAD83 ## # A tibble: 3 x 4 ## begin_date_time event_id time geometry ## <dttm> <dbl> <chr> <POINT [°]> ## 1 2017-05-08 16:00:00 693374 begin (-104.76 40.32) ## 2 2017-05-08 16:00:00 693374 end (-104.39 40.49) ## 3 2017-05-10 15:00:00 686479 begin (-105.0496 38.1167) Now you can map the data: ggplot() + geom_sf(data = co_counties, color = "lightgray") + geom_sf(data = co_floods, aes(color = month(begin_date_time), shape = time)) + scale_color_viridis(name = "Month") If you want to show lines instead of points, group by the appropriate ID and then summarize within each event to get a line: co_floods <- co_floods %>% group_by(event_id) %>% summarize(month = month(first(begin_date_time)), do_union = FALSE) %>% st_cast("LINESTRING") ## `summarise()` ungrouping output (override with `.groups` argument) head(co_floods) ## Simple feature collection with 6 features and 2 fields ## geometry type: LINESTRING ## dimension: XY ## bbox: xmin: -105.8286 ymin: 38.0708 xmax: -104.39 ymax: 40.49 ## geographic CRS: NAD83 ## # A tibble: 6 x 3 ## event_id month geometry ## <dbl> <dbl> <LINESTRING [°]> ## 1 686479 5 (-105.0496 38.1167, -104.9687 38.0708) ## 2 686480 5 (-104.8425 38.2275, -104.8137 38.1854) ## 3 693306 6 (-104.8947 38.999, -104.8734 38.8783) ## 4 693374 5 (-104.76 40.32, -104.39 40.49) ## 5 693444 6 (-105.7688 38.3753, -105.8286 38.3127) ## 6 693449 6 (-105.07 38.15, -105.0973 38.1524) Now this data will map as lines: ggplot() + geom_sf(data = co_counties, color = "lightgray") + geom_sf(data = co_floods, aes(color = factor(month), fill = factor(month))) + scale_fill_viridis(name = "Month", discrete = TRUE) + scale_color_viridis(name = "Month", discrete = TRUE) 8.4.4 Reading in from GIS files You can also create sf objects by reading in data from files you would normally use for GIS. For example, you can read in an sf object from a shapefile, which is a format often used for GIS in which a collection of several files jointly store geographic data. The files making up a shapefile can include: “.shp”: The coordinates defining the shape of each geographic object. For a point, this would be a single coordinate (e.g., latitude and longitude). For lines and polygons, there will be multiple coordinates per geographic object. “.prf”: Information on the projection of the data (how to get from the coordinates to a place in the world). “.dbf”: Data that goes along with each geographical object. For example, earlier we looked at data on counties, and one thing measured for each county was its land area. Characteristics like that would be included in the “.dbf” file in a shapefile. Often, with geographic data, you will be given the option to downloaded a compressed file (e.g., a zipped file). When you unzip the folder, it will include a number of files in these types of formats (“.shp”, “prf”, “.dbf”, etc.). Sometimes, that single folder will include multiple files from each extension. For example, it might have several files that end with “.shp”. In this case, you have multiple layers of geographic information you can read in. We’ve been looking at data on storms from NOAA for 2017. As an example, let’s try to pair that data up with some from the National Hurricane Center for the same year. The National Hurricane Center allows you to access a variety of GIS data through the webpage https://www.nhc.noaa.gov/gis/?text. Let’s pull some data on Hurricane Harvey in 2017 and map it with information from the NOAA Storm Events database. On https://www.nhc.noaa.gov/gis/?text, go to the section called “Preliminary Best Track”. Select the year 2017. Then select “Hurricane Harvey” and download “al092017_best_track.zip”. Depending on your computer, you may then need to unzip this file (many computers will unzip it automatically). Base R has a function called unzip that can help with this. You’ll then have a folder with a number of different files in it. Move this folder somewhere that is convenient for the working directory you use for class. For example, I moved it into the “data” subdirectory of the working directory I use for the class. You can use list.files to see all the files in this unzipped folder: list.files("data/al092017_best_track/") ## [1] "al092017_lin.dbf" "al092017_lin.prj" ## [3] "al092017_lin.shp" "al092017_lin.shp.xml" ## [5] "al092017_lin.shx" "al092017_pts.dbf" ## [7] "al092017_pts.prj" "al092017_pts.shp" ## [9] "al092017_pts.shp.xml" "al092017_pts.shx" ## [11] "al092017_radii.dbf" "al092017_radii.prj" ## [13] "al092017_radii.shp" "al092017_radii.shp.xml" ## [15] "al092017_radii.shx" "al092017_windswath.dbf" ## [17] "al092017_windswath.prj" "al092017_windswath.shp" ## [19] "al092017_windswath.shp.xml" "al092017_windswath.shx" You can use st_layers to find out the available layers in a shapefile directory: st_layers("data/al092017_best_track/") ## Driver: ESRI Shapefile ## Available layers: ## layer_name geometry_type features fields ## 1 al092017_windswath Polygon 4 6 ## 2 al092017_radii Polygon 61 9 ## 3 al092017_lin Line String 17 3 ## 4 al092017_pts Point 74 15 Once you know which layer you want, you can use read_sf to read it in as an sf object: harvey_track <- read_sf("data/al092017_best_track/", layer = "al092017_lin") head(harvey_track) ## Simple feature collection with 6 features and 3 fields ## geometry type: LINESTRING ## dimension: XY ## bbox: xmin: -92.3 ymin: 13 xmax: -45.8 ymax: 21.4 ## geographic CRS: Unknown datum based upon the Authalic Sphere ## # A tibble: 6 x 4 ## STORMNUM STORMTYPE SS geometry ## <dbl> <chr> <int> <LINESTRING [°]> ## 1 9 Low 0 (-45.8 13.7, -47.4 13.7, -49 13.6, -50.6 13.6, … ## 2 9 Tropical Depr… 0 (-52 13.4, -53.4 13.1, -55 13) ## 3 9 Tropical Storm 0 (-55 13, -56.6 13, -58.4 13, -59.6 13.1, -60.3 … ## 4 9 Tropical Depr… 0 (-67.5 13.7, -69.2 13.8) ## 5 9 Tropical Wave 0 (-69.2 13.8, -71 14, -72.9 14.2, -75 14.4, -76.… ## 6 9 Low 0 (-89.7 20, -90.7 20.5, -91.6 20.9, -92.3 21.4) ggplot() + geom_sf(data = filter(us_states, ID %in% c("texas", "louisiana"))) + geom_sf(data = harvey_track, aes(color = STORMTYPE)) + xlim(c(-107, -89)) + ylim(c(25, 37)) You can read in other layers: harvey_windswath <- read_sf("data/al092017_best_track/", layer = "al092017_windswath") head(harvey_windswath) ## Simple feature collection with 4 features and 6 fields ## geometry type: POLYGON ## dimension: XY ## bbox: xmin: -98.66872 ymin: 12.94564 xmax: -54.58527 ymax: 31.15894 ## geographic CRS: Unknown datum based upon the Authalic Sphere ## # A tibble: 4 x 7 ## RADII STORMID BASIN STORMNUM STARTDTG ENDDTG geometry ## <dbl> <chr> <chr> <dbl> <chr> <chr> <POLYGON [°]> ## 1 34 al092017 AL 9 2017081… 20170… ((-65.68199 14.50528, -65.66399… ## 2 34 al092017 AL 9 2017082… 20170… ((-96.22456 31.15752, -96.17218… ## 3 50 al092017 AL 9 2017082… 20170… ((-97.32707 29.60604, -97.31424… ## 4 64 al092017 AL 9 2017082… 20170… ((-97.20689 29.08475, -97.19893… ggplot() + geom_sf(data = filter(us_states, ID %in% c("texas", "louisiana"))) + geom_sf(data = harvey_windswath, aes(fill = factor(RADII)), alpha = 0.2) + xlim(c(-107, -89)) + ylim(c(25, 37)) + scale_fill_viridis(name = "Wind (kts)", discrete = TRUE, option = "B", begin = 0.6, direction = -1) The read_sf function is very powerful and can read in data from lots of different formats. See Section 2 of the sf manual (https://cran.r-project.org/web/packages/sf/vignettes/sf2.html) for more on this function. You can find (much, much) more on working with spatial data in R online: R Spatial: http://rspatial.org/index.html Geocomputation with R: https://geocompr.robinlovelace.net 8.5 In-course exercise 8.5.1 Getting and cleaning the example data This week, we’ll be using some example data from NOAA’s Storm Events Database. This data lists major weather-related storm events during 2017. For each event, it includes information like the start and end dates, where it happened, associated deaths, injuries, and property damage, and some other characteristics. Each row is a separate event. However, often several events are grouped together within the same episode. Some of the event types are listed by their county ID (FIPS code) (“C”), but some are listed by a forecast zone ID (“Z”). Which ID is used is given in the column CZ_TYPE. Go to https://www1.ncdc.noaa.gov/pub/data/swdi/stormevents/csvfiles/ and download the bulk storm details data for 2017, in the file that starts “StormEvents_details” and includes “d2017”. Move this into a good directory for your current working directory and read it in using read_csv from the readr package. Limit the dataframe to: the beginning and ending dates and times, the episode ID, the event ID, the state name and FIPS, the “CZ” name, type, and FIPS, the event type, the source, and the begining latitude and longitude and ending latitude and longitude Convert the beginning and ending dates to a “date-time” class (there should be one column for the beginning date-time and one for the ending date-time) Change state and county names to title case (e.g., “New Jersey” instead of “NEW JERSEY”) Limit to the events listed by county FIPS (CZ_TYPE of “C”) and then remove the CZ_TYPE column Pad the state and county FIPS with a “0” at the beginning (hint: there’s a function in stringr to do this) and then unite the two columns to make one fips column with the 5-digit county FIPS code Change all the column names to lower case (you may want to try the rename_all function for this) There is data that comes with R on U.S. states (data(\"state\")). Use that to create a dataframe with the state name, area, and region Create a dataframe with the number of events per state in 2017. Merge in the state information dataframe you just created. Remove any states that are not in the state information dataframe Create the following plot: 8.5.1.1 Example R code Read in the data using read_csv. Here’s the code I used. Yours might be a bit different, depending on the current name of the file and where you moved it. library(readr) library(dplyr) storms_2017 <- read_csv("data/StormEvents_details-ftp_v1.0_d2017_c20180918.csv") ## Parsed with column specification: ## cols( ## .default = col_character(), ## BEGIN_YEARMONTH = col_double(), ## BEGIN_DAY = col_double(), ## BEGIN_TIME = col_double(), ## END_YEARMONTH = col_double(), ## END_DAY = col_double(), ## END_TIME = col_double(), ## EPISODE_ID = col_double(), ## EVENT_ID = col_double(), ## STATE_FIPS = col_double(), ## YEAR = col_double(), ## CZ_FIPS = col_double(), ## INJURIES_DIRECT = col_double(), ## INJURIES_INDIRECT = col_double(), ## DEATHS_DIRECT = col_double(), ## DEATHS_INDIRECT = col_double(), ## MAGNITUDE = col_double(), ## CATEGORY = col_double(), ## TOR_LENGTH = col_double(), ## TOR_WIDTH = col_double(), ## BEGIN_RANGE = col_double() ## # ... with 5 more columns ## ) ## See spec(...) for full column specifications. Here’s what the first few columns and rows should look like: storms_2017 %>% select(1:3) %>% slice(1:3) ## # A tibble: 3 x 3 ## BEGIN_YEARMONTH BEGIN_DAY BEGIN_TIME ## <dbl> <dbl> <dbl> ## 1 201704 6 1509 ## 2 201704 6 930 ## 3 201704 5 1749 Once you’ve read the data in, here’s the code that I used to clean the data: library(lubridate) library(stringr) library(tidyr) storms_2017 <- storms_2017 %>% select(BEGIN_DATE_TIME, END_DATE_TIME, EPISODE_ID:STATE_FIPS, EVENT_TYPE:CZ_NAME, SOURCE, BEGIN_LAT:END_LON) %>% mutate(BEGIN_DATE_TIME = dmy_hms(BEGIN_DATE_TIME), END_DATE_TIME = dmy_hms(END_DATE_TIME), STATE = str_to_title(STATE), CZ_NAME = str_to_title(CZ_NAME)) %>% filter(CZ_TYPE == "C") %>% select(-CZ_TYPE) %>% mutate(STATE_FIPS = str_pad(STATE_FIPS, 2, side = "left", pad = "0"), CZ_FIPS = str_pad(CZ_FIPS, 3, side = "left", pad = "0")) %>% unite(fips, STATE_FIPS, CZ_FIPS, sep = "") %>% rename_all(funs(str_to_lower(.))) Here’s what the data looks like now: storms_2017 %>% slice(1:3) ## # A tibble: 3 x 13 ## begin_date_time end_date_time episode_id event_id state fips ## <dttm> <dttm> <dbl> <dbl> <chr> <chr> ## 1 2017-04-06 15:09:00 2017-04-06 15:09:00 113355 678791 New … 34015 ## 2 2017-04-06 09:30:00 2017-04-06 09:40:00 113459 679228 Flor… 12071 ## 3 2017-04-05 17:49:00 2017-04-05 17:53:00 113448 679268 Ohio 39057 ## # … with 7 more variables: event_type <chr>, cz_name <chr>, source <chr>, ## # begin_lat <dbl>, begin_lon <dbl>, end_lat <dbl>, end_lon <dbl> There is data that comes with R on U.S. states (data(\"state\")). Use that to create a dataframe with the state name, area, and region: data("state") us_state_info <- data_frame(state = state.name, area = state.area, region = state.region) Create a dataframe with the number of events per state in 2017. Merge in the state information dataframe you just created. Remove any states that are not in the state information dataframe: state_storms <- storms_2017 %>% group_by(state) %>% count() %>% ungroup() %>% right_join(us_state_info, by = "state") To create the plot: Ultimately, in this group exercise, you will create a plot of state land area versus the number of storm events in the state: library(ggplot2) storm_plot <- ggplot(state_storms, aes(x = area, y = n)) + geom_point(aes(color = region)) + labs(x = "Land area (square miles)", y = "# of storm events in 2017") storm_plot 8.5.2 Trying out ggplot2 extensions Go back through the notes so far for this week. Pick your favorite plot that’s been shown so far and recreate it. All the code is in the notes, but you’ll need to work through it closely to make sure that you understand how to add code from the extension into the rest of the ggplot2 code. 8.5.3 Using simple features to map Re-create the following map of the number of events listed in the NOAA Storm Events database (of those listed by county) for each county in Colorado: If you have time, try this one, too. It shows the number of three certain types of events by county. If a county had no events, it’s shown in gray (as having a missing value when you count up the events that did happen). 8.5.3.1 Example R code Here is some R code that could be used to create the figure. Note that the code to create storms_2017 and co_counties is available in the course notes. library(viridis) co_event_counts <- storms_2017 %>% filter(state == "Colorado") %>% group_by(fips) %>% count() %>% ungroup() co_county_events <- co_counties %>% mutate(fips = paste(STATEFP, COUNTYFP, sep = "")) %>% full_join(co_event_counts, by = "fips") %>% mutate(n = ifelse(!is.na(n), n, 0)) ggplot() + geom_sf(data = co_county_events, aes(fill = n)) + scale_fill_viridis(name = "Number of events\\n(2017)") Example code for second plot: co_event_counts <- storms_2017 %>% filter(state == "Colorado") %>% filter(event_type %in% c("Tornado", "Heavy Rain", "Hail")) %>% group_by(fips, event_type) %>% count() %>% ungroup() co_county_events <- co_counties %>% mutate(fips = paste(STATEFP, COUNTYFP, sep = "")) %>% right_join(co_event_counts, by = "fips") ggplot() + geom_sf(data = co_counties, color = "lightgray") + geom_sf(data = co_county_events, aes(fill = n)) + scale_fill_viridis(name = "Number of events\\n(2017)") + theme(legend.position = "top") + facet_wrap(~ event_type, ncol = 3) + theme(axis.line = element_blank(), axis.text = element_blank(), axis.ticks = element_blank()) 8.5.4 More on mapping See if you can put everything we’ve talked about together to create the following map. Note that you can get the county boundaries using the tigris package and the hurricane data from the NHC website mentioned in the text. The storm events data is in the storms_2017 dataframe created in code in the text. See how close you can get to this figure. 8.5.4.1 Example R code Here is the code I used to create the figure: harvey_events <- storms_2017 %>% filter(state %in% c("Texas", "Louisiana") & ymd_hms("2017-08-25 00:00:00") < begin_date_time & begin_date_time < ymd_hms("2017-10-05 00:00:00")) %>% group_by(fips) %>% count() %>% ungroup() tx_la_counties <- counties(state = c("TX", "LA"), cb = TRUE, class = "sf") %>% mutate(fips = paste(STATEFP, COUNTYFP, sep = "")) %>% full_join(harvey_events, by = "fips") %>% mutate(n = ifelse(is.na(n), 0, n)) ggplot() + geom_sf(data = tx_la_counties, color = NA, aes(fill = n)) + geom_sf(data = filter(us_states, ID %in% c("texas", "louisiana")), fill = NA, color = "lightgray") + geom_sf(data = harvey_windswath, aes(color = factor(RADII)), alpha = 0.4) + geom_sf(data = harvey_track, color = "red", alpha = 0.1, size = 1) + xlim(c(-107, -89)) + ylim(c(25, 37)) + scale_fill_viridis(name = "# of events", option = "A", direction = -1) + scale_color_viridis(name = "Wind (kts)", discrete = TRUE, option = "B", direction = -1) + theme_dark() + ggtitle("Number of events near Harvey's landfall", subtitle = "# events starting Aug. 25 to Sept. 5, 2017") "], ["reproducible-research-2.html", "Chapter 9 Reproducible research #2 9.1 Templates 9.2 R Projects 9.3 git 9.4 In-course exercise", " Chapter 9 Reproducible research #2 Download slides for Nichole Monhait’s guest lecture Nichole’s full repo for the lecture is at: https://github.com/nmonhait/erhs_535. Download a pdf of the lecture slides covering this topic. 9.1 Templates R Markdown templates can be used to change multiple elements of the style of a rendered document. You can think of these as being the document-level analog to the themes we’ve used with ggplot objects. To do this, some kind of style file is applied when rendering document. For HTML documents, Cascading Style Sheets (CSS) (.css) can be used to change the style of different elements. For pdf files, LaTeX package (style) files (.sty) are used. To open a new R Markdown file that uses a template, in RStudio, go to “File” -> “New File” -> “R Markdown” -> “From Template”. Different templates come with different R packages. A couple of templates come with the rmarkdown package, which you likely already have. Many of these templates will only render to pdf. To render a pdf from R Markdown, you need to have a version of TeX installed on your computer. Like R, TeX is open source software. RStudio recommends the following installations by system: For Macs: MacTeX For PCs: MiKTeX Links for installing both can be found at http://www.latex-project.org/ftp.html Current version of TeX: 3.14159265. The tufte package has templates for creating handouts typeset like Edward Tufte’s books. This package includes templates for creating both pdf and HTML documents in this style. The package includes special functions like newthought, special chunk options like fig.fullwidth, and special knitr engines like marginfigure. Special features available in the tufte template include: Margin references Margin figures Side notes Full width figures The rticles package has templates for several journals: Journal of Statistical Software The R Journal Association for Computing Machinery ACS publications (Journal of the American Chemical Society, Environmental Science & Technology) Elsevier publications Some of these templates create a whole directory, with several files besides the .Rmd file. For example, the template for The R Journal includes: The R Markdown file in which you write your article “RJournal.sty”: A LaTeX package (style) file specific to The R Journal. This file tells LaTeX how to render all the elements in your article in the style desired by this journal. “RJreferences.bib”: A BibTeX file, where you can save citation information for all references in your article. “Rlogo.png”: An example figure (the R logo). Once you render the R Markdown document from this template, you’ll end up with some new files in the directory: “[your file name].tex”: A TeX file with the content from your R Markdown file. This will be “wrapped” with some additional formatting input to create “RJwrapper.tex”. “RJwrapper.tex”: A TeX file that includes both the content from your R Markdown file and additional formatting input. Typically, you will submit this file (along with the BibTeX, any figure and image files, and possibly the style file) to the journal. “RJwrapper.pdf”: The rendered pdf file (what the published article would look like) This template files will often require some syntax that looks more like LaTeX than Markdown. For example, for the template for The R Journal, you need to use \\citep{} and \\citet{} to include citations. These details will depend on the style file of the template. As a note, you can always use raw LaTeX in R Markdown documents, not just in documents you’re creating with a template. You just need to be careful not to mix the two. For example, if you use a LaTeX environment to begin an itemized list (e.g., with begin{itemize}), you must start each item with item, not -. You can create your own template. You create it as part of a custom R package, and then will have access to the template once you’ve installed the package. This can be useful if you often write documents in a certain style, or if you ever work somewhere with certain formatting requirements for reports. RStudio has full instructions for creating your own template: http://rmarkdown.rstudio.com/developer_document_templates.html 9.2 R Projects 9.2.1 Organization So far, you have run much of your analysis within a single R script or R Markdown file. Often, any associated data are within the same working directory as your script or R Markdown file, but the files for one project are not separated from files for other projects. As you move to larger projects, this kind of set-up won’t work as well. Instead, you’ll want to start keeping all materials for a project in a single and exclusive directory. Often, it helps to organize the files in a project directory into subdirectories. Common subdirectories include: data-raw: Raw data and R scripts to clean the raw data. data: Cleaned data, often saved as .RData after being generated by a script in data-raw. R: Code for any functions used in analysis. reports: Any final products rendered from R Markdown and their original R Markdown files (e.g., paper drafts, reports, presentations). 9.2.2 Creating R Projects RStudio allows you to create “Projects” to organize code, data, and results within a directory. When you create a project, RStudio adds a file with the extension “.Rproj” to the directory. There are some advantages to setting a directory to be an R Project. The project: Automatically uses the directory as your current working directory when you open the project. Coordinates well with git version control and GitHub repository system. Opens a “Files” window for navigating project files in an RStudio pane when you open the project. You can create a new project from scratch or from an existing directory. To create an R project from a working directory, in RStudio go to “File” -> “New Project” -> “New Directory”. You can then choose where you want to save the new project directory. 9.3 git Git is a version control system. It saves information about all changes you make on all files in a repository. This allows you to revert back to previous versions and search through the history for all files in the repository. Git is open source. You can download it for different operating systems here: https://git-scm.com/downloads You will need git on your computer to use git with RStudio and create local git repositories you can sync with GitHub repositories. Before you use git, you should configure it. For example, you should make sure it has your name and email address. You can configure git with commands at the shell. For example, I would run the following code at a shell to configure git to have my proper user name and email: git config --global user.name "Brooke Anderson" git config --global user.email "brooke.anderson@colostate.edu" Sometimes, RStudio will automatically find git (once you’ve installed git) when you start RStudio. However, in some cases, you may need to take some more steps to activate git in RStudio. To do this, go to “RStudio” -> “Preferences” -> “Git/SVN”. Choose “Enable version control”. If RStudio doesn’t find your version of git in the “Git executable” box, browse for it. 9.3.1 Initializing a git repository You can initialize a git repository using commands from the shell. To do that, take the following steps (first check that it is not already a git repository): Use a shell (“Terminal” on Macs) to navigate to to that directory. You can use cd to do that (similar to setwd in R). Once you are in the directory, run git status. If you get the message fatal: Not a git repository (or any of the parent directories): .git, it is not yet a git repository. If you do not get an error from git status, the directory is already a repository. If you do get an error, run git init to initialize it as a repository. For example, if I wanted to make the “fars_analysis” directory, which is a direct subdirectory of my home directory, a git repository, I could open a shell and run: cd ~/fars_analysis git init You can also initialize a git repository for a directory that is an R Project directory through R Studio. Open the Project. Go to “Tools” -> “Version Control” -> “Project Setup”. In the box for “Version control system”, choose “Git”. Note: If you have just installed git, and have not restarted RStudio, you’ll need to do that before RStudio will recognize git. If you do not see “Git” in the box for “Version control system”, it means either that you do not have git installed on your computer or that RStudio was unable to find it. Once you initialize the project as a git repository, you should have a “Git” window in one of your RStudio panes (top right pane by default). As you make and save changes to files, they will show up in this window for you to commit. For example, this is what the Git window for our coursebook looks like when I have changes to the slides for week 9 that I need to commit: 9.3.2 Committing When you want git to record changes, you commit the files with the changes. Each time you commit, you have to include a short commit message with some information about the changes. You can make commits from a shell. However, in this course we’ll just make commits from the RStudio environment. To make a commit from RStudio, click on the “Commit” button in the Git window. That will open a separate commit window that looks like this: In this window, to commit changes: Click on the files you want to commit to select them. If you’d like, you can use the bottom part of the window to look through the changes you are committing in each file. Write a message in the “Commit message” box. Keep the message to one line in this box if you can. If you need to explain more, write a short one-line message, skip a line, and then write a longer explanation. Click on the “Commit” button on the right. Once you commit changes to files, they will disappear from the Git window until you make and save more changes in them. 9.3.3 Browsing history On the top left of the Commit window, you can toggle to “History”. This window allows you to explore the history of commits for the repository. GitHub allows you to host git repositories online. This allows you to: Work collaboratively on a shared repository Fork someone else’s repository to create your own copy that you can use and change as you want Suggest changes to other people’s repositories through pull requests To push local repositories to GitHub and fork other people’s repositories, you will need a GitHub account. You can sign up at https://github.com. A free account is fine. The basic unit for working in GitHub is the repository. You can think of a repository as very similar to an R Project— it’s a directory of files with some supplemental files saving some additional information about the directory. While R Projects have this additional information saved as an “.RProj” file, git repositories have this information in a directory called “.git”. Because this pathname starts with a dot, it won’t show up in many of the ways you list files in a directory. From a shell, you can see files that start with . by running ls -a from within that directory. 9.3.4 Linking local repo to GitHub repo If you have a local directory that you would like to push to GitHub, these are the steps to do it. First, you need to make sure that the directory is under git version control. See the notes on initializing a repository. Next, you need to create an empty repository on GitHub to sync with your local repository. Do that by: In GitHub, click on the “+” in the upper right corner (“Create new”). Choose “Create new repository”. Give your repository the same name as the local directory you’d like to connect it to. For example, if you want to connect it to a directory called “fars_analysis” on your computer, name the repository “fars_analysis”. Leave everything else as-is (unless you’d like to add a short description in the “Description” box). Click on “Create repository” at the bottom of the page. Now you are ready to connect the two repositories. First, you’ll want to change some settings in RStudio so GitHub will recognize that your local repository belongs to you, rather than asking for you password every time. In RStudio, go to “RStudio” -> “Preferences” -> “Git / svn”. Choose to “Create RSA key”. Click on “View public key”. Copy what shows up. Go to your GitHub account and navigate to “Settings”. Click on “SSH and GPG keys”. Click on “New SSH key”. Name the key something like “RStudio” (you might want to include the device name if you’ll have SSH keys from RStudio on several computers). Past in your public key in the “Key box”. 9.3.5 Syncing RStudio and GitHub Now you’re ready to push your local repository to the empty GitHub repository you created. Open a shell and navigate to the directory you want to push. (You can open a shell from RStudio using the gear button in the Git window.) Add the GitHub repository as a remote branch with the following command (this gives an example for adding a GitHub repository named “ex_repo” in my GitHub account, “geanders”): git remote add origin git@github.com:geanders/ex_repo.git Push the contents of the local repository to the GitHub repository. git push -u origin master To pull a repository that already exists on GitHub and to which you have access (or that you’ve forked), first use cd to change a shell into the directory where you want to put the repository then run git clone to clone the repository locally. For example, if I wanted to clone a GitHub repository called “ex_repo” in my GitHub account, I would run: git clone git@github.com:geanders/ex_repo.git Once you have linked a local R project with a GitHub repository, you can push and pull commits using the blue down arrow (pull from GitHub) and green up arrow (push to GitHub) in the Git window in RStudio. GitHub helps you work with others on code. There are two main ways you can do this: Collaborating: Different people have the ability to push and pull directly to and from the same repository. When one person pushes a change to the repository, other collaborators can immediately get the changes by pulling the latest GitHub commits to their local repository. Forking: Different people have their own GitHub repositories, with each linked to their own local repository. When a person pushes changes to GitHub, it only makes changes to his own repository. The person must issue a pull request to another person’s fork of the repository to share the changes. 9.3.6 Issues Each original GitHub repository (i.e., not a fork of another repository) has a tab for “Issues”. This page works like a Discussion Forum. You can create new “Issue” threads to describe and discuss things that you want to change about the repository. Issues can be closed once the problem has been resolved. You can close issues on the “Issue” page with the “Close issue” button. If a commit you make in RStudio closes an issue, you can automatically close the issue on GitHub by including “Close #[issue number]” in your commit message and then pushing to GitHub. For example, if issue #5 is “Fix typo in section 3”, and you make a change to fix that typo, you could make and save the change locally, commit that change with the commit message “Close #5”, and then push to GitHub, and issue #5 in “Issues” for that GitHub repository will automatically be closed, with a link to the commit that fixed the issue. 9.3.7 Pull request You can use a pull request to suggest changes to a repository that you do not own or otherwise have the permission to directly change. You can also use pull requests within your own repositories. Some people will create a pull request every time they have a big issue they want to fix in one of their repositories. In GitHub, each repository has a “Pull requests” tab where you can manage pull requests (submit a pull request to another fork or merge in someone else’s pull request for your fork). Take the following steps to suggest changes to someone else’s repository: Fork the repository Make changes (locally or on GitHub) Save your changes and commit them Submit a pull request to the original repository If there are not any conflicts and the owner of the original repository likes your changes, he or she can merge them directly into the original repository. If there are conflicts, these need to be resolved before the pull request can be merged. 9.3.8 Merge conflicts At some point, you will get merge conflicts. These happen when two people have changed the same piece of code in two different ways at the same time. For example, say Rachel and are both working on local versions of the same repository, and I change a line to mtcars[1, ] while Rachel changes the same line to head(mtcars, 1). Rachel pushes to the GitHub version of the repository before I do. When I pull the latest commits to the GitHub repository, I will have a merge conflict for this line. To be able to commit a final version, I’ll need to decide which version of the code to use and commit a version of the file with that code. Merge conflicts can come up in a few situations: You pull in commits from the GitHub branch of a repository you’ve been working on locally. Someone sends a pull request for one of your repositories. If there are merge conflicts, they’ll show up like this in the file: <<<<<<< HEAD mtcars[1, ] ======= head(mtcars, 1) >>>>>>> remote-branch To fix them, search for all these spots in files with conflicts, pick the code you want to use, and delete everything else. For the example conflict, I might change the file from this: <<<<<<< HEAD mtcars[1, ] ======= head(mtcars, 1) >>>>>>> remote-branch To this: head(mtcars, 1) Then you can save and commit the file. 9.3.9 Find out more If you’d like to find out more, Hadley Wickham has a great chapter on using git and GitHub with RStudio in his R Packages book: http://r-pkgs.had.co.nz/git.html 9.4 In-course exercise 9.4.1 Organizing a project In this part of the group exercise, you will set up an R Project to use for the next homework assignment. You will want to set up a similar project for your final group project. First, you need to create a new project. In RStudio, go to “File” -> “New Project” -> “New Directory”. Choose where you want to save this directory and what you want to name it. Once you open the project, one of the RStudio panes should have a tab called “Files”. This shows the files in this project directory and allows you to navigate through them. Currently, you won’t have any files other than the R project file (“.Rproj”). As a next step, create several subdirectories. We’ll use these to structure the data and R Markdown files for your homework. Create the following subdirectories (you can use the “New Folder” button in the RStudio “Files” pane): data writing Download the data for the homework from the Washington Post’s GitHub page: https://github.com/washingtonpost/data-homicides. Save this data inside your R project in the data subdirectory 9.4.2 Initializing git for an R Project If you do not already have one, sign up for a GitHub account. The free option is fine. If you do not already have git installed on your computer, install it: https://git-scm.com/downloads Restart RStudio. go to “RStudio” -> “Preferences” ->“Git/SVN”. Choose “Enable version control”. If RStudio doesn’t find yourversion of git in the “Git executable” box, browse for it. Open your homework project in RStudio. Change your Project settings to initialize git for this project (see the course notes for tips on how to do that). Open a shell from R using the gear symbol in the “Git” pane you should now see in RStudio. Configure git from this shell. For example, I would open a shell and run: git config --global user.name "Brooke Anderson" git config --global user.email "brooke.anderson@colostate.edu" Note that you only need to do this once (until you get a new computer or, maybe, update git). - Go to the “Commit” window. Click on all of the files you see there, and then make an initial commit using “Initial commit” as your commit message. - The writing subdirectory will have your R Markdown file and its output. Create a new R Markdown file (“File” -> “New File” -> “R Markdown”) and save it to this subdirectory. You can change the name and date for the file if you’d like. Delete all the text that comes as a default. Write a piece of code that lists the files you saved in the data subdirectory. Remember that the working directory for an R Markdown file is the directory in which it’s saved, so you may need to use a relative pathname that goes up one directory (..) and then goes into data subdirectory. - Commit this change using the “Commit” window. After you commit the changes, look at the “History” window to see the history of your commits. 9.4.3 Linking your project with a GitHub repository (See course notes for more on these steps.) Login to your GitHub account online. Create an empty GitHub repository for the project. Give it the same name as the name of your R project directory. If you do not already have an RSA kay, create one in RStudio and add it as an SSH key in your GitHub settings. If you already have a key (you almost certainly know if you do), see if you can copy it and submit it in GitHub. Set this empty online GitHub repository as the remote branch of your local git repository for the project. Push your local repository to this GitHub repository. Go to your GitHub account and make sure the repository was pushed. Try making some more changes to your local repository. Commit the changes, then use the green up arrow in the Git window to push the changes to your GitHub repository. "], ["entering-and-cleaning-data-3.html", "Chapter 10 Entering and cleaning data #3 10.1 Pulling online data 10.2 Example R API wrapper packages 10.3 tigris package 10.4 countyweather 10.5 Cleaning very messy data 10.6 In-course exercise", " Chapter 10 Entering and cleaning data #3 Download a pdf of the lecture slides covering this topic. 10.1 Pulling online data 10.1.1 APIs APIs are “Application Program Interfaces”. An API provides the rules for software applications to interact. In the case of open data APIs, they provide the rules you need to know to write R code to request and pull data from the organization’s web server into your R session. Often, an API can help you avoid downloading all available data, and instead only download the subset you need. The basic strategy for using APIs from R is: Figure out the API rules for HTTP requests Write R code to create a request in the proper format Send the request using GET or POST HTTP methods Once you get back data from the request, parse it into an easier-to-use format if necessary Start by reading any documentation available for the API. This will often give information on what data is available and how to put together requests. Source: https://api.nasa.gov/api.html#EONET Many organizations will require you to get an API key and use this key in each of your API requests. This key allows the organization to control API access, including enforcing rate limits per user. API rate limits restrict how often you can request data (e.g., an hourly limit of 1,000 requests per user for NASA APIs). You should keep this key private. In particular, make sure you do not include it in code that is posted to GitHub. The riem package, developed by Maelle Salmon and an ROpenSci package, is an excellent and straightforward example of how you can use R to pull open data through a web API. This package allows you to pull weather data from airports around the world directly from the Iowa Environmental Mesonet. To get a certain set of weather data from the Iowa Environmental Mesonet, you can send an HTTP request specifying a base URL, “https://mesonet.agron.iastate.edu/cgi-bin/request/asos.py/”, as well as some parameters describing the subset of dataset you want (e.g., date ranges, weather variables, output format). Once you know the rules for the names and possible values of these parameters (more on that below), you can submit an HTTP GET request using the GET function from the httr package. https://mesonet.agron.iastate.edu/cgi-bin/request/asos.py?station=DEN&data=sknt&year1=2016&month1=6&day1=1&year2=2016&month2=6&day2=30&tz=America%2FDenver&format=comma&latlon=no&direct=no&report_type=1&report_type=2 When you are making an HTTP request using the GET or POST functions from the httr package, you can include the key-value pairs for any query parameters as a list object in the query argurment of the function. library(httr) meso_url <- paste0("https://mesonet.agron.iastate.edu/", "cgi-bin/request/asos.py/") denver <- GET(url = meso_url, query = list(station = "DEN", data = "sped", year1 = "2016", month1 = "6", day1 = "1", year2 = "2016", month2 = "6", day2 = "30", tz = "America/Denver", format = "comma")) The GET call will return a special type of list object with elements that include the url you queried and the content of the page at that url: str(denver, max.level = 1, list.len = 6) ## List of 10 ## $ url : chr "https://mesonet.agron.iastate.edu/cgi-bin/request/asos.py/?station=DEN&data=sped&year1=2016&month1=6&day1=1&yea"| __truncated__ ## $ status_code: int 200 ## $ headers :List of 6 ## ..- attr(*, "class")= chr [1:2] "insensitive" "list" ## $ all_headers:List of 1 ## $ cookies :'data.frame': 0 obs. of 7 variables: ## $ content : raw [1:239447] 23 44 45 42 ... ## [list output truncated] ## - attr(*, "class")= chr "response" The httr package includes functions to pull out elements of this list object, including: headers: Pull out the header information content: Pull out the content returned from the page status_code: Pull out the status code from the GET request (e.g., 200: okay; 404: not found) Note: For some fun examples of 404 pages, see https://www.creativebloq.com/web-design/best-404-pages-812505 You can use content from httr to retrieve the contents of the HTTP request we made. For this particular web data, the requested data is a comma-separated file, so you can convert it to a dataframe with read_csv: denver %>% content() %>% read_csv(skip = 5, na = "M") %>% slice(1:3) ## # A tibble: 3 x 3 ## station valid sped ## <chr> <dttm> <dbl> ## 1 DEN 2016-06-01 00:00:00 9.2 ## 2 DEN 2016-06-01 00:05:00 9.2 ## 3 DEN 2016-06-01 00:10:00 6.9 The riem package wraps up this whole process, so you can call a single function to get in the data you want from the API: library(riem) denver_2 <- riem_measures(station = "DEN", date_start = "2016-06-01", date_end = "2016-06-30") denver_2 %>% slice(1:3) ## # A tibble: 3 x 31 ## station valid lon lat tmpf dwpf relh drct sknt p01i ## <chr> <dttm> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 DEN 2016-06-01 00:00:00 -105. 39.8 NA NA NA 70 7 NA ## 2 DEN 2016-06-01 00:05:00 -105. 39.8 NA NA NA 80 8 NA ## 3 DEN 2016-06-01 00:10:00 -105. 39.8 NA NA NA 80 9 NA ## # … with 21 more variables: alti <dbl>, mslp <dbl>, vsby <dbl>, gust <dbl>, ## # skyc1 <chr>, skyc2 <chr>, skyc3 <chr>, skyc4 <chr>, skyl1 <dbl>, ## # skyl2 <dbl>, skyl3 <dbl>, skyl4 <dbl>, wxcodes <chr>, ## # ice_accretion_1hr <lgl>, ice_accretion_3hr <lgl>, ice_accretion_6hr <lgl>, ## # peak_wind_gust <dbl>, peak_wind_drct <dbl>, peak_wind_time <chr>, ## # feel <dbl>, metar <chr> 10.2 Example R API wrapper packages The tigris package is a very useful example of an API wrapper. It retrieves geographic boundary data from the U.S. Census for a number of different geographies: Location boundaries States Counties Blocks Tracks School districts Congressional districts Roads Primary roads Primary and secondary roads Water Area-water Linear-water Coastline Other Landmarks Military 10.3 tigris package The following plot is an example of the kinds of maps you can create using the tigris package. This map comes from: Kyle Walker. 2016. “tigris: An R Package to Access and Work with Geographic Data from the US Census Bureau”. The R Journal. This is a great article to read to find out more about tigris. A number of other R packages also help you access and use data from the U.S. Census: acs: Download, manipulate, and present American Community Survey and Decennial data from the US Census (see “Working with the American Community Survey in R: A Guide to Using the acs Package”, a book available free online through the CSU library) USABoundaries: Historical and contemporary boundaries of the United States of America idbr: R interface to the US Census Bureau International Data Base API (e.g., populations of other countries) The organization rOpenSci (https://ropensci.org) has the following mission: “At rOpenSci we are creating packages that allow access to data repositories through the R statistical programming environment that is already a familiar part of the workflow of many scientists. Our tools not only facilitate drawing data into an environment where it can readily be manipulated, but also one in which those analyses and methods can be easily shared, replicated, and extended by other researchers.” rOpenSci collects a number of packages for tapping into open data for research. These are listed at https://ropensci.org/packages. Many of these packages are wrappers for APIs with data useful for scientific research Some examples (all descriptions from rOpenSci): AntWeb: Access data from the world’s largest ant database chromer: Interact with the chromosome counts database (CCDB) gender: Encodes gender based on names and dates of birth musemeta: R Client for Scraping Museum Metadata, including The Metropolitan Museum of Art, the Canadian Science & Technology Museum Corporation, the National Gallery of Art, and the Getty Museum, and more to come. rusda: Interface to some USDA databases webchem: Retrieve chemical information from many sources. Currently includes: Chemical Identifier Resolver, ChemSpider, PubChem, and Chemical Translation Service. As an example, one ROpenSci package, rnoaa, allows you to: “Access climate data from NOAA, including temperature and precipitation, as well as sea ice cover data, and extreme weather events” It includes access to: Buoy data from the National Buoy Data Center Historical Observing Metadata Repository (HOMR))— climate station metadata National Climatic Data Center weather station data Sea ice data International Best Track Archive for Climate Stewardship (IBTrACS)— tropical cyclone tracking data Severe Weather Data Inventory (SWDI) 10.4 countyweather The countyweather package, developed by a student here at CSU, wraps the rnoaa package to let you pull and aggregate weather at the county level in the U.S. For example, you can pull all data from Miami during Hurricane Andrew: When you pull the data for a county, the package also maps the contributing weather stations: The USGS also has a very nice collection of R packages that wrap USGS open data APIs, which can be accessed through: https://owi.usgs.gov/R/ “USGS-R is a community of support for users of the R scientific programming language. USGS-R resources include R training materials, R tools for the retrieval and analysis of USGS data, and support for a growing group of USGS-R developers.” USGS R packages include: dataRetrieval: Obtain water quality sample data, streamflow data, and metadata directly from either the USGS or EPA EGRET: Analysis of long-term changes in water quality and streamflow, including the water-quality method Weighted Regressions on Time, Discharge, and Season (WRTDS) laketemps: Lake temperature data package for Global Lake Temperature Collaboration Project lakeattributes: Common useful lake attribute data soilmoisturetools: Tools for soil moisture data retrieval and visualization Here are some examples of other R packages that faciliate use of an API for open data: twitteR: Twitter Quandl: Quandl (financial data) RGoogleAnalytics: Google Analytics WDI, wbstats: World Bank GuardianR, rdian: The Guardian Media Group blsAPI: Bureau of Labor Statistics rtimes: New York Times Find out more about writing API packages with this vignette for the httr package: https://cran.r-project.org/web/packages/httr/vignettes/api-packages.html. This document includes advice on error handling within R code that accesses data through an open API. 10.5 Cleaning very messy data One version of Atlantic basin hurricane tracks is available here: https://www.nhc.noaa.gov/data/hurdat/hurdat2-1851-2017-050118.txt. The data is not in a classic delimited format: This data is formatted in the following way: Data for many storms are included in one file. Data for a storm starts with a shorter line, with values for the storm ID, name, and number of observations for the storm. These values are comma separated. Observations for each storm are longer lines. There are multiple observations for each storm, where each observation gives values like the location and maximum winds for the storm at that time. Strategy for reading in very messy data: Read in all lines individually. Use regular expressions to split each line into the elements you’d like to use to fill columns. Write functions and / or map calls to process lines and use the contents to fill a data frame. Once you have the data in a data frame, do any remaining cleaning to create a data frame that is easy to use to answer research questions. Because the data is not nicely formatted, you can’t use read_csv or similar functions to read it in. However, the read_lines function from readr allows you to read a text file in one line at a time. You can then write code and functions to parse the file one line at a time, to turn it into a dataframe you can use. Note: Base R has readLines, which is very similar. The read_lines function from readr will read in lines from a text file directly, without trying to separate into columns. You can use the n_max argument to specify the number of lines to read it. For example, to read in three lines from the hurricane tracking data, you can run: tracks_url <- paste0("http://www.nhc.noaa.gov/data/hurdat/", "hurdat2-1851-2017-050118.txt") hurr_tracks <- read_lines(tracks_url, n_max = 3) hurr_tracks ## [1] "AL011851, UNNAMED, 14," ## [2] "18510625, 0000, , HU, 28.0N, 94.8W, 80, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999," ## [3] "18510625, 0600, , HU, 28.0N, 95.4W, 80, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999, -999," The data has been read in as a vector, rather than a dataframe: class(hurr_tracks) ## [1] "character" length(hurr_tracks) ## [1] 3 hurr_tracks[1] ## [1] "AL011851, UNNAMED, 14," You can use regular expressions to break each line up. For example, you can use str_split from the stringr package to break the first line of the hurricane track data into its three separate components: library(stringr) str_split(hurr_tracks[1], pattern = ",") ## [[1]] ## [1] "AL011851" " UNNAMED" " 14" ## [4] "" You can use this to create a list where each element of the list has the split-up version of a line of the original data. First, read in all of the data: tracks_url <- paste0("http://www.nhc.noaa.gov/data/hurdat/", "hurdat2-1851-2017-050118.txt") hurr_tracks <- read_lines(tracks_url) length(hurr_tracks) ## [1] 52151 Next, use map with str_split to split each line of the data at the commas: library(purrr) hurr_tracks <- purrr::map(hurr_tracks, str_split, pattern = ",", simplify = TRUE) hurr_tracks[[1]] ## [,1] [,2] [,3] [,4] ## [1,] "AL011851" " UNNAMED" " 14" "" hurr_tracks[[2]][1:2] ## [1] "18510625" " 0000" Next, you want to split this list into two lists, one with the shorter “meta-data” lines and one with the longer “observation” lines. You can use map_int to create a vector with the length of each line. You will later use this to identify which lines are short or long. hurr_lengths <- map_int(hurr_tracks, length) hurr_lengths[1:17] ## [1] 4 21 21 21 21 21 21 21 21 21 21 21 21 21 21 4 21 unique(hurr_lengths) ## [1] 4 21 You can use bracket indexing to split the hurr_tracks into two lists: one with the shorter lines that start each observation (hurr_meta) and one with the storm observations (hurr_obs). Use bracket indexing with the hurr_lengths vector you just created to make that split. hurr_meta <- hurr_tracks[hurr_lengths == 4] hurr_obs <- hurr_tracks[hurr_lengths == 21] hurr_meta[1:3] ## [[1]] ## [,1] [,2] [,3] [,4] ## [1,] "AL011851" " UNNAMED" " 14" "" ## ## [[2]] ## [,1] [,2] [,3] [,4] ## [1,] "AL021851" " UNNAMED" " 1" "" ## ## [[3]] ## [,1] [,2] [,3] [,4] ## [1,] "AL031851" " UNNAMED" " 1" "" hurr_obs[1:2] ## [[1]] ## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] ## [1,] "18510625" " 0000" " " " HU" " 28.0N" " 94.8W" " 80" " -999" " -999" ## [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18] ## [1,] " -999" " -999" " -999" " -999" " -999" " -999" " -999" " -999" " -999" ## [,19] [,20] [,21] ## [1,] " -999" " -999" "" ## ## [[2]] ## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] ## [1,] "18510625" " 0600" " " " HU" " 28.0N" " 95.4W" " 80" " -999" " -999" ## [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18] ## [1,] " -999" " -999" " -999" " -999" " -999" " -999" " -999" " -999" " -999" ## [,19] [,20] [,21] ## [1,] " -999" " -999" "" Now, you can use bind_rows from dplyr to change the list of metadata into a dataframe. (You first need to use as_tibble with map to convert all elements of the list from matrices to dataframes.) library(dplyr); library(tibble) hurr_meta <- hurr_meta %>% purrr::map(as_tibble) %>% bind_rows() ## Warning: The `x` argument of `as_tibble.matrix()` must have unique column names if `.name_repair` is omitted as of tibble 2.0.0. ## Using compatibility `.name_repair`. ## This warning is displayed once every 8 hours. ## Call `lifecycle::last_warnings()` to see where this warning was generated. hurr_meta %>% slice(1:3) ## # A tibble: 3 x 4 ## V1 V2 V3 V4 ## <chr> <chr> <chr> <chr> ## 1 AL011851 " UNNAMED" " 14" "" ## 2 AL021851 " UNNAMED" " 1" "" ## 3 AL031851 " UNNAMED" " 1" "" You can clean up the data a bit more. First, the fourth column doesn’t have any non-missing values, so you can get rid of it: unique(hurr_meta$V4) ## [1] "" Second, the second and third columns include a lot of leading whitespace: hurr_meta$V2[1:2] ## [1] " UNNAMED" " UNNAMED" Last, we want to name the columns. hurr_meta <- hurr_meta %>% select(-V4) %>% rename(storm_id = V1, storm_name = V2, n_obs = V3) %>% mutate(storm_name = str_trim(storm_name), n_obs = as.numeric(n_obs)) hurr_meta %>% slice(1:3) ## # A tibble: 3 x 3 ## storm_id storm_name n_obs ## <chr> <chr> <dbl> ## 1 AL011851 UNNAMED 14 ## 2 AL021851 UNNAMED 1 ## 3 AL031851 UNNAMED 1 Now you can do the same idea with the hurricane observations. First, we’ll want to add storm identifiers to that data. The “meta” data includes storm ids and the number of observations per storm. We can take advantage of that to make a storm_id vector that will line up with the storm observations. storm_id <- rep(hurr_meta$storm_id, times = hurr_meta$n_obs) head(storm_id, 3) ## [1] "AL011851" "AL011851" "AL011851" length(storm_id) ## [1] 50303 length(hurr_obs) ## [1] 50303 hurr_obs <- hurr_obs %>% purrr::map(as_tibble) %>% bind_rows() %>% mutate(storm_id = storm_id) hurr_obs %>% select(V1:V2, V5:V6, storm_id) %>% slice(1:3) ## # A tibble: 3 x 5 ## V1 V2 V5 V6 storm_id ## <chr> <chr> <chr> <chr> <chr> ## 1 18510625 " 0000" " 28.0N" " 94.8W" AL011851 ## 2 18510625 " 0600" " 28.0N" " 95.4W" AL011851 ## 3 18510625 " 1200" " 28.0N" " 96.0W" AL011851 10.6 In-course exercise 10.6.1 Working with an API wrapper package The rplos package provides a wrapper to the Public Library of Science (PLoS)’s API. PLOS has a collection of academic journals spanning a variety of topics. Check out this page of documentation for this API: http://api.plos.org/solr/search-fields/ Look through the potential search terms. Use the searchplos function to search articles in the PLoS collection for the term “West Nile”. Pull the publication date, title, abstract, article type, subject, and journal of each matching article and save the result to an R object called wn_papers. You may find it helpful to look at the examples in the helpfile for searchplos or the tutorial available at: https://ropensci.org/tutorials/rplos_tutorial/ The object returned by searchplos will be a list with two top levels, meta and data. Confirm that this is true for the wn_papers object you created. Look at the meta part of the list (you can use $ indexing to pull this out). How many articles were found with “West Nile” in them? Does the query seem case-sensitive (i.e., do you get the same number of papers when you query “west nile” rather than “West Nile”)? Re-run your query (save the results to wn_papers_titles) looking only for papers with “West Nile” in the title of the paper. How many papers are returned by this query? By default the limit of the number of papers returned by a query will be 10. You can change this (to a certain degree) by using the limit option. For the call you ran to create wn_papers_titles, set the limit to the number of articles that match this query, as identified in the meta element of the first run of the call. Check the number of rows in the data element that was returned to make sure it has the same number of rows as the number of articles that match the query. Create a plot of the number of articles published per year. Use color to show which articles are Research Articles versus other types of articles. Determine which journals have published these articles and the number of articles published in each journal. You may notice that sometimes “PLoS” is used and sometimes “PLOS”. See if you can fix this in R to get the count of articles per journal without this capitalization difference causing problems. Explore the list of packages on ROpenSci, those through the USGS, and those related to the U.S. Census. See if you can identify any other packages that might provide access to data relevant to West Nile virus. 10.6.1.1 Example R code library(rplos) wn_papers <- searchplos(q = "West Nile", fl = c("publication_date", "title", "journal", "subject", "abstract", "article_type")) Confirm the structure of the returned object: str(wn_papers) ## List of 2 ## $ meta: tibble [1 × 2] (S3: tbl_df/tbl/data.frame) ## ..$ numFound: int 3331 ## ..$ start : int 0 ## $ data: tibble [10 × 6] (S3: tbl_df/tbl/data.frame) ## ..$ journal : chr [1:10] "PLOS Pathogens" "PLOS ONE" "PLOS Neglected Tropical Diseases" "PLOS ONE" ... ## ..$ publication_date: chr [1:10] "2019-10-31T00:00:00Z" "2015-12-30T00:00:00Z" "2017-11-08T00:00:00Z" "2017-10-12T00:00:00Z" ... ## ..$ article_type : chr [1:10] "Review" "Research Article" "Research Article" "Research Article" ... ## ..$ abstract : chr [1:10] "\\nIt has been 20 years since West Nile virus first emerged in the Americas, and since then, little progress has"| __truncated__ "\\nWest Nile virus (WNV) is a mosquito-transmitted Flavivirus belonging to the Japanese encephalitis antigenic c"| __truncated__ "\\nThe West Nile virus (WNV), isolated in 1937, is an arbovirus (arthropod-borne virus) that infects thousands o"| __truncated__ "\\nThe structural risk of West Nile Disease results from the usual functioning of the socio-ecological system, w"| __truncated__ ... ## ..$ title : chr [1:10] "Twenty years of West Nile virus spread and evolution in the Americas visualized by Nextstrain" "Spatio-Temporal Identification of Areas Suitable for West Nile Disease in the Mediterranean Basin and Central Europe" "Biological and phylogenetic characteristics of West African lineages of West Nile virus" "Geographic variations of the bird-borne structural risk of West Nile virus circulation in Europe" ... ## ..$ subject : chr [1:10] "/Biology and life sciences/Biogeography/Phylogeography,/Biology and life sciences/Evolutionary biology/Evolutio"| __truncated__ "/Biology and life sciences/Developmental biology/Life cycles/Larvae,/Biology and life sciences/Microbiology/Med"| __truncated__ "/Biology and life sciences/Evolutionary biology/Evolutionary systematics/Phylogenetics/Phylogenetic analysis,/B"| __truncated__ "/Biology and life sciences/Ecology/Community ecology/Ecological risk,/Biology and life sciences/Microbiology/Me"| __truncated__ ... ## ..- attr(*, "numFound")= int 3331 ## ..- attr(*, "start")= int 0 Look at the meta data: wn_papers$meta ## # A tibble: 1 x 2 ## numFound start ## <int> <int> ## 1 3331 0 Query for just articles with “West Nile” in the title: wn_papers_titles <- searchplos(q = "title:West Nile", fl = c("publication_date", "title", "journal", "subject", "abstract", "article_type")) Look at the metadata: wn_papers_titles$meta ## # A tibble: 1 x 2 ## numFound start ## <int> <int> ## 1 217 0 Re-run the query using an appropriate limit to get all the matching articles: wn_papers_titles <- searchplos(q = "title:West Nile", fl = c("publication_date", "title", "journal", "subject", "abstract", "article_type"), limit = 190) Check the number of rows: nrow(wn_papers_titles$data) ## [1] 190 Create a plot of the number of articles in the PLoS journals with “West Nile” in the title by year: library(lubridate) library(dplyr) library(ggplot2) wn_papers_titles$data %>% mutate(publication_date = ymd_hms(publication_date), pub_year = year(publication_date), research_article = article_type == "Research Article") %>% group_by(pub_year, research_article) %>% count() %>% ggplot(aes(x = pub_year, y = n, fill = research_article)) + geom_col() + labs(x = "Year of publication", y = "Number of articles published", fill = "Research article") + ggtitle("West Nile articles published in PLoS journals", subtitle = "Based on articles with 'West Nile' in the title") Determine which journals have published these articles and the number of articles published in each journal: library(forcats) library(stringr) wn_papers_titles$data %>% mutate(journal = str_replace(journal, "PLOS", "PLoS")) %>% group_by(journal) %>% count() %>% ungroup() %>% filter(!is.na(journal)) %>% arrange(desc(n)) ## # A tibble: 6 x 2 ## journal n ## <chr> <int> ## 1 PLoS ONE 104 ## 2 PLoS Neglected Tropical Diseases 41 ## 3 PLoS Pathogens 30 ## 4 PLoS Computational Biology 3 ## 5 PLoS Medicine 3 ## 6 PLoS Biology 2 10.6.2 Cleaning very messy data With your groups, create an R script that does all the steps described so far to pull the messy hurricane tracks data from online and clean it. Then try the following further cleaning steps: Select only the columns with date, time, storm status, location (latitude and longitude), maximum sustained winds, and minimum pressure and renames them Create a column with the date-time of each observation, in a date-time class Clean up the latitude and longitude so that you have separate columns for the numeric values and for the direction indicator (e.g., N, S, E, W) Clean up the wind column, so it gives wind speed as a number and NA in cases where wind speed is missing If you have time, try to figure out what the status abbreviations stand for. Create a new factor column named status_long with the status spelled out. "], -["exploring-data-3.html", "Chapter 11 Exploring data #3 11.1 Simulations 11.2 Other computationally-intensive approaches", " Chapter 11 Exploring data #3 Download a pdf of the lecture slides covering this topic. 11.1 Simulations 11.1.1 The lady tasting tea Source: Flikr commons, https://www.flickr.com/photos/internetarchivebookimages/20150531109/ “Dr. Muriel Bristol, a colleague of Fisher’s, claimed that when drinking tea she could distinguish whether milk or tea was added to the cup first (she preferred milk first). To test her claim, Fisher asked her to taste eight cups of tea, four of which had milk added first and four of which had tea added first.” — Agresti, Categorical Data Analysis, p.91 Research questions: If she just guesses, what is the probability she will get all cups right? What if more or fewer cups are used in the experiment? One way to figure this out is to run a simulation. In R, sample can be a very helpful function for simulations. It lets you randomly draw values from a vector, with or without replacement. ## Generic code sample(x = [vector to sample from], size = [number of samples to take], replace = [logical-- should values in the vector be replaced?], prob = [vector of probability weights]) Create vectors of the true and guessed values, in order, for the cups of tea: n_cups <- 8 cups <- sample(rep(c("milk", "tea"), each = n_cups / 2)) cups ## [1] "tea" "milk" "milk" "tea" "milk" "tea" "tea" "milk" guesses <- sample(rep(c("milk", "tea"), each = n_cups / 2)) guesses ## [1] "tea" "milk" "milk" "tea" "tea" "milk" "tea" "milk" For this simulation, determine how many cups she got right (i.e., guess equals the true value): cup_results <- cups == guesses cup_results ## [1] TRUE TRUE TRUE TRUE FALSE FALSE TRUE TRUE n_right <- sum(cup_results) n_right ## [1] 6 Write a function that will run one simulation. It takes the argument n_cups— in real life, they used eight cups (n_cups = 8). Note that this function just wraps the code we just walked through. sim_null_tea <- function(n_cups){ cups <- sample(rep(c("milk", "tea"), each = n_cups / 2)) guesses <- sample(rep(c("milk", "tea"), each = n_cups / 2)) cup_results <- cups == guesses n_right <- sum(cup_results) return(n_right) } sim_null_tea(n_cups = 8) ## [1] 4 Now, we need to run a lot of simulations, to see what happens on average if she guesses. You can use the replicate function to do that. ## Generic code replicate(n = [number of replications to run], eval = [code to replicate each time]) tea_sims <- replicate(5, sim_null_tea(n_cups = 8)) tea_sims ## [1] 4 4 6 4 2 This call gives a vector with the number of cups she got right for each simulation. You can replicate the simulation many times to get a better idea of what to expect if she just guesses, including what percent of the time she gets all cups right. tea_sims <- replicate(1000, sim_null_tea(n_cups = 8)) mean(tea_sims) ## [1] 4.032 quantile(tea_sims, probs = c(0.025, 0.975)) ## 2.5% 97.5% ## 2 6 mean(tea_sims == 8) ## [1] 0.016 Now we’d like to know, for different numbers of cups of tea, what is the probability that the lady will get all cups right? For this, we can apply the replication code across different values of n_cups: n_cups <- seq(from = 2, to = 14, by = 2) perc_all_right <- sapply(n_cups, FUN = function(n_cups){ cups_right <- replicate(1000, sim_null_tea(n_cups)) out <- mean(cups_right == n_cups) return(out) }) perc_all_right ## [1] 0.472 0.160 0.059 0.011 0.003 0.001 0.000 tea_sims <- data_frame(n_cups, perc_all_right) ggplot(tea_sims, aes(x = n_cups, y = perc_all_right)) + geom_point() + xlab("# of cups tested") + ylab("Probability of getting\\nall cups right if guessing") You can answer this question analytically using the hypergeometric distribution: \\[ P(n_{11} = t) = \\frac{{n_{1+} \\choose t} {n_{2+} \\choose n_{+1}-t}}{{n \\choose n_{+1}}} \\] Guessed milk Guessed tea Total Really milk \\(n_{11}\\) \\(n_{12}\\) \\(n_{1+} = 4\\) Really tea \\(n_{21}\\) \\(n_{22}\\) \\(n_{2+} = 4\\) Total \\(n_{+1} = 4\\) \\(n_{+2} = 4\\) \\(n = 8\\) In R, you can use dhyper to get the density of the hypergeometric function: dhyper(x = [# of cups she guesses have milk first that do], m = [# of cups with milk first], n = [# of cups with tea first], k = [# of cups she guesses have milk first]) Probability she gets three “milk” cups right if she’s just guessing and there are eight cups, four with milk first and four with tea first: dhyper(x = 3, m = 4, n = 4, k = 4) ## [1] 0.2285714 Probability she gets three or more “milk” cups right if she’s just guessing: dhyper(x = 3, m = 4, n = 4, k = 4) + dhyper(x = 4, m = 4, n = 4, k = 4) ## [1] 0.2428571 Other density functions: dnorm: Normal dpois: Poisson dbinom: Binomial dchisq: Chi-squared dt: Student’s t dunif: Uniform You can get the analytical result for each of the number of cups we simulated and compare those values to our simulations: analytical_results <- data_frame(n_cups = seq(2, 14, 2)) %>% mutate(perc_all_right = dhyper(x = n_cups / 2, m = n_cups / 2, n = n_cups / 2, k = n_cups / 2)) ggplot(analytical_results, aes(x = n_cups, y = perc_all_right)) + geom_line(color = "darkgray") + geom_point(data = tea_sims) + xlab("# of cups tested") + ylab("Probability of getting\\nall cups right if guessing") For more on this story (and R.A. Fisher), see: The Lady Tasting Tea: How Statistics Revolutionized Science in the Twentieth Century. David Salsburg. The Design of Experiments. Ronald Fisher. https://priceonomics.com/why-the-father-of-modern-statistics-didnt-believe/ 11.1.2 Playing darts Research question: Is a person skilled at playing darts? Here’s our dart board– the numbers are the number of points you win for a hit in each area. ## ## Attaching package: 'plotrix' ## The following object is masked from 'package:scales': ## ## rescale First, what would we expect to see if the person we test has no skill at playing darts? Questions to consider: What would the dart board look like under the null (say the person throws 20 darts for the experiment)? About what do you think the person’s mean score would be if they had no skill at darts? What are some ways to estimate or calculate the expected mean score under the null? Let’s use R to answer the first question: what would the null look like? First, create some random throws (the square goes from -1 to 1 on both sides): n.throws <- 20 throw.x <- runif(n.throws, min = -1, max = 1) throw.y <- runif(n.throws, min = -1, max = 1) head(cbind(throw.x, throw.y)) ## throw.x throw.y ## [1,] -0.8052732 0.92739299 ## [2,] 0.1605127 -0.65339562 ## [3,] 0.6041225 0.78838430 ## [4,] 0.1468946 0.72066105 ## [5,] 0.7392374 -0.80991631 ## [6,] 0.8906165 -0.08200434 plot(c(-1, 1), c(-1,1), type = "n", asp=1, xlab = "", ylab = "", axes = FALSE) rect( -1, -1, 1, 1) draw.circle( 0, 0, .75, col = "red") draw.circle( 0, 0, .5, col = "white") draw.circle( 0, 0, .25, col = "red") points(throw.x, throw.y, col = "black", pch = 19) Next, let’s tally up the score for this simulation of what would happen under the null. To score each throw, we calculate how far the point is from (0, 0), and then use the following rules: 20 points: \\(0.00 \\le \\sqrt{x^2 + y^2} \\le .25\\) 15 points: \\(0.25 < \\sqrt{x^2 + y^2} \\le .50\\) 10 points: \\(0.50 < \\sqrt{x^2 + y^2} \\le .75\\) 0 points: \\(0.75 < \\sqrt{x^2 + y^2} \\le 1.41\\) Use these rules to “score” each random throw: throw.dist <- sqrt(throw.x^2 + throw.y^2) head(throw.dist) ## [1] 1.2282193 0.6728225 0.9932340 0.7354797 1.0965566 0.8943838 throw.score <- cut(throw.dist, breaks = c(0, .25, .5, .75, 1.5), labels = c("20", "15", "10", "0"), right = FALSE) head(throw.score) ## [1] 0 10 0 10 0 0 ## Levels: 20 15 10 0 Now that we’ve scored each throw, let’s tally up the total: table(throw.score) ## throw.score ## 20 15 10 0 ## 1 3 4 12 mean(as.numeric(as.character(throw.score))) ## [1] 5.25 So, this just showed one example of what might happen under the null. If we had a lot of examples like this (someone with no skill throwing 20 darts), what would we expect the mean scores to be? Questions to consider: How can you figure out the expected value of the mean scores under the null (that the person has no skill)? Do you think that 20 throws will be enough to figure out if a person’s mean score is different from this value, if he or she is pretty good at darts? What steps do you think you could take to figure out the last question? What could you change about the experiment to make it easier to tell if someone’s skilled at darts? How can we figure this out? Theory. Calculate the expected mean value using the expectation formula. Simulation. Simulate a lot of examples using R and calculate the mean of the mean score from these. The expected value of the mean, \\(E[\\bar{X}]\\), is the expected value of \\(X\\), \\(E[X]\\). To calculate the expected value of \\(X\\), use the formula: \\[ E[X] = \\sum_x xp(x) \\] \\[ E[X] = 20 * p(X = 20) + 15 * p(X = 15) + 10 * p(X = 10) + 0 * p(X = 0) \\] So we just need to figure out \\(p(X = x)\\) for \\(x = 20, 15, 10\\). (In all cases, we’re dividing by 4 because that’s the area of the full square, \\(2^2\\).) \\(p(X = 20)\\): Proportional to area of the smallest circle, \\((\\pi * 0.25^2) / 4 = 0.049\\) \\(p(X = 15)\\): Proportional to area of the middle circle minus area of the smallest circle, \\(\\pi(0.50^2 - 0.25^2) / 4 = 0.147\\) \\(p(X = 10)\\): Proportional to area of the largest circle minus area of the middle circle, \\(\\pi(0.75^2 - 0.50^2) / 4 = 0.245\\) \\(p(X = 0)\\): Proportional to area of the square minus area of the largest circle, \\((2^2 - \\pi * 0.75^2) / 4 = 0.558\\) As a double check, if we’ve done this right, the probabilities should sum to 1: \\[0.049 + 0.147 + 0.245 + 0.558 = 0.999\\] \\[ E[X] = \\sum_x xp(x)\\] \\[ E[X] = 20 * 0.049 + 15 * 0.147 + 10 * 0.245 + 0 * 0.558\\] \\[ E[X] = 5.635 \\] Remember, this also gives us \\(E[\\bar{X}]\\). Now it’s pretty easy to also calculate \\(var(X)\\) and \\(var(\\bar{X})\\): \\[ Var(X) = E[(X - \\mu)^2] = E[X^2] - E[X]^2 \\] \\[ E[X^2] = 20^2 * 0.049 + 15^2 * 0.147 + 10^2 * 0.245 + 0^2 * 0.558 = 77.18 \\] \\[ Var(X) = 77.175 - (5.635)^2 = 45.42 \\] \\[ Var(\\bar X) = \\sigma^2 / n = 45.42 / 20 = 2.27 \\] Note that we can use the Central Limit Theorem to calculate a 95% confidence interval for the mean score when someone with no skill (null hypothesis) throws 20 darts: 5.635 + c(-1, 1) * qnorm(.975) * sqrt(2.27) ## [1] 2.682017 8.587983 We can check our math by running simulations– we should get the same values of \\(E[\\bar{X}]\\) and \\(Var(\\bar{X})\\) (which we can calculate directly from the simulations using R). n.throws <- 20 n.sims <- 10000 x.throws <- matrix(runif(n.throws * n.sims, -1, 1), ncol = n.throws, nrow = n.sims) y.throws <- matrix(runif(n.throws * n.sims, -1, 1), ncol = n.throws, nrow = n.sims) dist.throws <- sqrt(x.throws^2 + y.throws^2) score.throws <- apply(dist.throws, 2, cut, breaks = c(0, .25, .5, .75, 1.5), labels = c("20", "15", "10", "0"), right = FALSE) dist.throws[1:3,1:5] ## [,1] [,2] [,3] [,4] [,5] ## [1,] 0.2585980 0.8142874 0.7331105 0.8520100 1.0150373 ## [2,] 0.7688349 0.9866912 0.7243072 0.9847740 0.6136104 ## [3,] 0.7012106 1.3494817 1.2311464 0.9279908 0.7348940 score.throws[1:3,1:5] ## [,1] [,2] [,3] [,4] [,5] ## [1,] "15" "0" "10" "0" "0" ## [2,] "0" "0" "10" "0" "10" ## [3,] "10" "0" "0" "0" "10" mean.scores <- apply(score.throws, MARGIN = 1, function(x){ out <- mean(as.numeric( as.character(x))) return(out) }) head(mean.scores) ## [1] 6.25 3.25 3.75 5.25 7.50 5.00 Let’s check the simulated mean and variance against the theoretical values: mean(mean.scores) ## Theoretical: 5.635 ## [1] 5.647675 var(mean.scores) ## Theoretical: 2.27 ## [1] 2.302904 11.1.3 Simulations in research Simulations in the wild (just a few examples): The Manhattan Project US Coast Guard search and rescue Infectious disease modeling 11.2 Other computationally-intensive approaches 11.2.1 Bootstrap and friends Bootstraping: Sample the dataset with replacement and reestimate the statistical parameter(s) each time. Jackknifing: Rake out one observation at a time and reestimate the statistical parameter(s) with the rest of the data. Permutation tests: See how unusual the result from the data is compared to if you shuffle your data (and so remove any relationship in observed data between variables). Cross-validation: See how well your model performs if you pick a subset of the data, build the model just on that subset, and then test how well it predicts for the rest of the data, and repeat that many times. 11.2.2 Bayesian analysis Suggested books for learning more about Bayesian analysis in R: Doing Bayesian Data Analysis, Second Edition: A Tutorial with R, JAGS, and Stan. John Kruschke. Statistical Rethinking: A Bayesian Course with Examples in R and Stan. Richard McElreath. Bayesian Data Analysis, Third Edition. Andrew Gelman et al. R can tap into software for Bayesian analysis: BUGS JAGS STAN 11.2.3 Ensemble models and friends Bagging: Sample data with replacement and build a tree model. Repeat many times. To predict, predict from all models and take the majority vote. Random forest: Same as bagging, for picking each node of a tree, only consider a random subset of variables. Boosting: Same as bagging, but “learn” from previous models as you build new models. Stacked models: Build many different models (e.g., generalized linear regression, Naive Bayes, k-nearest neighbors, random forest, …), determine weights for each, and predict using weighted predictions combined from all models. For more on these and other machine learning topics, see: An Introduction to Statistical Learning. Gareth James, Robert Tibshirani, and Trevor Hastie. The caret package: http://topepo.github.io/caret/index.html For many examples of predictive models like this built with R (and Python): https://www.kaggle.com "], -["reporting-data-results-3.html", "Chapter 12 Reporting data results #3 12.1 Shiny web apps 12.2 htmlWidgets", " Chapter 12 Reporting data results #3 Download a pdf of the lecture slides covering this topic. Slides for the second half of these week are available to download in an HTML format. Save this file as HTML, and then you should be able to open the file in a web browser to see the presentation. 12.1 Shiny web apps 12.1.1 Resources for learning Shiny There is an excellent tutorial to get you started here at RStudio. There are also several great sites that show you both Shiny examples and their code, here and here. Many of the examples and ideas in the course notes this week come directly or are adapted from RStudio’s Shiny tutorial. To start, Shiny has several example apps that you can try out. These are all available through your R session once you install the Shiny package. You can make them available to your R session using the command system.file(): install.packages("shiny") library(shiny) system.file("examples", package = "shiny") 12.1.2 Basics of Shiny apps Once you have Shiny installed, you can run the examples using the runExample() command. For example, to run the first example, you would run: runExample("01_hello") This is a histogram that lets you adjust the number of bins using a slider bar. Other examples are: 02_text, 03_reactivity, 04_mpg, 05_sliders, 06_tabsets, 07_widgets, 08_html, 09_upload, 10_download, and 11_timer. When you run any of these, a window will come up in your R session that shows the Shiny App, and your R session will pay attention to commands it gets from that application until you close the window. Notice that if you scroll down, you’ll be able to see the code that’s running behind the application: Generally, each application takes two files: (1) a user interface file and (2) a server file. You can kind of think of the two elements of an R shiny app, the user interface and the server, as two parts of a restaurant. The user interface is the dining area. This is the only place the customer every sees. It’s where the customer makes his order, and it’s also where the final product comes out for him to consume. The server is the kitchen. It takes the order, does all the stuff to make it happen, and then sends out the final product back to the dining area. At its heart, an R shiny app is just a directory on your computer or a server with these two files (as well as any necessary data files) in it. For example, here’s a visual of an App I wrote to go with a paper: This has the heart of the application (server.R and ui.R) plus a couple of R helper files and subdirectories with some figures and data that I’m using in the that application. If I open either of the main files in RStudio, I can run the application locally using a button at the top of the file called “Run App”. Once I have the App running, if I have an account for the Shiny server, I can choose to “Publish” the application to the Shiny server, and then anyone can access and use it online (this service is free up to a certain number of visitors per time– unless you make something that is very popular, you should be well within the free limit). 12.1.3 server.R file The server file will be named server.R. This file tells R what code to run with the inputs it gets from a user making certain selections. For example, for the histogram example, this file tells R how to re-draw a histogram of the data with the number of bins that the user specified on the slider on the application. Once you get through all the code for what to do, this file also will have code telling R what to send back to the application for the user to see (in this case, a picture of a histogram made with the specified number of bars). Here is the code in the server.R file for the histogram example: library(shiny) # Define server logic required to draw a histogram shinyServer(function(input, output) { # Expression that generates a histogram. The expression is # wrapped in a call to renderPlot to indicate that: # # 1) It is "reactive" and therefore should be automatically # re-executed when inputs change # 2) Its output type is a plot output$distPlot <- renderPlot({ x <- faithful[, 2] # Old Faithful Geyser data bins <- seq(min(x), max(x), length.out = input$bins + 1) # draw the histogram with the specified number of bins hist(x, breaks = bins, col = 'darkgray', border = 'white') }) }) Notice that some of the “interior” code here looks very familiar and should remind you of code we’ve been learning about this class. For example, this file has within it some code to figure out the breaks for histogram bins, based on how many total bins you want, and draw a histogram with those bin breaks: x <- faithful[, 2] # Old Faithful Geyser data bins <- seq(min(x), max(x), length.out = input$bins + 1) # draw the histogram with the specified number of bins hist(x, breaks = bins, col = 'darkgray', border = 'white') This code is then “wrapped” in two other functions. First, this code is generating a plot that will be posted to the application, so it’s wrapped in a renderPlot function to send that plot as output back to the application: output$distPlot <- renderPlot({ x <- faithful[, 2] # Old Faithful Geyser data bins <- seq(min(x), max(x), length.out = input$bins + 1) # draw the histogram with the specified number of bins hist(x, breaks = bins, col = 'darkgray', border = 'white') }) Notice that this code is putting the results of renderPlot into a slot of the object output named distPlot. We could have used any name we wanted to here, not just distPlot, for the name of the slot where we’re putting this plot, but it is important to put everything into an object called output. Now that we’ve rendered the plot and put it in that slot of the output object, we’ll be able to refer to it by its name in the user interface file, when we want to draw it somewhere there. All of this is wrapped up in another wrapper: # Define server logic required to draw a histogram shinyServer(function(input, output) { # Expression that generates a histogram. The expression is # wrapped in a call to renderPlot to indicate that: # # 1) It is "reactive" and therefore should be automatically # re-executed when inputs change # 2) Its output type is a plot output$distPlot <- renderPlot({ x <- faithful[, 2] # Old Faithful Geyser data bins <- seq(min(x), max(x), length.out = input$bins + 1) # draw the histogram with the specified number of bins hist(x, breaks = bins, col = 'darkgray', border = 'white') }) }) The server.R file also has a line to load the shiny package. You should think of apps as being like Rmd files– if there are any packages or datasets that you need to use in the code in that file, you need to load it within the file, because R won’t check in your current R session to find it when it runs the file. 12.1.4 ui.R file The other file that a Shiny app needs is the user interface file (ui.R). This is the file that describes how the application should look. It will write all the buttons and sliders and all that you want for the application interface. This is also where you specify what you want to go where and put in any text that you want to show up. For example, here is the ui.R file for the histogram example: library(shiny) # Define UI for application that draws a histogram shinyUI(fluidPage( # Application title titlePanel("Hello Shiny!"), # Sidebar with a slider input for the number of bins sidebarLayout( sidebarPanel( sliderInput("bins", "Number of bins:", min = 1, max = 50, value = 30) ), # Show a plot of the generated distribution mainPanel( plotOutput("distPlot") ) ) )) There are a few things to notice with this code. First, there is some code that tells the application to show the results from the server.R code. For example, the following code tells R to show the histogram that we put into the output object in the distPlot slot and to put that graph in the main panel of the application: mainPanel( plotOutput("distPlot") ) Other parts of the ui.R code will tell the application what kinds of choice boxes and sliders to have on the application, and what default value to set each to. For example, the following code tells the application that it should have a slider bar that can take a minimum value of 1 and a maximum value of 50. When you first open the application, its default value should be 30. It should be annotated with the text “Number of bins:”. Whatever value is selected should be saved to the bins slot of the input object (just like we’re using the output object to get things out of the server and printed to the application, we’re using the input object to get things that the user chooses from the application interface to the server where we can run R code). sliderInput("bins", "Number of bins:", min = 1, max = 50, value = 30) 12.1.5 Making a Shiny app The first step in making a Shiny app is to make a new directory somewhere and to create R scripts for that directory called server.R and ui.R. You can just make these two files the normal way– within RStudio, do “New File”, “R Script”, and then just save them with the correct names to the directory you created for the App. Once you save a file as ui.R, notice that you’ll have a button in the top right of the file called “Run App”. When you’re ready to run your application, you can either use this button or use the command runApp. 12.1.6 Starting with the ui.R file Next, you’ll need to put code in these files. I would suggest starting with the ui.R files. This file is where you get to set up how the application looks and how people will be able to interact with it. That means that this is a good place to start because it’s both quickly fulfilling (I made something pretty!) and also because you need to have an idea of what inputs and outputs you need before you can effectively make the server file to tell R what to do. In truth, though, you’ll be going back and forth quite a bit between these two files as you edit your application. In the ui.R file, everything needs to be wrapped in a shinyUI() function, and then most things will be wrapped in other functions within that to set up different panels. For example, here’s a very basic ui.R file (adapted directly from the RStudio tutorial) that shows a very basic set up for a user interface: shinyUI(fluidPage( titlePanel("Tweets during Paris Attack"), sidebarLayout( sidebarPanel("Select hashtag to display"), mainPanel("Map of tweets") ) )) Notice that everything that I want to go in certain panels of the page are wrapped in functions like sidebarPanel and mainPanel and titlePanel. Everything in this file will be divided up by the place you want it to go in the final version. As a note, the sidebar layout (a sidebar on one side and one main panel) is the simplest possible Shiny layout. You can do fancier layouts if you want by using different functions like fluidRow() and navBarPage(). RStudio has a layout help page with very detailed instructions and examples to help you figure out how to do other layouts. If I run this ui.R, even if my server.R file only includes the line shinyServer(function(input, output) { }), I’ll get the following version application: This doesn’t have anything interactive on it, and it isn’t using R at all, but it shows the basics of how the syntax of the ui.R file works. As a note, I don’t have all of the functions for this, like fluidPage and titlePanel memorized. When I’m working on this file, I’ll either look to example code from other Shiny apps of look at RStudio’s help for Shiny applications until I can figure out what syntax to use to do what I want to do. 12.1.7 Adding in widgets Next, I’ll add in some cool things that will let the user interact with the application. In this case, I’d like to have a slider bar so people can chose the range of time for the tweets that are shown. I’d also like to have a selection box so that users can look at maps of specific hashtags or terms. To add these on (they won’t be functional, yet, but they’ll be there!), I can edit the ui.R script to the following: shinyUI(fluidPage( titlePanel("Tweets during Paris Attack"), sidebarLayout(position = "right", sidebarPanel("Choose what to display", sliderInput(inputId = "time_range", label = "Select the time range: ", value = c(as.POSIXct("2015-11-13 00:00:00", tz = "CET"), as.POSIXct("2015-11-14 12:00:00", tz = "CET")), min = as.POSIXct("2015-11-13 00:00:00", tz = "CET"), max = as.POSIXct("2015-11-14 12:00:00", tz = "CET"), step = 60, timeFormat = "%dth %H:%M", timezone = "+0100")), mainPanel("Map of tweets") ) )) The important part of this is the new sliderInput call, which sets up a slider bar that users can use to specify certain time ranges to look at. Here is what the interface of the app looks like now: If I open this application, I can move the slider bar around, but I it isn’t actually sending any information to R yet. The heart of this new addition to the ui.R file is this: sliderInput(inputId = "time_range", label = "Select the time range: ", value = c(as.POSIXct("2015-11-13 00:00:00", tz = "CET"), as.POSIXct("2015-11-14 12:00:00", tz = "CET")), min = as.POSIXct("2015-11-13 00:00:00", tz = "CET"), max = as.POSIXct("2015-11-14 12:00:00", tz = "CET"), step = 60, timeFormat = "%dth %H:%M", timezone = "+0100") This is all within the function sliderInput and is all being used to set up the slider bar. \"time_range\" is the name I’m giving the input I get from this. Later, when I write my server code, I’ll be able to pull the values that the user suggested from the time_range slot of the input object. The next thing is the label. This is what I want R to print right before it gives the slider bar. The value object says which values I want to be the defaults on the slider. This is where the slider positions will be when someone initially opens the application. min and max give the highest and lowest values that will show up on the slider bar. For this application, I’m calling them as POSIXct objects because I want to do this for times rather than numbers. step says how big of an increment I want the slider to advance by when someone is pulling it. If the values of the slider are times, then the default unit for this is seconds, so I’m saying to have a step size of one minute. The timeFormat says how I want the time to print out at the interface and the timezone says what time zone I want time values to display in. Things like this slider bar are called “Control Widgets”, and there’s a whole list of them in the third lesson of RStudio’s Shiny tutorial. There are also examples online in the Shiny Gallery. 12.1.8 Creating output in server.R Next, I’ll put some R code in the server.R file to create a figure and pass it through to the ui.R file to print out to the application interface. At first, I won’t make this figure “reactive”; that is, it won’t change at all when the user changes the slider bar. However, I will eventually add in that reactivity so that the plot changes everytime a user changes the slider bar. I am going to create a map of all the Tweets that included certain hashtags or phrases and that were Tweeted (and geolocated) from within a five-mile radius of the center of Paris during the attacks last Friday. For this, I’m going to use data on Tweets I pulled using the TwitteR package, which syncs up with Twitter’s API. Here’s an example of what the data looks like (I’ve cleared out some of the extra columns I won’t use): paris_twitter <- read.csv("data/App-1/data/final_tweets.csv", as.is = TRUE) %>% mutate(tag = factor(tag), created = ymd_hms(created, tz = "Europe/Paris"), text = iconv(text, to='ASCII//TRANSLIT')) paris_twitter[1:2, ] ## text ## 1 RT @forza_will2006: My heart aches for the people of France. #PorteOuverte #PrayForParis #DownWithTerrorism #Pompidou... https://t.co/KwtNPsQ... ## 2 Ensemble contre la haine #jesuisparis #porteouverte #paris @ Place de la Republique https://t.co/TZykpVJHwd ## created longitude latitude tag ## 1 2015-11-15 01:27:56 NA NA #PorteOuverte ## 2 2015-11-14 22:19:47 2.364184 48.86747 #PorteOuverte About an equal number of these have and don’t have location data: table(!is.na(paris_twitter$longitude)) ## ## FALSE TRUE ## 10478 10683 Here is a table of the number of tweets under the five most-tweeted tags: head(paris_twitter) ## text ## 1 RT @forza_will2006: My heart aches for the people of France. #PorteOuverte #PrayForParis #DownWithTerrorism #Pompidou... https://t.co/KwtNPsQ... ## 2 Ensemble contre la haine #jesuisparis #porteouverte #paris @ Place de la Republique https://t.co/TZykpVJHwd ## 3 Libert'e, 'egalit'e, fraternit'e #Par'is #TodosSomosPar'is #JeSuisParis #PorteOuverte #peace #paix #paz... https://t.co/AjYVrmCCnL ## 4 Stay With My French #prayforparis #parisattacks #porteouverte #france #riphumanity #liberte #egalit'e... https://t.co/9DH5diHmyz ## 5 <NA> ## 6 RT @bodoi_music: J'ai peur je cherche un abri #porteouverte https://t.co/1DIr4VLOEa ## created longitude latitude tag ## 1 2015-11-15 01:27:56 NA NA #PorteOuverte ## 2 2015-11-14 22:19:47 2.364184 48.86747 #PorteOuverte ## 3 2015-11-14 21:36:06 2.350800 48.85670 #PorteOuverte ## 4 2015-11-14 21:00:49 2.350800 48.85670 #PorteOuverte ## 5 2015-11-14 20:11:01 2.350800 48.85670 #PorteOuverte ## 6 2015-11-14 19:52:43 NA NA #PorteOuverte tweet_sum <- paris_twitter %>% dplyr::group_by_(~ tag) %>% dplyr::summarize_(n = ~ n(), example = ~ gsub("[[:punct:]]", " ", base::sample(text, 1))) %>% dplyr::arrange_(~ dplyr::desc(n)) ## Warning: `group_by_()` is deprecated as of dplyr 0.7.0. ## Please use `group_by()` instead. ## See vignette('programming') for more help ## This warning is displayed once every 8 hours. ## Call `lifecycle::last_warnings()` to see where this warning was generated. ## Warning: `summarise_()` is deprecated as of dplyr 0.7.0. ## Please use `summarise()` instead. ## This warning is displayed once every 8 hours. ## Call `lifecycle::last_warnings()` to see where this warning was generated. knitr::kable(tweet_sum[1:5, ], col.names = c("Tag", "# of Tweets", "Example Tweet")) Tag # of Tweets Example Tweet #Paris 7502 RT taimaz Situation tr es tendue devant le Bataclan les curieux d egag es manu militari afp 13novembre Paris https t co 6ElhABjw4L #PrayForParis 7250 NA #13novembre 1255 RT taimaz Le m etro Oberkampf neutralis e paris 13novembre AFP https t co I0SNKsKIOs #PorteOuverte 1147 13Ekim2015 Fransa france paris PorteOuverte kapi acik World D unya Biz M usl umanlara https t co VqhIDWl32R | |#fusillade | 765|NA | For the Tweets that are geolocated, it’s possible to map the tweet locations using the following code: paris_map <- get_map("paris", zoom = 12, color = "bw") paris_locations <- c("Stade de France", "18 Rue Alibert", "50 Boulevard Voltaire", "92 Rue de Charonne", "Place de la Republique") paris_locations <- paste(paris_locations, "paris france") paris_locations <- cbind(paris_locations, geocode(paris_locations)) # Plot contour map of tweet locations plot_map <- function(tag = "all", df = paris_twitter){ library(ggmap) library(dplyr) df <- dplyr::select(df, tag, latitude, longitude) %>% filter(!is.na(longitude)) %>% mutate(tag = as.character(tag)) if(tag != "all"){ if(!(tag %in% df$tag)){ stop(paste("That tag is not in the data. Try one of the following tags instead: ", paste(unique(df$tag), collapse = ", "))) } to_plot <- df[df$tag == tag, ] } else { to_plot <- df } hotel_de_ville <- to_plot$latitude == 48.85670 & to_plot$longitude == 2.350800 n_hotel_de_ville <- sum(hotel_de_ville) if(n_hotel_de_ville == max(table(to_plot$latitude))){ hdv_index <- sample((1:nrow(to_plot))[hotel_de_ville], round(n_hotel_de_ville / 2)) to_plot <- to_plot[-hdv_index, ] } my_map <- ggmap(paris_map, extent = "device") + geom_point(data = to_plot, aes(x = longitude, y = latitude), color = "darkgreen", alpha = 0.75) + geom_density2d(data = to_plot, aes(x = longitude, latitude), size = 0.3) + stat_density2d(data = to_plot, aes(x = longitude, y = latitude, fill = ..level.., alpha = ..level..), size = 0.01, bins = round(nrow(to_plot) / 3.3), geom = "polygon") + scale_fill_gradient(low = "green", high = "yellow", guide = FALSE) + scale_alpha(guide = FALSE) + geom_point(data = paris_locations, aes(x = lon, y = lat), color = "red", size = 5, alpha = 0.75) return(my_map) } To print this out in the application, I’ll put all the code for the mapping function in a file called helper.R, source this file in the server.R file, and then I can just call the function within the server file. The application will look as follows after this step: To complete this, I first changed the server.R file to look like this: library(dplyr) library(lubridate) source("helper.R") paris_twitter <- read.csv("data/final_tweets.csv", as.is = TRUE) %>% mutate(tag = factor(tag), created = ymd_hms(created, tz = "Europe/Paris")) shinyServer(function(input, output) { output$twitter_map <- renderPlot({ plot_map() }) }) Notice a few things here: I’m loading the packages I’ll need for the code. I’m running all the code in the helper.R file (which includes the function I created to plot this map) using the source() command. I put the code to plot the map (plot_map()) inside the renderPlot({}) function. I’m putting the plot in a twitter_map slot of the output object. All of this is going inside the call shinyServer(function(input, output){ }). One other change is necessary to get the map to print on the app. I need to add code to the ui.R file to tell R where to plot this map on the final interface. The full file now looks like this: shinyUI(fluidPage( titlePanel("Tweets during Paris Attack"), sidebarLayout(position = "right", sidebarPanel("Choose what to display", sliderInput(inputId = "time_range", label = "Select the time range: ", value = c(as.POSIXct("2015-11-13 00:00:00", tz = "CET"), as.POSIXct("2015-11-15 06:00:00", tz = "CET")), min = as.POSIXct("2015-11-13 00:00:00", tz = "CET"), max = as.POSIXct("2015-11-14 12:00:00", tz = "CET"), step = 60, timeFormat = "%dth %H:%M", timezone = "+0100")), mainPanel("Map of tweets", plotOutput("twitter_map")) ) )) The new part is where I’ve added the code: mainPanel("Map of tweets", plotOutput("twitter_map")) This tells R to put the plot output twitter_map from the output object in the main panel of the Shiny app. 12.1.9 Making the output reactive Now almost all of the pieces are in place to make this graphic reactive. First, I added some options to the function in helper.R to let it input time ranges and only plot the tweets within that range. Next, I need to use the values that the user selects from the slider in the call for plotting the map. To do this, I can use the values passed from the slider bar in the input object into the code in the server.R file. Here is the new code for the server.R file: library(ggmap) library(ggplot2) library(dplyr) library(lubridate) source("helper.R") paris_twitter <- read.csv("data/final_tweets.csv", as.is = TRUE) %>% mutate(tag = factor(tag)) paris_twitter$created <- as.POSIXct(paris_twitter$created, tz = "CET") shinyServer(function(input, output) { output$twitter_map <- renderPlot({ plot_map(start.time = input$time_range[1], end.time = input$time_range[2]) }) }) The only addition from before is to use the start.time and end.time options in the plot_map function and to set them to the first, [1], and second, [2], values in the time_range slot of the input object. Remember that we chose to label the input from the slider bar time_range when we set up the ui.R file. This app is saved in the directory App-1 in this week’s directory if you’d like to play around with the code. I’ve deployed it on shinyapps here. 12.1.10 Fancier version I’ve also created a (much) fancier version of a Shiny App looking at this Twitter data that you can check out here. All the code for that is here. 12.2 htmlWidgets 12.2.1 Overview of htmlWidgets Very smart people have been working on creating interactive graphics in R for a long time. So far, nothing coded in R has taken off in a big way. JavaScript has developed a number of interactive graphics libraries that can be for documents viewed in a web browser. There is now a series of R packages that allow you to create plots from these JavaScript libraries from within R. There is a website with much more on these htmlWidgets at http://www.htmlwidgets.org. Some of the packages availabe to help you create interactive graphics from R using JavaScript graphics libraries: leaflet: Mapping (we’ll cover this next week) dygraphs: Time series plotly: A variety of plots, including maps rbokeh: A variety of plots, including maps networkD3: Network data d3heatmap: Heatmaps DT: Data tables DiagrammeR: Diagrams and flowcharts These packages can be used to make some pretty cool interactive visualizations for HTML output from R Markdown or Shiny (you can also render any of theme in RStudio). There are, however, a few limitations: Written by different people. The different packages have different styles as well as different interfaces. Learning how to use one package may not help you much with other of these packages. Many are still in development, often in early development. 12.2.2 plotly package From the package documentation: “Easily translate ggplot2 graphs to an interactive web-based version and / or create custom web-based visualizations directly from R.” Like many of the packages today, draws on functionality external to R, but within a package that allows you to work exclusively within R. Allows you to create interactive graphs from R. Some of the functions extend the ggplot2 code you’ve learned. Interactivity will only work within RStudio or on documents rendered to HTML. The plotly package allows an interface to let you work with plotly.js code directly using R code. plotly.js is an open source library for creating interactive graphs in JavaScript. This JavaScript library is built on d3.js (Data-Driven Documents), which is a key driver in interactive web-based data graphics today. There are two main ways of create plots within plotly: Use one of the functions to create a customized interactive graphic: plot_ly: Workhorse of plotly, renders most non-map types of graphs plot_geo, plot_mapbax: Specific functions for creating plotly maps. Create a ggplot object and then convert it to a plotly object using the ggplotly function. library(faraway) data(worldcup) library(plotly) plot_ly(worldcup, type = "scatter", x = ~ Time, y = ~ Shots) Just like with ggplot2, the mappings you need depend on the type of plot you are creating. For example, scatterplots (type = \"scatter\") need x and y defined, while a surface plot (type = \"surface\") can be created with a single vector of elevation (we’ll see an example in a few slides). The help file for plot_ly includes a link with more documentation on the types of plots that can be made and the required mappings for each. plot_ly(worldcup, type = "scatter", x = ~ Time, y = ~ Shots, color = ~ Position) The plotly package is designed so you can pipe data into plot_ly and add elements by piping into add_* functions (this idea is similar to adding elements to a ggplot object with +). worldcup %>% plot_ly(x = ~ Time, y = ~ Shots, color = ~ Position) %>% add_markers() Some of the add_* functions include: add_markers add_lines add_paths add_polygons add_segments add_histogram If you pipe to the rangeslider function, it allows the viewer to zoom in on part of the x range. (This can be particularly nice for time series.) You should have a dataset available through your R session named USAccDeaths. This gives a montly county of accidental deaths in the US for 1973 to 1978. This code will plot it and add a range slider on the lower x-axis. plot_ly(x = time(USAccDeaths), y = USAccDeaths) %>% add_lines() %>% rangeslider() For a 3-D scatterplot, add a mapping to the z variable: worldcup %>% plot_ly(x = ~ Time, y = ~ Shots, z = ~ Passes, color = ~ Position, size = I(3)) %>% add_markers() The volcano data comes with R and is in a matrix format. Each value gives the elevation for a particular pair of x- and y-coordinates. dim(volcano) ## [1] 87 61 volcano[1:4, 1:4] ## [,1] [,2] [,3] [,4] ## [1,] 100 100 101 101 ## [2,] 101 101 102 102 ## [3,] 102 102 103 103 ## [4,] 103 103 104 104 plot_ly(z = ~ volcano, type = "surface") Mapping with plotly can build on some data that comes with base R or other packages you’ve likely added (or can add easily, as with the map_data function from ggplot2). For example, we can map state capitals and cities with > 40,000 people using data in the us.cities dataframe in the maps package: head(maps::us.cities, 3) ## name country.etc pop lat long capital ## 1 Abilene TX TX 113888 32.45 -99.74 0 ## 2 Akron OH OH 206634 41.08 -81.52 0 ## 3 Alameda CA CA 70069 37.77 -122.26 0 Here is code you can use to map all of these cities on a US map: ggplot2::map_data("world", "usa") %>% group_by(group) %>% filter(-125 < long & long < -60 & 25 < lat & lat < 52) %>% plot_ly(x = ~long, y = ~lat) %>% add_polygons(hoverinfo = "none") %>% add_markers(text = ~paste(name, "<br />", pop), hoverinfo = "text", alpha = 0.25, data = filter(maps::us.cities, -125 < long & long < -60 & 25 < lat & lat < 52)) %>% layout(showlegend = FALSE) You can also make choropleths interactive. Remember that we earlier created a choropleth of US state populations with the following code: library(choroplethr) data(df_pop_state) state_choropleth(df_pop_state) You can use the following code with plotly to make an interactive choropleth instead: us_map <- list(scope = 'usa', projection = list(type = 'albers usa'), lakecolor = toRGB('white')) plot_geo() %>% add_trace(z = df_pop_state$value[df_pop_state$region != "district of columbia"], text = state.name, locations = state.abb, locationmode = 'USA-states') %>% add_markers(x = state.center[["x"]], y = state.center[["y"]], size = I(2), symbol = I(8), color = I("white"), hoverinfo = "none") %>% layout(geo = us_map) The other way to create a plotly graph is to first create a ggplot object and then transform it into an interactive graphic using the ggplotly function. The following code can be used to plot Time versus Shots for the World Cup date in a regular, non-interactive plot: shots_vs_time <- worldcup %>% mutate(Name = rownames(worldcup)) %>% filter(Team %in% c("Netherlands", "Germany", "Spain", "Uruguay")) %>% ggplot(aes(x = Time, y = Shots, color = Position, group = Name)) + geom_point() + facet_wrap(~ Team) shots_vs_time To make the plot interactive, just pass the ggplot object to ggplotly: ggplotly(shots_vs_time) With R, not only can you pull things from another website using an API, you can also upload or submit things. There is a function in the plotly library, plotly_POST, that lets you post a plot you create in R to https://plot.ly. You need a plot.ly account to do that, but there are free accounts available. The creator of the R plotly package has written a bookdown book on the package that you can read here. It provides extensive details and examples for using plotly. Getting Started with D3 by Mike Dewar (a short book on D3 in JavaScript) is available for free here. 12.2.3 rbokeh package The rbokeh package provides an R interface to a Python interactive visualization library, Bokeh. There is a website with many more details on using the rbokeh package: https://hafen.github.io/rbokeh/ You can find out more about the original Python library, Bokeh, at http://bokeh.pydata.org/en/latest/. Here is an example of an interactive scatterplot of the World Cup data made with the rbokeh package: library(rbokeh) ## Registered S3 method overwritten by 'pryr': ## method from ## print.bytes Rcpp figure(width = 600, height = 300) %>% ly_points(Time, Shots, data = worldcup, color = Position, hover = list(Time, Shots)) This package can also be used to create interactive maps. For example, the following dataset has data on Oregon climate stations, including locations: orstationc <- read.csv("data/orstationc.csv") head(orstationc, 3) ## station lat lon elev tjan tjul tann pjan pjul pann idnum ## 1 ANT 44.917 -120.717 846 0.0 20.2 9.6 41 9 322 350197 ## 2 ARL 45.717 -120.200 96 0.9 24.6 12.5 40 6 228 350265 ## 3 ASH 42.217 -122.717 543 3.1 20.8 11.1 70 7 480 350304 ## Name ## 1 ANTELOPE 1 N USA-OR ## 2 ARLINGTON USA-OR ## 3 ASHLAND 1 N USA-OR You can use the following code to create an interactive map of these climate stations: gmap(lat = 44.1, lng = -120.767, zoom = 5, width = 500, height = 428) %>% ly_points(lon, lat, data = orstationc, alpha = 0.8, col = "red", hover = c(station, Name, elev, tann)) You can get very creative with this package. The following code comes directly from the help documentation for the package and shows how to use this to create an interactive version of the periodic table: # prepare data elements <- subset(elements, !is.na(group)) elements$group <- as.character(elements$group) elements$period <- as.character(elements$period) # add colors for groups metals <- c("alkali metal", "alkaline earth metal", "halogen", "metal", "metalloid", "noble gas", "nonmetal", "transition metal") colors <- c("#a6cee3", "#1f78b4", "#fdbf6f", "#b2df8a", "#33a02c", "#bbbb88", "#baa2a6", "#e08e79") elements$color <- colors[match(elements$metal, metals)] elements$type <- elements$metal # make coordinates for labels elements$symx <- paste(elements$group, ":0.1", sep = "") elements$numbery <- paste(elements$period, ":0.8", sep = "") elements$massy <- paste(elements$period, ":0.15", sep = "") elements$namey <- paste(elements$period, ":0.3", sep = "") # create figure p <- figure(title = "Periodic Table", tools = c("resize", "hover"), ylim = as.character(c(7:1)), xlim = as.character(1:18), xgrid = FALSE, ygrid = FALSE, xlab = "", ylab = "", height = 445, width = 800) %>% # plot rectangles ly_crect(group, period, data = elements, 0.9, 0.9, fill_color = color, line_color = color, fill_alpha = 0.6, hover = list(name, atomic.number, type, atomic.mass, electronic.configuration)) %>% # add symbol text ly_text(symx, period, text = symbol, data = elements, font_style = "bold", font_size = "10pt", align = "left", baseline = "middle") %>% # add atomic number text ly_text(symx, numbery, text = atomic.number, data = elements, font_size = "6pt", align = "left", baseline = "middle") %>% # add name text ly_text(symx, namey, text = name, data = elements, font_size = "4pt", align = "left", baseline = "middle") %>% # add atomic mass text ly_text(symx, massy, text = atomic.mass, data = elements, font_size = "4pt", align = "left", baseline = "middle") p 12.2.4 dygraphs package The dygraphs package lets you create interactive time series plots from R using the dygraphs JavaScript library. The main function syntax is fairly straightforward. Like many of these packages, it allows piping. There is a website with more information on using dygraphs available at http://rstudio.github.io/dygraphs/index.html. For example, here is the code to plot monthly deaths from lung diseases in the UK in the 1970s. library(dygraphs) lungDeaths <- cbind(mdeaths, fdeaths) dygraph(lungDeaths) %>% dySeries("mdeaths", label = "Male") %>% dySeries("fdeaths", label = "Female") 12.2.5 DT package The DT package provides a way to create interactive tables in R using the JavaScript DataTables library. We’ve already seen some examples of this output in some of the Shiny apps I showed last week. You can also use this package to include interactive tables in R Markdown documents you plan to render to HTML. There is a website with more information on this package at http://rstudio.github.io/DT/. library(DT) datatable(worldcup) 12.2.6 Creating your own widget If you find a JavaScript visualization library and would like to create bindings to R, you can create your own package for a new htmlWidget. There is advice on creating your own widget for R available at http://www.htmlwidgets.org/develop_intro.html. "], -["reproducible-research-3.html", "Chapter 13 Reproducible research #3 13.1 Overview of R packages 13.2 Basic example package: weathermetrics 13.3 Elements of an R package 13.4 Creating an R package", " Chapter 13 Reproducible research #3 Download a pdf of the lecture slides covering this topic. 13.1 Overview of R packages 13.1.1 What is an R package? From Writing R Extensions: “A directory of files which extend R”. Files bundled together using tar and compressed using gzip. The file extension is .tar.gz. These are the source files for the package, which then must be installed from this source code locally prior to use. Sometimes also called an extension of R. Example R package: You can also have “binary packages” for a certain operating system. From Writing R Extensions: A binary package is “a zip file or tarball containing the files of an installed package which can be unpacked rather than installing from sources.” Consider developing software when: You have developed a new method you want to share You have data you’d like to make publicly available You find yourself doing the same task repeatedly Why create an R package? Share some functions broadly Share some functions with a small group Create a version of code for yourself that’s more organized and easier to use Includes documentation (vignettes, help files) Function names linked to package namespace Once library is installed, can load easily 13.1.2 Example: NMMAPS package Source: www.ihapss.jhsph.edu Contents of NMMAPS package: Research impacts of NMMAPS package (Source: Barnett, Huang, and Turner, “Benefits of Publicly Available Data”, Epidemiology 2012): As of November 2011, 67 publications had been published using this data, with 1,781 citations to these papers Research using NMMAPS has been used by the US EPA in creating regulatory impact statements for air pollution (particulates and ozone) “Thanks to NMMAPS, there is probably no other country in the world with a greater understanding of the health effects of air pollution and heat waves in its population.” 13.1.3 Sharing an R package If you want to share your R package, there are a number of ways you can do that: CRAN GitHub Bioconductor: “Bioconductor provides tools for the analysis and comprehension of high-throughput genomic data.” (from the Bioconductor website.) Other repositories Private(-ish) repositories: e.g., ROpenSci’s repository (for more, see https://ropensci.org/blog/blog/2015/08/04/a-drat-repository-for-ropensci) drat repository: Make your own R package repository, including through GitHub pages. Compressed file: You can save a source tarball or binary package file with others without posting to a repository. Sharing on CRAN: Traditional way to share an R package widely Easiest way for others to get your package (install.packages) Some barriers: Size constraint on packages (5 MB) Must follow CRAN policies All packages must pass a submission process. This is not a guarantee that a package does what it says, just a check that required files are where they should be and that the package more or less doesn’t break things. Sharing on GitHub: GitHub is becoming more and more common as a place to share R packages, both development packages that eventually are posted to CRAN and packages that are never submitted to CRAN. No restrictions / submission requirements GitHub repository size restrictions (1 GB, no files over 100 MB) much larger than CRAN package size restrictions (5 MB) GitHub packages can be installed using install_github from the devtools package Requires devtools package, which has some set-up requirements (XCode for Mac, Rtools for Windows) Packages on CRAN cannot depend on packages available only on GitHub 13.1.4 Package names The format requirements for a package name are, based on Writing R Extensions: “This should contain only (ASCII) letters, numbers and dot, have at least two characters and start with a letter and not end in a dot.” Hadley Wickham’s additional guidelines: Make it easy to Google. Make it all uppercase or all lower case Base it on a word that’s easy to remember, but then tweak the spelling to make it unique (and easier to Google). Abbreviate. Add an “r”. 13.1.5 Package maintainer A package can have many authors, but only one maintainer. The maintainer is in charge of fixing any problems that come up with CRAN checks over time to keep the package on CRAN. The maintainer is also the person who will be emailed about bugs, etc., by other users. The package can have other authors, as well as people in other roles (e.g., contributor). See the helpfile for the person function for more on the codes used for different roles. 13.1.6 Find out more To find out more about writing R packages, useful sources are: Writing R Extensions: Guidelines for R packages from the R Core Team. R Packages by Hadley Wickham R package development cheatsheet 13.2 Basic example package: weathermetrics The key functions in this package are: convert_temperature: Convert between temperature metrics convert_precip: Convert between precipitation metrics convert_wind_speed: Convert between wind speed metrics heat.index: Calculates heat index from air temperature and a measure of air moisture (dew point temperature or relative humidity) 13.2.1 Contents of weathermetrics package Equation to convert from Celsius to Fahrenheit: \\[ T_F = \\frac{9}{5} T_C + 32 \\] Here is the associated R function: celsius.to.fahrenheit ## function (T.celsius, round = 2) ## { ## T.fahrenheit <- (9/5) * T.celsius + 32 ## T.fahrenheit <- round(T.fahrenheit, digits = round) ## return(T.fahrenheit) ## } ## <bytecode: 0x7f94f144fe88> ## <environment: namespace:weathermetrics> Here is part of the help file for this function: Here is the start of the function to calculate the heat index: head(heat.index.algorithm, 10) ## ## 1 function (t = NA, rh = NA) ## 2 { ## 3 if (is.na(rh) | is.na(t)) { ## 4 hi <- NA ## 5 } ## 6 else if (t <= 40) { ## 7 hi <- t ## 8 } ## 9 else { ## 10 alpha <- 61 + ((t - 68) * 1.2) + (rh * 0.094) Here is an example of using this function: data(suffolk) suffolk %>% mutate(heat_index = heat.index(t = TemperatureF, rh = Relative.Humidity)) %>% slice(1:5) ## Date TemperatureF Relative.Humidity heat_index ## 1 1998-07-12 72 69 72 ## 2 1998-07-13 73 66 73 ## 3 1998-07-14 74 74 75 ## 4 1998-07-15 78 86 80 ## 5 1998-07-16 78 100 81 13.3 Elements of an R package 13.3.1 Basic elements Things you edit directly: DESCRIPTION file: The package’s “Title page”. Metadata on the package, including names and contacts of authors, package name, and description. This file also lists all the package dependencies (other packages with functions this package uses). R folder: R code defining functions in the package. All code is included in one or more R scripts. If you use Roxygen for help with documentation, all of that is also included in these files. Things that are automatically written: man folder: Help documentation for each function. This files are automatically rendered if you use Roxygen. NAMESPACE file: Helps R find functions in your package you want others to use. 13.3.2 DESCRIPTION file Required elements: Package: Name of the package Version: Number of the current version of the package (e.g., 0.1.0) Title: Short title for the package, in title case and in 65 characters or less. Author and Maintainer (these two sections can be replaced with Authors@R section that uses the person function) Description: Paragraph describing the package License: Name of the license the package is under. If necessary, you can also refer to a LICENSE file included as another file in the package. Only some licenses are easily accepted by CRAN. Other elements that are common but not required: Date: Release date of this version of the package. Imports: A list of the packages on which this package depends: other packages with functions used by the code in this package. URL: If there is a webpage associated with the package, the address for it. Often, this is the web address of the package’s GitHub repository. BugReports: Where users can submit problems they’ve had. Often, the web address of the “Issues” page of the GitHub repository for the package. Package: weathermetrics Type: Package Title: Functions to Convert Between Weather Metrics Version: 1.2.2 Date: 2016-05-19 Authors@R: c(person("Brooke", "Anderson", email = "brooke.anderson@colostate.edu", role = c("aut", "cre")), person("Roger", "Peng", email = "rdpeng@gmail.com", role = c("aut")), person("Joshua", "Ferreri", email = "joshua.m.ferreri@gmail.com", role = c("aut"))) Description: Functions to convert between weather metrics, including conversions for metrics of temperature, air moisture, wind speed, and precipitation. This package also includes functions to calculate the heat index from air temperature and air moisture. URL: https://github.com/geanders/weathermetrics/ BugReports: https://github.com/geanders/weathermetrics/issues License: GPL-2 LazyData: true RoxygenNote: 5.0.1 Depends: R (>= 2.10) Suggests: knitr, rmarkdown VignetteBuilder: knitr 13.3.3 R folder The R folder of the package includes: R scripts with code defining all functions for the package Help documentation for each function (if using Roxygen) Help documentation for the package data in “data.R” You define functions in the R scripts just as you would anytime you want to define a function in R. For example, “temperature_conversions.R” includes the following code to define converting from Celsius to Fahrenheit: celsius.to.fahrenheit <- function (T.celsius, round = 2) { T.fahrenheit <- (9/5) * T.celsius + 32 T.fahrenheit <- round(T.fahrenheit, digits = round) return(T.fahrenheit) } Only exception: use package::function syntax to call functions from other packages (e.g., dplyr::mutate()). Using roxygen2, you put all information for the help files directly into a special type of code comments right before defining the function. Start each line with #'. To render into help files, use the document function from the devtools package. This will write out help files in the man folder of the package. Use these comments to specify which functions should be exported from the package using the @export tag. This information will be used to render the NAMESPACE file for the package. #' Convert from Celsius to Fahrenheit. #' #' \\code{celsius.to.fahrenheit} creates a numeric vector of #' temperatures in Fahrenheit from a numeric vector of #' temperatures in Celsius. #' #' @param T.celsius Numeric vector of temperatures in Celsius. #' @inheritParams convert_temperature #' #' @return A numeric vector of temperature values in Fahrenheit. #' #' @note Equations are from the source code for the US National #' Weather Service's #' \\href{http://www.wpc.ncep.noaa.gov/html/heatindex.shtml} #' {online heat index calculator}. #' @author #' Brooke Anderson \\email{brooke.anderson@@colostate.edu}, #' Roger Peng \\email{rdpeng@@gmail.com} #' #' @seealso \\code{\\link{fahrenheit.to.celsius}} #' #' @examples # Convert from Celsius to Fahrenheit. #' data(lyon) #' lyon$TemperatureF <- celsius.to.fahrenheit(lyon$TemperatureC) #' lyon #' #' @export Some of the most common tags you’ll use for roxygen2 are: @param: Use to explain parameters for the function. @inheritParam: If you have already explained a parameter for the help file for a different function, you can use this tag to use the same definition for this function. @return: Explanation of the object returned by the function. @examples: One or more examples of using the function. @export: Export the function, so it’s available when users load the package. By default, the first line in the roxygen2 comments is the function title and the next section is the function description. For more on roxygen2, see: https://cran.r-project.org/web/packages/roxygen2/vignettes/roxygen2.html Once you run document, this is all rendered as a help file. Now, when you run ?celsius.to.fahrenheit, you’ll get: The start of the NAMESPACE file will be automatically written when you run document and will look like: # Generated by roxygen2: do not edit by hand export(celsius.to.fahrenheit) export(celsius.to.kelvin) export(convert_precip) export(convert_temperature) export(convert_wind_speed) export(dewpoint.to.humidity) If you are automating helpfile documentation, you must also include an R script with the doumentation for each data set that comes with the package. This file will include roxygen2 documentation for each data set, followed by the name of the dataset in quotation marks. As an example, the next slide has the documentation in the “data.R” file for the “lyon” data set. #' Weather in Lyon, France #' #' Daily values of mean temperature (Celsius) and mean dew #' point temperature (Celsius) for the week of June 18, 2000, #' in Lyon, France. #' #' @source \\href{http://www.wunderground.com/} #' {Weather Underground} #' #' @format A data frame with columns: #' \\describe{ #' \\item{Date}{Date of weather observation} #' \\item{TemperatureC}{Daily mean temperature in Celsius} #' \\item{DewpointC}{Daily mean dewpoint temperature in #' Celsius} #' } "lyon" 13.3.4 Other common elements Some other elements, while not required, are common in many R packages: data folder: R objects with data that goes with the package. Often, these are small-ish data files for examples of how to use package functions. However, more “scientific” packages may include more substantive data in this folder. Some packages are created solely to deliver data. vignettes folder: One or more tutorials on why the package was created and how to use it. These can be written in RMarkdown. NEWS file: Information about changes in later versions of the package. .Rbuildignore file: Lists files and directories that should not be included in the package build LICENSE file: With certain licenses (MIT is a common example), you need a separate LICENSE file, to supplement the license information in the DESCRIPTION file. 13.3.5 Less common elements src folder: Sources and headers for compiled code (e.g., C++). demo folder: R scripts that give demonstrations of using the package. tests folder: Test code for the package. Currently, the best way to create tests for a package are with the testthat package. inst folder: Various and sundries, including a CITATION file to tell others how to cite your package and executable scripts not in R (e.g., shell scripts, Perl or Python code). 13.4 Creating an R package Invaluable tools when creating an R package: The devtools package: Various utility functions that help you develop an R package. R Packages by Hadley Wickham. Available from O’Reilly or free online at http://r-pkgs.had.co.nz GitHub: When in doubt of how to structure something, look for examples in code for other R packages. GitHub is currently the easiest way to browse through the code for many R packages. 13.4.1 Initializing an R package The easiest way to start a new R package project is through R Studio. Go to “File” -> “New Project” -> “Empty Directory”. One of the options is “R Package”. You’ll need to specify where you want to save the directory and the package name. You can also select if you’d like to use git (you’ll still need to set-up and sync with GitHub if you want to post the package to GitHub). Once you choose this, R Studio will create a new “skeleton” directory for you, with some of the default files and directories you need (kind of like how it starts with a template for RMarkdown documents). You can add and edit files within this structure to create your package. 13.4.2 Working on an R package Once you set-up the package, most of your work will be in writing the code for the package’s functions and creating documentation. The devtools package has some functions that are very useful for this process: load_all: Loads the last saved version of all functions in the package. You can use this to change and check functions without rebuilding the whole package and restarting R each time. document: Parse all roxygen2 comments to create the helpfiles in the man directory and the NAMESPACE file. As soon as you’ve loaded an documented the last saved version of your package, you can access the help file for each function using ?, as with other R functions. Control-. : This is a keyboard shortcut rather than a function, but it allows you to search the package for the code where a certain function is defined. As a package grows larger, this functionality is very useful for navigating the R code in the package. The devtools package also has some functions that set up useful infrastructure for the package. For example, if you want to include a vignette written in RMarkdown, you need to do a few things: Add a new folder called vignettes. Add inst/doc to the .gitignore file. (The built pdf is written into this folder, but typically you don’t want to include rendered files in git, just the code with which they were generated.) Make a few changes to the DESCRIPTION file. Rather than having to remember how to do all this yourself, you can use the use_vignette function, which adds this infrastructure to the package at once. Typically, you will only use these infrastructure calls once per package. Other useful infrastructure functions are: use_cran_comments: Add a text file with comments for the people who check the package when it’s submitted to CRAN. use_readme_rmd: Create an RMarkdown “README” file that you can use to provide information on the package (similar to the vignette, but this will show up on the first page of the GitHub repo if you have one for the package). use_news_md: Create a text file to provide details of changes in later package versions. use_travis: Add the infrastructure needed to check the package on Travis when you push to GitHub. use_rcpp: Add an src directory and other infrastructure needed to use C++ code within the package. use_testthat: Add infrastructure for using package tests based on testthat. There are a few infrastructure-type functions you might use more often: use_data: Save data currently in an R object in your working session to use as data within the package. This function saves that data as an .rda file in the data folder. use_build_ignore: Add a file or files to the “.Rbuildignore” file, so they won’t cause an error with CRAN checks (one of the checks is that there aren’t any unrecognized files or directories in the top level of the package). use_package: Add a package that your package depends on to the DESCRIPTION file. 13.4.3 Finalizing an R package Once you have included all the functions and documentation for a package, there are a few more steps before that version is ready to be shared: Create a vignette and / or README file to explain how others can use the package. Run the package through CRAN checks and resolve all ERRORS, WARNINGS, and NOTES. This is required if you are submitting to CRAN. It’s usually a good idea and improves the package even if you’re not. Change the version number to a stable version (typically, development versions end in .9000, like 0.0.0.9000). When you have a stable version of the package, you’ll change this to a three-part number (e.g., 0.1.0). Build the package locally. For this, you can use the “Build” tab in the upper right RStudio tab (it will show up once you have a package project open). Build the package on other systems. You can use Travis (Unix / Linux) and build_win (Windows) to do this for those systems. Create a pdf of all help files to proofread. To do this, open a bash shell in the parent directory of the package and run R CMD Rd2pdf <packagename> (for example, if the package were csupackage, you’d run R CMD Rd2pdf csupackage). This will create a pdf in that directory with all helpfiles for all functions. If you want the package to be on CRAN, submit to CRAN. There is a function called submit_cran that will build the package and submit it to CRAN. "], +["exploring-data-3.html", "Chapter 11 Exploring data #3 11.1 Simulations 11.2 Other computationally-intensive approaches", " Chapter 11 Exploring data #3 Download a pdf of the lecture slides covering this topic. 11.1 Simulations 11.1.1 The lady tasting tea Source: Flikr commons, https://www.flickr.com/photos/internetarchivebookimages/20150531109/ “Dr. Muriel Bristol, a colleague of Fisher’s, claimed that when drinking tea she could distinguish whether milk or tea was added to the cup first (she preferred milk first). To test her claim, Fisher asked her to taste eight cups of tea, four of which had milk added first and four of which had tea added first.” — Agresti, Categorical Data Analysis, p.91 Research questions: If she just guesses, what is the probability she will get all cups right? What if more or fewer cups are used in the experiment? One way to figure this out is to run a simulation. In R, sample can be a very helpful function for simulations. It lets you randomly draw values from a vector, with or without replacement. ## Generic code sample(x = [vector to sample from], size = [number of samples to take], replace = [logical-- should values in the vector be replaced?], prob = [vector of probability weights]) Create vectors of the true and guessed values, in order, for the cups of tea: n_cups <- 8 cups <- sample(rep(c("milk", "tea"), each = n_cups / 2)) cups ## [1] "tea" "tea" "milk" "milk" "tea" "tea" "milk" "milk" guesses <- sample(rep(c("milk", "tea"), each = n_cups / 2)) guesses ## [1] "tea" "tea" "milk" "milk" "tea" "milk" "milk" "tea" For this simulation, determine how many cups she got right (i.e., guess equals the true value): cup_results <- cups == guesses cup_results ## [1] TRUE TRUE TRUE TRUE TRUE FALSE TRUE FALSE n_right <- sum(cup_results) n_right ## [1] 6 Write a function that will run one simulation. It takes the argument n_cups— in real life, they used eight cups (n_cups = 8). Note that this function just wraps the code we just walked through. sim_null_tea <- function(n_cups){ cups <- sample(rep(c("milk", "tea"), each = n_cups / 2)) guesses <- sample(rep(c("milk", "tea"), each = n_cups / 2)) cup_results <- cups == guesses n_right <- sum(cup_results) return(n_right) } sim_null_tea(n_cups = 8) ## [1] 4 Now, we need to run a lot of simulations, to see what happens on average if she guesses. You can use the replicate function to do that. ## Generic code replicate(n = [number of replications to run], eval = [code to replicate each time]) tea_sims <- replicate(5, sim_null_tea(n_cups = 8)) tea_sims ## [1] 8 4 4 4 6 This call gives a vector with the number of cups she got right for each simulation. You can replicate the simulation many times to get a better idea of what to expect if she just guesses, including what percent of the time she gets all cups right. tea_sims <- replicate(1000, sim_null_tea(n_cups = 8)) mean(tea_sims) ## [1] 3.902 quantile(tea_sims, probs = c(0.025, 0.975)) ## 2.5% 97.5% ## 2 6 mean(tea_sims == 8) ## [1] 0.012 Now we’d like to know, for different numbers of cups of tea, what is the probability that the lady will get all cups right? For this, we can apply the replication code across different values of n_cups: n_cups <- seq(from = 2, to = 14, by = 2) perc_all_right <- sapply(n_cups, FUN = function(n_cups){ cups_right <- replicate(1000, sim_null_tea(n_cups)) out <- mean(cups_right == n_cups) return(out) }) perc_all_right ## [1] 0.488 0.166 0.051 0.019 0.003 0.000 0.000 tea_sims <- data_frame(n_cups, perc_all_right) ggplot(tea_sims, aes(x = n_cups, y = perc_all_right)) + geom_point() + xlab("# of cups tested") + ylab("Probability of getting\\nall cups right if guessing") You can answer this question analytically using the hypergeometric distribution: \\[ P(n_{11} = t) = \\frac{{n_{1+} \\choose t} {n_{2+} \\choose n_{+1}-t}}{{n \\choose n_{+1}}} \\] Guessed milk Guessed tea Total Really milk \\(n_{11}\\) \\(n_{12}\\) \\(n_{1+} = 4\\) Really tea \\(n_{21}\\) \\(n_{22}\\) \\(n_{2+} = 4\\) Total \\(n_{+1} = 4\\) \\(n_{+2} = 4\\) \\(n = 8\\) In R, you can use dhyper to get the density of the hypergeometric function: dhyper(x = [# of cups she guesses have milk first that do], m = [# of cups with milk first], n = [# of cups with tea first], k = [# of cups she guesses have milk first]) Probability she gets three “milk” cups right if she’s just guessing and there are eight cups, four with milk first and four with tea first: dhyper(x = 3, m = 4, n = 4, k = 4) ## [1] 0.2285714 Probability she gets three or more “milk” cups right if she’s just guessing: dhyper(x = 3, m = 4, n = 4, k = 4) + dhyper(x = 4, m = 4, n = 4, k = 4) ## [1] 0.2428571 Other density functions: dnorm: Normal dpois: Poisson dbinom: Binomial dchisq: Chi-squared dt: Student’s t dunif: Uniform You can get the analytical result for each of the number of cups we simulated and compare those values to our simulations: analytical_results <- data_frame(n_cups = seq(2, 14, 2)) %>% mutate(perc_all_right = dhyper(x = n_cups / 2, m = n_cups / 2, n = n_cups / 2, k = n_cups / 2)) ggplot(analytical_results, aes(x = n_cups, y = perc_all_right)) + geom_line(color = "darkgray") + geom_point(data = tea_sims) + xlab("# of cups tested") + ylab("Probability of getting\\nall cups right if guessing") For more on this story (and R.A. Fisher), see: The Lady Tasting Tea: How Statistics Revolutionized Science in the Twentieth Century. David Salsburg. The Design of Experiments. Ronald Fisher. https://priceonomics.com/why-the-father-of-modern-statistics-didnt-believe/ 11.1.2 Playing darts Research question: Is a person skilled at playing darts? Here’s our dart board– the numbers are the number of points you win for a hit in each area. ## ## Attaching package: 'plotrix' ## The following object is masked from 'package:scales': ## ## rescale First, what would we expect to see if the person we test has no skill at playing darts? Questions to consider: What would the dart board look like under the null (say the person throws 20 darts for the experiment)? About what do you think the person’s mean score would be if they had no skill at darts? What are some ways to estimate or calculate the expected mean score under the null? Let’s use R to answer the first question: what would the null look like? First, create some random throws (the square goes from -1 to 1 on both sides): n.throws <- 20 throw.x <- runif(n.throws, min = -1, max = 1) throw.y <- runif(n.throws, min = -1, max = 1) head(cbind(throw.x, throw.y)) ## throw.x throw.y ## [1,] 0.5524726 -0.8217305 ## [2,] -0.1481548 -0.2206223 ## [3,] 0.9452591 0.6049874 ## [4,] -0.5267736 -0.7348108 ## [5,] -0.7088718 0.5798019 ## [6,] 0.9778563 -0.8479374 plot(c(-1, 1), c(-1,1), type = "n", asp=1, xlab = "", ylab = "", axes = FALSE) rect( -1, -1, 1, 1) draw.circle( 0, 0, .75, col = "red") draw.circle( 0, 0, .5, col = "white") draw.circle( 0, 0, .25, col = "red") points(throw.x, throw.y, col = "black", pch = 19) Next, let’s tally up the score for this simulation of what would happen under the null. To score each throw, we calculate how far the point is from (0, 0), and then use the following rules: 20 points: \\(0.00 \\le \\sqrt{x^2 + y^2} \\le .25\\) 15 points: \\(0.25 < \\sqrt{x^2 + y^2} \\le .50\\) 10 points: \\(0.50 < \\sqrt{x^2 + y^2} \\le .75\\) 0 points: \\(0.75 < \\sqrt{x^2 + y^2} \\le 1.41\\) Use these rules to “score” each random throw: throw.dist <- sqrt(throw.x^2 + throw.y^2) head(throw.dist) ## [1] 0.9901853 0.2657518 1.1222854 0.9041225 0.9157890 1.2942955 throw.score <- cut(throw.dist, breaks = c(0, .25, .5, .75, 1.5), labels = c("20", "15", "10", "0"), right = FALSE) head(throw.score) ## [1] 0 15 0 0 0 0 ## Levels: 20 15 10 0 Now that we’ve scored each throw, let’s tally up the total: table(throw.score) ## throw.score ## 20 15 10 0 ## 0 3 3 14 mean(as.numeric(as.character(throw.score))) ## [1] 3.75 So, this just showed one example of what might happen under the null. If we had a lot of examples like this (someone with no skill throwing 20 darts), what would we expect the mean scores to be? Questions to consider: How can you figure out the expected value of the mean scores under the null (that the person has no skill)? Do you think that 20 throws will be enough to figure out if a person’s mean score is different from this value, if he or she is pretty good at darts? What steps do you think you could take to figure out the last question? What could you change about the experiment to make it easier to tell if someone’s skilled at darts? How can we figure this out? Theory. Calculate the expected mean value using the expectation formula. Simulation. Simulate a lot of examples using R and calculate the mean of the mean score from these. The expected value of the mean, \\(E[\\bar{X}]\\), is the expected value of \\(X\\), \\(E[X]\\). To calculate the expected value of \\(X\\), use the formula: \\[ E[X] = \\sum_x xp(x) \\] \\[ E[X] = 20 * p(X = 20) + 15 * p(X = 15) + 10 * p(X = 10) + 0 * p(X = 0) \\] So we just need to figure out \\(p(X = x)\\) for \\(x = 20, 15, 10\\). (In all cases, we’re dividing by 4 because that’s the area of the full square, \\(2^2\\).) \\(p(X = 20)\\): Proportional to area of the smallest circle, \\((\\pi * 0.25^2) / 4 = 0.049\\) \\(p(X = 15)\\): Proportional to area of the middle circle minus area of the smallest circle, \\(\\pi(0.50^2 - 0.25^2) / 4 = 0.147\\) \\(p(X = 10)\\): Proportional to area of the largest circle minus area of the middle circle, \\(\\pi(0.75^2 - 0.50^2) / 4 = 0.245\\) \\(p(X = 0)\\): Proportional to area of the square minus area of the largest circle, \\((2^2 - \\pi * 0.75^2) / 4 = 0.558\\) As a double check, if we’ve done this right, the probabilities should sum to 1: \\[0.049 + 0.147 + 0.245 + 0.558 = 0.999\\] \\[ E[X] = \\sum_x xp(x)\\] \\[ E[X] = 20 * 0.049 + 15 * 0.147 + 10 * 0.245 + 0 * 0.558\\] \\[ E[X] = 5.635 \\] Remember, this also gives us \\(E[\\bar{X}]\\). Now it’s pretty easy to also calculate \\(var(X)\\) and \\(var(\\bar{X})\\): \\[ Var(X) = E[(X - \\mu)^2] = E[X^2] - E[X]^2 \\] \\[ E[X^2] = 20^2 * 0.049 + 15^2 * 0.147 + 10^2 * 0.245 + 0^2 * 0.558 = 77.18 \\] \\[ Var(X) = 77.175 - (5.635)^2 = 45.42 \\] \\[ Var(\\bar X) = \\sigma^2 / n = 45.42 / 20 = 2.27 \\] Note that we can use the Central Limit Theorem to calculate a 95% confidence interval for the mean score when someone with no skill (null hypothesis) throws 20 darts: 5.635 + c(-1, 1) * qnorm(.975) * sqrt(2.27) ## [1] 2.682017 8.587983 We can check our math by running simulations– we should get the same values of \\(E[\\bar{X}]\\) and \\(Var(\\bar{X})\\) (which we can calculate directly from the simulations using R). n.throws <- 20 n.sims <- 10000 x.throws <- matrix(runif(n.throws * n.sims, -1, 1), ncol = n.throws, nrow = n.sims) y.throws <- matrix(runif(n.throws * n.sims, -1, 1), ncol = n.throws, nrow = n.sims) dist.throws <- sqrt(x.throws^2 + y.throws^2) score.throws <- apply(dist.throws, 2, cut, breaks = c(0, .25, .5, .75, 1.5), labels = c("20", "15", "10", "0"), right = FALSE) dist.throws[1:3,1:5] ## [,1] [,2] [,3] [,4] [,5] ## [1,] 0.8316972 0.8431826 0.8722920 0.5525720 1.3335355 ## [2,] 0.6574708 1.3203518 0.8397787 0.4103512 0.4317604 ## [3,] 0.6139829 0.2888675 0.4662491 1.0717015 0.8835623 score.throws[1:3,1:5] ## [,1] [,2] [,3] [,4] [,5] ## [1,] "0" "0" "0" "10" "0" ## [2,] "10" "0" "0" "15" "15" ## [3,] "10" "15" "15" "0" "0" mean.scores <- apply(score.throws, MARGIN = 1, function(x){ out <- mean(as.numeric( as.character(x))) return(out) }) head(mean.scores) ## [1] 1.25 6.75 3.75 5.25 7.25 6.25 Let’s check the simulated mean and variance against the theoretical values: mean(mean.scores) ## Theoretical: 5.635 ## [1] 5.648225 var(mean.scores) ## Theoretical: 2.27 ## [1] 2.301028 11.1.3 Simulations in research Simulations in the wild (just a few examples): The Manhattan Project US Coast Guard search and rescue Infectious disease modeling 11.2 Other computationally-intensive approaches 11.2.1 Bootstrap and friends Bootstraping: Sample the dataset with replacement and reestimate the statistical parameter(s) each time. Jackknifing: Rake out one observation at a time and reestimate the statistical parameter(s) with the rest of the data. Permutation tests: See how unusual the result from the data is compared to if you shuffle your data (and so remove any relationship in observed data between variables). Cross-validation: See how well your model performs if you pick a subset of the data, build the model just on that subset, and then test how well it predicts for the rest of the data, and repeat that many times. 11.2.2 Bayesian analysis Suggested books for learning more about Bayesian analysis in R: Doing Bayesian Data Analysis, Second Edition: A Tutorial with R, JAGS, and Stan. John Kruschke. Statistical Rethinking: A Bayesian Course with Examples in R and Stan. Richard McElreath. Bayesian Data Analysis, Third Edition. Andrew Gelman et al. R can tap into software for Bayesian analysis: BUGS JAGS STAN 11.2.3 Ensemble models and friends Bagging: Sample data with replacement and build a tree model. Repeat many times. To predict, predict from all models and take the majority vote. Random forest: Same as bagging, for picking each node of a tree, only consider a random subset of variables. Boosting: Same as bagging, but “learn” from previous models as you build new models. Stacked models: Build many different models (e.g., generalized linear regression, Naive Bayes, k-nearest neighbors, random forest, …), determine weights for each, and predict using weighted predictions combined from all models. For more on these and other machine learning topics, see: An Introduction to Statistical Learning. Gareth James, Robert Tibshirani, and Trevor Hastie. The caret package: http://topepo.github.io/caret/index.html For many examples of predictive models like this built with R (and Python): https://www.kaggle.com "], +["reporting-data-results-3.html", "Chapter 12 Reporting data results #3 12.1 Shiny web apps 12.2 htmlWidgets", " Chapter 12 Reporting data results #3 Download a pdf of the lecture slides covering this topic. Slides for the second half of these week are available to download in an HTML format. Save this file as HTML, and then you should be able to open the file in a web browser to see the presentation. 12.1 Shiny web apps 12.1.1 Resources for learning Shiny There is an excellent tutorial to get you started here at RStudio. There are also several great sites that show you both Shiny examples and their code, here and here. Many of the examples and ideas in the course notes this week come directly or are adapted from RStudio’s Shiny tutorial. To start, Shiny has several example apps that you can try out. These are all available through your R session once you install the Shiny package. You can make them available to your R session using the command system.file(): install.packages("shiny") library(shiny) system.file("examples", package = "shiny") 12.1.2 Basics of Shiny apps Once you have Shiny installed, you can run the examples using the runExample() command. For example, to run the first example, you would run: runExample("01_hello") This is a histogram that lets you adjust the number of bins using a slider bar. Other examples are: 02_text, 03_reactivity, 04_mpg, 05_sliders, 06_tabsets, 07_widgets, 08_html, 09_upload, 10_download, and 11_timer. When you run any of these, a window will come up in your R session that shows the Shiny App, and your R session will pay attention to commands it gets from that application until you close the window. Notice that if you scroll down, you’ll be able to see the code that’s running behind the application: Generally, each application takes two files: (1) a user interface file and (2) a server file. You can kind of think of the two elements of an R shiny app, the user interface and the server, as two parts of a restaurant. The user interface is the dining area. This is the only place the customer every sees. It’s where the customer makes his order, and it’s also where the final product comes out for him to consume. The server is the kitchen. It takes the order, does all the stuff to make it happen, and then sends out the final product back to the dining area. At its heart, an R shiny app is just a directory on your computer or a server with these two files (as well as any necessary data files) in it. For example, here’s a visual of an App I wrote to go with a paper: This has the heart of the application (server.R and ui.R) plus a couple of R helper files and subdirectories with some figures and data that I’m using in the that application. If I open either of the main files in RStudio, I can run the application locally using a button at the top of the file called “Run App”. Once I have the App running, if I have an account for the Shiny server, I can choose to “Publish” the application to the Shiny server, and then anyone can access and use it online (this service is free up to a certain number of visitors per time– unless you make something that is very popular, you should be well within the free limit). 12.1.3 server.R file The server file will be named server.R. This file tells R what code to run with the inputs it gets from a user making certain selections. For example, for the histogram example, this file tells R how to re-draw a histogram of the data with the number of bins that the user specified on the slider on the application. Once you get through all the code for what to do, this file also will have code telling R what to send back to the application for the user to see (in this case, a picture of a histogram made with the specified number of bars). Here is the code in the server.R file for the histogram example: library(shiny) # Define server logic required to draw a histogram shinyServer(function(input, output) { # Expression that generates a histogram. The expression is # wrapped in a call to renderPlot to indicate that: # # 1) It is "reactive" and therefore should be automatically # re-executed when inputs change # 2) Its output type is a plot output$distPlot <- renderPlot({ x <- faithful[, 2] # Old Faithful Geyser data bins <- seq(min(x), max(x), length.out = input$bins + 1) # draw the histogram with the specified number of bins hist(x, breaks = bins, col = 'darkgray', border = 'white') }) }) Notice that some of the “interior” code here looks very familiar and should remind you of code we’ve been learning about this class. For example, this file has within it some code to figure out the breaks for histogram bins, based on how many total bins you want, and draw a histogram with those bin breaks: x <- faithful[, 2] # Old Faithful Geyser data bins <- seq(min(x), max(x), length.out = input$bins + 1) # draw the histogram with the specified number of bins hist(x, breaks = bins, col = 'darkgray', border = 'white') This code is then “wrapped” in two other functions. First, this code is generating a plot that will be posted to the application, so it’s wrapped in a renderPlot function to send that plot as output back to the application: output$distPlot <- renderPlot({ x <- faithful[, 2] # Old Faithful Geyser data bins <- seq(min(x), max(x), length.out = input$bins + 1) # draw the histogram with the specified number of bins hist(x, breaks = bins, col = 'darkgray', border = 'white') }) Notice that this code is putting the results of renderPlot into a slot of the object output named distPlot. We could have used any name we wanted to here, not just distPlot, for the name of the slot where we’re putting this plot, but it is important to put everything into an object called output. Now that we’ve rendered the plot and put it in that slot of the output object, we’ll be able to refer to it by its name in the user interface file, when we want to draw it somewhere there. All of this is wrapped up in another wrapper: # Define server logic required to draw a histogram shinyServer(function(input, output) { # Expression that generates a histogram. The expression is # wrapped in a call to renderPlot to indicate that: # # 1) It is "reactive" and therefore should be automatically # re-executed when inputs change # 2) Its output type is a plot output$distPlot <- renderPlot({ x <- faithful[, 2] # Old Faithful Geyser data bins <- seq(min(x), max(x), length.out = input$bins + 1) # draw the histogram with the specified number of bins hist(x, breaks = bins, col = 'darkgray', border = 'white') }) }) The server.R file also has a line to load the shiny package. You should think of apps as being like Rmd files– if there are any packages or datasets that you need to use in the code in that file, you need to load it within the file, because R won’t check in your current R session to find it when it runs the file. 12.1.4 ui.R file The other file that a Shiny app needs is the user interface file (ui.R). This is the file that describes how the application should look. It will write all the buttons and sliders and all that you want for the application interface. This is also where you specify what you want to go where and put in any text that you want to show up. For example, here is the ui.R file for the histogram example: library(shiny) # Define UI for application that draws a histogram shinyUI(fluidPage( # Application title titlePanel("Hello Shiny!"), # Sidebar with a slider input for the number of bins sidebarLayout( sidebarPanel( sliderInput("bins", "Number of bins:", min = 1, max = 50, value = 30) ), # Show a plot of the generated distribution mainPanel( plotOutput("distPlot") ) ) )) There are a few things to notice with this code. First, there is some code that tells the application to show the results from the server.R code. For example, the following code tells R to show the histogram that we put into the output object in the distPlot slot and to put that graph in the main panel of the application: mainPanel( plotOutput("distPlot") ) Other parts of the ui.R code will tell the application what kinds of choice boxes and sliders to have on the application, and what default value to set each to. For example, the following code tells the application that it should have a slider bar that can take a minimum value of 1 and a maximum value of 50. When you first open the application, its default value should be 30. It should be annotated with the text “Number of bins:”. Whatever value is selected should be saved to the bins slot of the input object (just like we’re using the output object to get things out of the server and printed to the application, we’re using the input object to get things that the user chooses from the application interface to the server where we can run R code). sliderInput("bins", "Number of bins:", min = 1, max = 50, value = 30) 12.1.5 Making a Shiny app The first step in making a Shiny app is to make a new directory somewhere and to create R scripts for that directory called server.R and ui.R. You can just make these two files the normal way– within RStudio, do “New File”, “R Script”, and then just save them with the correct names to the directory you created for the App. Once you save a file as ui.R, notice that you’ll have a button in the top right of the file called “Run App”. When you’re ready to run your application, you can either use this button or use the command runApp. 12.1.6 Starting with the ui.R file Next, you’ll need to put code in these files. I would suggest starting with the ui.R files. This file is where you get to set up how the application looks and how people will be able to interact with it. That means that this is a good place to start because it’s both quickly fulfilling (I made something pretty!) and also because you need to have an idea of what inputs and outputs you need before you can effectively make the server file to tell R what to do. In truth, though, you’ll be going back and forth quite a bit between these two files as you edit your application. In the ui.R file, everything needs to be wrapped in a shinyUI() function, and then most things will be wrapped in other functions within that to set up different panels. For example, here’s a very basic ui.R file (adapted directly from the RStudio tutorial) that shows a very basic set up for a user interface: shinyUI(fluidPage( titlePanel("Tweets during Paris Attack"), sidebarLayout( sidebarPanel("Select hashtag to display"), mainPanel("Map of tweets") ) )) Notice that everything that I want to go in certain panels of the page are wrapped in functions like sidebarPanel and mainPanel and titlePanel. Everything in this file will be divided up by the place you want it to go in the final version. As a note, the sidebar layout (a sidebar on one side and one main panel) is the simplest possible Shiny layout. You can do fancier layouts if you want by using different functions like fluidRow() and navBarPage(). RStudio has a layout help page with very detailed instructions and examples to help you figure out how to do other layouts. If I run this ui.R, even if my server.R file only includes the line shinyServer(function(input, output) { }), I’ll get the following version application: This doesn’t have anything interactive on it, and it isn’t using R at all, but it shows the basics of how the syntax of the ui.R file works. As a note, I don’t have all of the functions for this, like fluidPage and titlePanel memorized. When I’m working on this file, I’ll either look to example code from other Shiny apps of look at RStudio’s help for Shiny applications until I can figure out what syntax to use to do what I want to do. 12.1.7 Adding in widgets Next, I’ll add in some cool things that will let the user interact with the application. In this case, I’d like to have a slider bar so people can chose the range of time for the tweets that are shown. I’d also like to have a selection box so that users can look at maps of specific hashtags or terms. To add these on (they won’t be functional, yet, but they’ll be there!), I can edit the ui.R script to the following: shinyUI(fluidPage( titlePanel("Tweets during Paris Attack"), sidebarLayout(position = "right", sidebarPanel("Choose what to display", sliderInput(inputId = "time_range", label = "Select the time range: ", value = c(as.POSIXct("2015-11-13 00:00:00", tz = "CET"), as.POSIXct("2015-11-14 12:00:00", tz = "CET")), min = as.POSIXct("2015-11-13 00:00:00", tz = "CET"), max = as.POSIXct("2015-11-14 12:00:00", tz = "CET"), step = 60, timeFormat = "%dth %H:%M", timezone = "+0100")), mainPanel("Map of tweets") ) )) The important part of this is the new sliderInput call, which sets up a slider bar that users can use to specify certain time ranges to look at. Here is what the interface of the app looks like now: If I open this application, I can move the slider bar around, but I it isn’t actually sending any information to R yet. The heart of this new addition to the ui.R file is this: sliderInput(inputId = "time_range", label = "Select the time range: ", value = c(as.POSIXct("2015-11-13 00:00:00", tz = "CET"), as.POSIXct("2015-11-14 12:00:00", tz = "CET")), min = as.POSIXct("2015-11-13 00:00:00", tz = "CET"), max = as.POSIXct("2015-11-14 12:00:00", tz = "CET"), step = 60, timeFormat = "%dth %H:%M", timezone = "+0100") This is all within the function sliderInput and is all being used to set up the slider bar. \"time_range\" is the name I’m giving the input I get from this. Later, when I write my server code, I’ll be able to pull the values that the user suggested from the time_range slot of the input object. The next thing is the label. This is what I want R to print right before it gives the slider bar. The value object says which values I want to be the defaults on the slider. This is where the slider positions will be when someone initially opens the application. min and max give the highest and lowest values that will show up on the slider bar. For this application, I’m calling them as POSIXct objects because I want to do this for times rather than numbers. step says how big of an increment I want the slider to advance by when someone is pulling it. If the values of the slider are times, then the default unit for this is seconds, so I’m saying to have a step size of one minute. The timeFormat says how I want the time to print out at the interface and the timezone says what time zone I want time values to display in. Things like this slider bar are called “Control Widgets”, and there’s a whole list of them in the third lesson of RStudio’s Shiny tutorial. There are also examples online in the Shiny Gallery. 12.1.8 Creating output in server.R Next, I’ll put some R code in the server.R file to create a figure and pass it through to the ui.R file to print out to the application interface. At first, I won’t make this figure “reactive”; that is, it won’t change at all when the user changes the slider bar. However, I will eventually add in that reactivity so that the plot changes everytime a user changes the slider bar. I am going to create a map of all the Tweets that included certain hashtags or phrases and that were Tweeted (and geolocated) from within a five-mile radius of the center of Paris during the attacks last Friday. For this, I’m going to use data on Tweets I pulled using the TwitteR package, which syncs up with Twitter’s API. Here’s an example of what the data looks like (I’ve cleared out some of the extra columns I won’t use): paris_twitter <- read.csv("data/App-1/data/final_tweets.csv", as.is = TRUE) %>% mutate(tag = factor(tag), created = ymd_hms(created, tz = "Europe/Paris"), text = iconv(text, to='ASCII//TRANSLIT')) paris_twitter[1:2, ] ## text ## 1 RT @forza_will2006: My heart aches for the people of France. #PorteOuverte #PrayForParis #DownWithTerrorism #Pompidou... https://t.co/KwtNPsQ... ## 2 Ensemble contre la haine #jesuisparis #porteouverte #paris @ Place de la Republique https://t.co/TZykpVJHwd ## created longitude latitude tag ## 1 2015-11-15 01:27:56 NA NA #PorteOuverte ## 2 2015-11-14 22:19:47 2.364184 48.86747 #PorteOuverte About an equal number of these have and don’t have location data: table(!is.na(paris_twitter$longitude)) ## ## FALSE TRUE ## 10478 10683 Here is a table of the number of tweets under the five most-tweeted tags: head(paris_twitter) ## text ## 1 RT @forza_will2006: My heart aches for the people of France. #PorteOuverte #PrayForParis #DownWithTerrorism #Pompidou... https://t.co/KwtNPsQ... ## 2 Ensemble contre la haine #jesuisparis #porteouverte #paris @ Place de la Republique https://t.co/TZykpVJHwd ## 3 Libert'e, 'egalit'e, fraternit'e #Par'is #TodosSomosPar'is #JeSuisParis #PorteOuverte #peace #paix #paz... https://t.co/AjYVrmCCnL ## 4 Stay With My French #prayforparis #parisattacks #porteouverte #france #riphumanity #liberte #egalit'e... https://t.co/9DH5diHmyz ## 5 <NA> ## 6 RT @bodoi_music: J'ai peur je cherche un abri #porteouverte https://t.co/1DIr4VLOEa ## created longitude latitude tag ## 1 2015-11-15 01:27:56 NA NA #PorteOuverte ## 2 2015-11-14 22:19:47 2.364184 48.86747 #PorteOuverte ## 3 2015-11-14 21:36:06 2.350800 48.85670 #PorteOuverte ## 4 2015-11-14 21:00:49 2.350800 48.85670 #PorteOuverte ## 5 2015-11-14 20:11:01 2.350800 48.85670 #PorteOuverte ## 6 2015-11-14 19:52:43 NA NA #PorteOuverte tweet_sum <- paris_twitter %>% dplyr::group_by_(~ tag) %>% dplyr::summarize_(n = ~ n(), example = ~ gsub("[[:punct:]]", " ", base::sample(text, 1))) %>% dplyr::arrange_(~ dplyr::desc(n)) ## Warning: `group_by_()` is deprecated as of dplyr 0.7.0. ## Please use `group_by()` instead. ## See vignette('programming') for more help ## This warning is displayed once every 8 hours. ## Call `lifecycle::last_warnings()` to see where this warning was generated. ## Warning: `summarise_()` is deprecated as of dplyr 0.7.0. ## Please use `summarise()` instead. ## This warning is displayed once every 8 hours. ## Call `lifecycle::last_warnings()` to see where this warning was generated. knitr::kable(tweet_sum[1:5, ], col.names = c("Tag", "# of Tweets", "Example Tweet")) Tag # of Tweets Example Tweet #Paris 7502 NA #PrayForParis 7250 RT french sultan paris attaque Paris10 france PrayForParis https t co TOKfFUfxT4 | |#13novembre | 1255|RT taimaz Enorme dispositif policier boulevard Voltaire AFP paris 13novembre https t co acgmB89EY5 | |#PorteOuverte | 1147|RT hiyadisoufiane1 porteouverte Eiffel st Charles 37 rue Saint Charles si Jamais vs avez besoin | |#fusillade | 765|RT Vince66240 Rue Bichat on mesure la violence de l attaque sur lepetitcambodge et LeCarillon ParisAttacks fusillade https t co 9E | For the Tweets that are geolocated, it’s possible to map the tweet locations using the following code: paris_map <- get_map("paris", zoom = 12, color = "bw") paris_locations <- c("Stade de France", "18 Rue Alibert", "50 Boulevard Voltaire", "92 Rue de Charonne", "Place de la Republique") paris_locations <- paste(paris_locations, "paris france") paris_locations <- cbind(paris_locations, geocode(paris_locations)) # Plot contour map of tweet locations plot_map <- function(tag = "all", df = paris_twitter){ library(ggmap) library(dplyr) df <- dplyr::select(df, tag, latitude, longitude) %>% filter(!is.na(longitude)) %>% mutate(tag = as.character(tag)) if(tag != "all"){ if(!(tag %in% df$tag)){ stop(paste("That tag is not in the data. Try one of the following tags instead: ", paste(unique(df$tag), collapse = ", "))) } to_plot <- df[df$tag == tag, ] } else { to_plot <- df } hotel_de_ville <- to_plot$latitude == 48.85670 & to_plot$longitude == 2.350800 n_hotel_de_ville <- sum(hotel_de_ville) if(n_hotel_de_ville == max(table(to_plot$latitude))){ hdv_index <- sample((1:nrow(to_plot))[hotel_de_ville], round(n_hotel_de_ville / 2)) to_plot <- to_plot[-hdv_index, ] } my_map <- ggmap(paris_map, extent = "device") + geom_point(data = to_plot, aes(x = longitude, y = latitude), color = "darkgreen", alpha = 0.75) + geom_density2d(data = to_plot, aes(x = longitude, latitude), size = 0.3) + stat_density2d(data = to_plot, aes(x = longitude, y = latitude, fill = ..level.., alpha = ..level..), size = 0.01, bins = round(nrow(to_plot) / 3.3), geom = "polygon") + scale_fill_gradient(low = "green", high = "yellow", guide = FALSE) + scale_alpha(guide = FALSE) + geom_point(data = paris_locations, aes(x = lon, y = lat), color = "red", size = 5, alpha = 0.75) return(my_map) } To print this out in the application, I’ll put all the code for the mapping function in a file called helper.R, source this file in the server.R file, and then I can just call the function within the server file. The application will look as follows after this step: To complete this, I first changed the server.R file to look like this: library(dplyr) library(lubridate) source("helper.R") paris_twitter <- read.csv("data/final_tweets.csv", as.is = TRUE) %>% mutate(tag = factor(tag), created = ymd_hms(created, tz = "Europe/Paris")) shinyServer(function(input, output) { output$twitter_map <- renderPlot({ plot_map() }) }) Notice a few things here: I’m loading the packages I’ll need for the code. I’m running all the code in the helper.R file (which includes the function I created to plot this map) using the source() command. I put the code to plot the map (plot_map()) inside the renderPlot({}) function. I’m putting the plot in a twitter_map slot of the output object. All of this is going inside the call shinyServer(function(input, output){ }). One other change is necessary to get the map to print on the app. I need to add code to the ui.R file to tell R where to plot this map on the final interface. The full file now looks like this: shinyUI(fluidPage( titlePanel("Tweets during Paris Attack"), sidebarLayout(position = "right", sidebarPanel("Choose what to display", sliderInput(inputId = "time_range", label = "Select the time range: ", value = c(as.POSIXct("2015-11-13 00:00:00", tz = "CET"), as.POSIXct("2015-11-15 06:00:00", tz = "CET")), min = as.POSIXct("2015-11-13 00:00:00", tz = "CET"), max = as.POSIXct("2015-11-14 12:00:00", tz = "CET"), step = 60, timeFormat = "%dth %H:%M", timezone = "+0100")), mainPanel("Map of tweets", plotOutput("twitter_map")) ) )) The new part is where I’ve added the code: mainPanel("Map of tweets", plotOutput("twitter_map")) This tells R to put the plot output twitter_map from the output object in the main panel of the Shiny app. 12.1.9 Making the output reactive Now almost all of the pieces are in place to make this graphic reactive. First, I added some options to the function in helper.R to let it input time ranges and only plot the tweets within that range. Next, I need to use the values that the user selects from the slider in the call for plotting the map. To do this, I can use the values passed from the slider bar in the input object into the code in the server.R file. Here is the new code for the server.R file: library(ggmap) library(ggplot2) library(dplyr) library(lubridate) source("helper.R") paris_twitter <- read.csv("data/final_tweets.csv", as.is = TRUE) %>% mutate(tag = factor(tag)) paris_twitter$created <- as.POSIXct(paris_twitter$created, tz = "CET") shinyServer(function(input, output) { output$twitter_map <- renderPlot({ plot_map(start.time = input$time_range[1], end.time = input$time_range[2]) }) }) The only addition from before is to use the start.time and end.time options in the plot_map function and to set them to the first, [1], and second, [2], values in the time_range slot of the input object. Remember that we chose to label the input from the slider bar time_range when we set up the ui.R file. This app is saved in the directory App-1 in this week’s directory if you’d like to play around with the code. I’ve deployed it on shinyapps here. 12.1.10 Fancier version I’ve also created a (much) fancier version of a Shiny App looking at this Twitter data that you can check out here. All the code for that is here. 12.2 htmlWidgets 12.2.1 Overview of htmlWidgets Very smart people have been working on creating interactive graphics in R for a long time. So far, nothing coded in R has taken off in a big way. JavaScript has developed a number of interactive graphics libraries that can be for documents viewed in a web browser. There is now a series of R packages that allow you to create plots from these JavaScript libraries from within R. There is a website with much more on these htmlWidgets at http://www.htmlwidgets.org. Some of the packages availabe to help you create interactive graphics from R using JavaScript graphics libraries: leaflet: Mapping (we’ll cover this next week) dygraphs: Time series plotly: A variety of plots, including maps rbokeh: A variety of plots, including maps networkD3: Network data d3heatmap: Heatmaps DT: Data tables DiagrammeR: Diagrams and flowcharts These packages can be used to make some pretty cool interactive visualizations for HTML output from R Markdown or Shiny (you can also render any of theme in RStudio). There are, however, a few limitations: Written by different people. The different packages have different styles as well as different interfaces. Learning how to use one package may not help you much with other of these packages. Many are still in development, often in early development. 12.2.2 plotly package From the package documentation: “Easily translate ggplot2 graphs to an interactive web-based version and / or create custom web-based visualizations directly from R.” Like many of the packages today, draws on functionality external to R, but within a package that allows you to work exclusively within R. Allows you to create interactive graphs from R. Some of the functions extend the ggplot2 code you’ve learned. Interactivity will only work within RStudio or on documents rendered to HTML. The plotly package allows an interface to let you work with plotly.js code directly using R code. plotly.js is an open source library for creating interactive graphs in JavaScript. This JavaScript library is built on d3.js (Data-Driven Documents), which is a key driver in interactive web-based data graphics today. There are two main ways of create plots within plotly: Use one of the functions to create a customized interactive graphic: plot_ly: Workhorse of plotly, renders most non-map types of graphs plot_geo, plot_mapbax: Specific functions for creating plotly maps. Create a ggplot object and then convert it to a plotly object using the ggplotly function. library(faraway) data(worldcup) library(plotly) plot_ly(worldcup, type = "scatter", x = ~ Time, y = ~ Shots) Just like with ggplot2, the mappings you need depend on the type of plot you are creating. For example, scatterplots (type = \"scatter\") need x and y defined, while a surface plot (type = \"surface\") can be created with a single vector of elevation (we’ll see an example in a few slides). The help file for plot_ly includes a link with more documentation on the types of plots that can be made and the required mappings for each. plot_ly(worldcup, type = "scatter", x = ~ Time, y = ~ Shots, color = ~ Position) The plotly package is designed so you can pipe data into plot_ly and add elements by piping into add_* functions (this idea is similar to adding elements to a ggplot object with +). worldcup %>% plot_ly(x = ~ Time, y = ~ Shots, color = ~ Position) %>% add_markers() Some of the add_* functions include: add_markers add_lines add_paths add_polygons add_segments add_histogram If you pipe to the rangeslider function, it allows the viewer to zoom in on part of the x range. (This can be particularly nice for time series.) You should have a dataset available through your R session named USAccDeaths. This gives a montly county of accidental deaths in the US for 1973 to 1978. This code will plot it and add a range slider on the lower x-axis. plot_ly(x = time(USAccDeaths), y = USAccDeaths) %>% add_lines() %>% rangeslider() For a 3-D scatterplot, add a mapping to the z variable: worldcup %>% plot_ly(x = ~ Time, y = ~ Shots, z = ~ Passes, color = ~ Position, size = I(3)) %>% add_markers() The volcano data comes with R and is in a matrix format. Each value gives the elevation for a particular pair of x- and y-coordinates. dim(volcano) ## [1] 87 61 volcano[1:4, 1:4] ## [,1] [,2] [,3] [,4] ## [1,] 100 100 101 101 ## [2,] 101 101 102 102 ## [3,] 102 102 103 103 ## [4,] 103 103 104 104 plot_ly(z = ~ volcano, type = "surface") Mapping with plotly can build on some data that comes with base R or other packages you’ve likely added (or can add easily, as with the map_data function from ggplot2). For example, we can map state capitals and cities with > 40,000 people using data in the us.cities dataframe in the maps package: head(maps::us.cities, 3) ## name country.etc pop lat long capital ## 1 Abilene TX TX 113888 32.45 -99.74 0 ## 2 Akron OH OH 206634 41.08 -81.52 0 ## 3 Alameda CA CA 70069 37.77 -122.26 0 Here is code you can use to map all of these cities on a US map: ggplot2::map_data("world", "usa") %>% group_by(group) %>% filter(-125 < long & long < -60 & 25 < lat & lat < 52) %>% plot_ly(x = ~long, y = ~lat) %>% add_polygons(hoverinfo = "none") %>% add_markers(text = ~paste(name, "<br />", pop), hoverinfo = "text", alpha = 0.25, data = filter(maps::us.cities, -125 < long & long < -60 & 25 < lat & lat < 52)) %>% layout(showlegend = FALSE) You can also make choropleths interactive. Remember that we earlier created a choropleth of US state populations with the following code: library(choroplethr) data(df_pop_state) state_choropleth(df_pop_state) You can use the following code with plotly to make an interactive choropleth instead: us_map <- list(scope = 'usa', projection = list(type = 'albers usa'), lakecolor = toRGB('white')) plot_geo() %>% add_trace(z = df_pop_state$value[df_pop_state$region != "district of columbia"], text = state.name, locations = state.abb, locationmode = 'USA-states') %>% add_markers(x = state.center[["x"]], y = state.center[["y"]], size = I(2), symbol = I(8), color = I("white"), hoverinfo = "none") %>% layout(geo = us_map) The other way to create a plotly graph is to first create a ggplot object and then transform it into an interactive graphic using the ggplotly function. The following code can be used to plot Time versus Shots for the World Cup date in a regular, non-interactive plot: shots_vs_time <- worldcup %>% mutate(Name = rownames(worldcup)) %>% filter(Team %in% c("Netherlands", "Germany", "Spain", "Uruguay")) %>% ggplot(aes(x = Time, y = Shots, color = Position, group = Name)) + geom_point() + facet_wrap(~ Team) shots_vs_time To make the plot interactive, just pass the ggplot object to ggplotly: ggplotly(shots_vs_time) With R, not only can you pull things from another website using an API, you can also upload or submit things. There is a function in the plotly library, plotly_POST, that lets you post a plot you create in R to https://plot.ly. You need a plot.ly account to do that, but there are free accounts available. The creator of the R plotly package has written a bookdown book on the package that you can read here. It provides extensive details and examples for using plotly. Getting Started with D3 by Mike Dewar (a short book on D3 in JavaScript) is available for free here. 12.2.3 rbokeh package The rbokeh package provides an R interface to a Python interactive visualization library, Bokeh. There is a website with many more details on using the rbokeh package: https://hafen.github.io/rbokeh/ You can find out more about the original Python library, Bokeh, at http://bokeh.pydata.org/en/latest/. Here is an example of an interactive scatterplot of the World Cup data made with the rbokeh package: library(rbokeh) ## Registered S3 method overwritten by 'pryr': ## method from ## print.bytes Rcpp figure(width = 600, height = 300) %>% ly_points(Time, Shots, data = worldcup, color = Position, hover = list(Time, Shots)) This package can also be used to create interactive maps. For example, the following dataset has data on Oregon climate stations, including locations: orstationc <- read.csv("data/orstationc.csv") head(orstationc, 3) ## station lat lon elev tjan tjul tann pjan pjul pann idnum ## 1 ANT 44.917 -120.717 846 0.0 20.2 9.6 41 9 322 350197 ## 2 ARL 45.717 -120.200 96 0.9 24.6 12.5 40 6 228 350265 ## 3 ASH 42.217 -122.717 543 3.1 20.8 11.1 70 7 480 350304 ## Name ## 1 ANTELOPE 1 N USA-OR ## 2 ARLINGTON USA-OR ## 3 ASHLAND 1 N USA-OR You can use the following code to create an interactive map of these climate stations: gmap(lat = 44.1, lng = -120.767, zoom = 5, width = 500, height = 428) %>% ly_points(lon, lat, data = orstationc, alpha = 0.8, col = "red", hover = c(station, Name, elev, tann)) You can get very creative with this package. The following code comes directly from the help documentation for the package and shows how to use this to create an interactive version of the periodic table: # prepare data elements <- subset(elements, !is.na(group)) elements$group <- as.character(elements$group) elements$period <- as.character(elements$period) # add colors for groups metals <- c("alkali metal", "alkaline earth metal", "halogen", "metal", "metalloid", "noble gas", "nonmetal", "transition metal") colors <- c("#a6cee3", "#1f78b4", "#fdbf6f", "#b2df8a", "#33a02c", "#bbbb88", "#baa2a6", "#e08e79") elements$color <- colors[match(elements$metal, metals)] elements$type <- elements$metal # make coordinates for labels elements$symx <- paste(elements$group, ":0.1", sep = "") elements$numbery <- paste(elements$period, ":0.8", sep = "") elements$massy <- paste(elements$period, ":0.15", sep = "") elements$namey <- paste(elements$period, ":0.3", sep = "") # create figure p <- figure(title = "Periodic Table", tools = c("resize", "hover"), ylim = as.character(c(7:1)), xlim = as.character(1:18), xgrid = FALSE, ygrid = FALSE, xlab = "", ylab = "", height = 445, width = 800) %>% # plot rectangles ly_crect(group, period, data = elements, 0.9, 0.9, fill_color = color, line_color = color, fill_alpha = 0.6, hover = list(name, atomic.number, type, atomic.mass, electronic.configuration)) %>% # add symbol text ly_text(symx, period, text = symbol, data = elements, font_style = "bold", font_size = "10pt", align = "left", baseline = "middle") %>% # add atomic number text ly_text(symx, numbery, text = atomic.number, data = elements, font_size = "6pt", align = "left", baseline = "middle") %>% # add name text ly_text(symx, namey, text = name, data = elements, font_size = "4pt", align = "left", baseline = "middle") %>% # add atomic mass text ly_text(symx, massy, text = atomic.mass, data = elements, font_size = "4pt", align = "left", baseline = "middle") p 12.2.4 dygraphs package The dygraphs package lets you create interactive time series plots from R using the dygraphs JavaScript library. The main function syntax is fairly straightforward. Like many of these packages, it allows piping. There is a website with more information on using dygraphs available at http://rstudio.github.io/dygraphs/index.html. For example, here is the code to plot monthly deaths from lung diseases in the UK in the 1970s. library(dygraphs) lungDeaths <- cbind(mdeaths, fdeaths) dygraph(lungDeaths) %>% dySeries("mdeaths", label = "Male") %>% dySeries("fdeaths", label = "Female") 12.2.5 DT package The DT package provides a way to create interactive tables in R using the JavaScript DataTables library. We’ve already seen some examples of this output in some of the Shiny apps I showed last week. You can also use this package to include interactive tables in R Markdown documents you plan to render to HTML. There is a website with more information on this package at http://rstudio.github.io/DT/. library(DT) datatable(worldcup) 12.2.6 Creating your own widget If you find a JavaScript visualization library and would like to create bindings to R, you can create your own package for a new htmlWidget. There is advice on creating your own widget for R available at http://www.htmlwidgets.org/develop_intro.html. "], +["reproducible-research-3.html", "Chapter 13 Reproducible research #3 13.1 Overview of R packages 13.2 Basic example package: weathermetrics 13.3 Elements of an R package 13.4 Creating an R package", " Chapter 13 Reproducible research #3 Download a pdf of the lecture slides covering this topic. 13.1 Overview of R packages 13.1.1 What is an R package? From Writing R Extensions: “A directory of files which extend R”. Files bundled together using tar and compressed using gzip. The file extension is .tar.gz. These are the source files for the package, which then must be installed from this source code locally prior to use. Sometimes also called an extension of R. Example R package: You can also have “binary packages” for a certain operating system. From Writing R Extensions: A binary package is “a zip file or tarball containing the files of an installed package which can be unpacked rather than installing from sources.” Consider developing software when: You have developed a new method you want to share You have data you’d like to make publicly available You find yourself doing the same task repeatedly Why create an R package? Share some functions broadly Share some functions with a small group Create a version of code for yourself that’s more organized and easier to use Includes documentation (vignettes, help files) Function names linked to package namespace Once library is installed, can load easily 13.1.2 Example: NMMAPS package Source: www.ihapss.jhsph.edu Contents of NMMAPS package: Research impacts of NMMAPS package (Source: Barnett, Huang, and Turner, “Benefits of Publicly Available Data”, Epidemiology 2012): As of November 2011, 67 publications had been published using this data, with 1,781 citations to these papers Research using NMMAPS has been used by the US EPA in creating regulatory impact statements for air pollution (particulates and ozone) “Thanks to NMMAPS, there is probably no other country in the world with a greater understanding of the health effects of air pollution and heat waves in its population.” 13.1.3 Sharing an R package If you want to share your R package, there are a number of ways you can do that: CRAN GitHub Bioconductor: “Bioconductor provides tools for the analysis and comprehension of high-throughput genomic data.” (from the Bioconductor website.) Other repositories Private(-ish) repositories: e.g., ROpenSci’s repository (for more, see https://ropensci.org/blog/blog/2015/08/04/a-drat-repository-for-ropensci) drat repository: Make your own R package repository, including through GitHub pages. Compressed file: You can save a source tarball or binary package file with others without posting to a repository. Sharing on CRAN: Traditional way to share an R package widely Easiest way for others to get your package (install.packages) Some barriers: Size constraint on packages (5 MB) Must follow CRAN policies All packages must pass a submission process. This is not a guarantee that a package does what it says, just a check that required files are where they should be and that the package more or less doesn’t break things. Sharing on GitHub: GitHub is becoming more and more common as a place to share R packages, both development packages that eventually are posted to CRAN and packages that are never submitted to CRAN. No restrictions / submission requirements GitHub repository size restrictions (1 GB, no files over 100 MB) much larger than CRAN package size restrictions (5 MB) GitHub packages can be installed using install_github from the devtools package Requires devtools package, which has some set-up requirements (XCode for Mac, Rtools for Windows) Packages on CRAN cannot depend on packages available only on GitHub 13.1.4 Package names The format requirements for a package name are, based on Writing R Extensions: “This should contain only (ASCII) letters, numbers and dot, have at least two characters and start with a letter and not end in a dot.” Hadley Wickham’s additional guidelines: Make it easy to Google. Make it all uppercase or all lower case Base it on a word that’s easy to remember, but then tweak the spelling to make it unique (and easier to Google). Abbreviate. Add an “r”. 13.1.5 Package maintainer A package can have many authors, but only one maintainer. The maintainer is in charge of fixing any problems that come up with CRAN checks over time to keep the package on CRAN. The maintainer is also the person who will be emailed about bugs, etc., by other users. The package can have other authors, as well as people in other roles (e.g., contributor). See the helpfile for the person function for more on the codes used for different roles. 13.1.6 Find out more To find out more about writing R packages, useful sources are: Writing R Extensions: Guidelines for R packages from the R Core Team. R Packages by Hadley Wickham R package development cheatsheet 13.2 Basic example package: weathermetrics The key functions in this package are: convert_temperature: Convert between temperature metrics convert_precip: Convert between precipitation metrics convert_wind_speed: Convert between wind speed metrics heat.index: Calculates heat index from air temperature and a measure of air moisture (dew point temperature or relative humidity) 13.2.1 Contents of weathermetrics package Equation to convert from Celsius to Fahrenheit: \\[ T_F = \\frac{9}{5} T_C + 32 \\] Here is the associated R function: celsius.to.fahrenheit ## function (T.celsius, round = 2) ## { ## T.fahrenheit <- (9/5) * T.celsius + 32 ## T.fahrenheit <- round(T.fahrenheit, digits = round) ## return(T.fahrenheit) ## } ## <bytecode: 0x7fea9ce1cef0> ## <environment: namespace:weathermetrics> Here is part of the help file for this function: Here is the start of the function to calculate the heat index: head(heat.index.algorithm, 10) ## ## 1 function (t = NA, rh = NA) ## 2 { ## 3 if (is.na(rh) | is.na(t)) { ## 4 hi <- NA ## 5 } ## 6 else if (t <= 40) { ## 7 hi <- t ## 8 } ## 9 else { ## 10 alpha <- 61 + ((t - 68) * 1.2) + (rh * 0.094) Here is an example of using this function: data(suffolk) suffolk %>% mutate(heat_index = heat.index(t = TemperatureF, rh = Relative.Humidity)) %>% slice(1:5) ## Date TemperatureF Relative.Humidity heat_index ## 1 1998-07-12 72 69 72 ## 2 1998-07-13 73 66 73 ## 3 1998-07-14 74 74 75 ## 4 1998-07-15 78 86 80 ## 5 1998-07-16 78 100 81 13.3 Elements of an R package 13.3.1 Basic elements Things you edit directly: DESCRIPTION file: The package’s “Title page”. Metadata on the package, including names and contacts of authors, package name, and description. This file also lists all the package dependencies (other packages with functions this package uses). R folder: R code defining functions in the package. All code is included in one or more R scripts. If you use Roxygen for help with documentation, all of that is also included in these files. Things that are automatically written: man folder: Help documentation for each function. This files are automatically rendered if you use Roxygen. NAMESPACE file: Helps R find functions in your package you want others to use. 13.3.2 DESCRIPTION file Required elements: Package: Name of the package Version: Number of the current version of the package (e.g., 0.1.0) Title: Short title for the package, in title case and in 65 characters or less. Author and Maintainer (these two sections can be replaced with Authors@R section that uses the person function) Description: Paragraph describing the package License: Name of the license the package is under. If necessary, you can also refer to a LICENSE file included as another file in the package. Only some licenses are easily accepted by CRAN. Other elements that are common but not required: Date: Release date of this version of the package. Imports: A list of the packages on which this package depends: other packages with functions used by the code in this package. URL: If there is a webpage associated with the package, the address for it. Often, this is the web address of the package’s GitHub repository. BugReports: Where users can submit problems they’ve had. Often, the web address of the “Issues” page of the GitHub repository for the package. Package: weathermetrics Type: Package Title: Functions to Convert Between Weather Metrics Version: 1.2.2 Date: 2016-05-19 Authors@R: c(person("Brooke", "Anderson", email = "brooke.anderson@colostate.edu", role = c("aut", "cre")), person("Roger", "Peng", email = "rdpeng@gmail.com", role = c("aut")), person("Joshua", "Ferreri", email = "joshua.m.ferreri@gmail.com", role = c("aut"))) Description: Functions to convert between weather metrics, including conversions for metrics of temperature, air moisture, wind speed, and precipitation. This package also includes functions to calculate the heat index from air temperature and air moisture. URL: https://github.com/geanders/weathermetrics/ BugReports: https://github.com/geanders/weathermetrics/issues License: GPL-2 LazyData: true RoxygenNote: 5.0.1 Depends: R (>= 2.10) Suggests: knitr, rmarkdown VignetteBuilder: knitr 13.3.3 R folder The R folder of the package includes: R scripts with code defining all functions for the package Help documentation for each function (if using Roxygen) Help documentation for the package data in “data.R” You define functions in the R scripts just as you would anytime you want to define a function in R. For example, “temperature_conversions.R” includes the following code to define converting from Celsius to Fahrenheit: celsius.to.fahrenheit <- function (T.celsius, round = 2) { T.fahrenheit <- (9/5) * T.celsius + 32 T.fahrenheit <- round(T.fahrenheit, digits = round) return(T.fahrenheit) } Only exception: use package::function syntax to call functions from other packages (e.g., dplyr::mutate()). Using roxygen2, you put all information for the help files directly into a special type of code comments right before defining the function. Start each line with #'. To render into help files, use the document function from the devtools package. This will write out help files in the man folder of the package. Use these comments to specify which functions should be exported from the package using the @export tag. This information will be used to render the NAMESPACE file for the package. #' Convert from Celsius to Fahrenheit. #' #' \\code{celsius.to.fahrenheit} creates a numeric vector of #' temperatures in Fahrenheit from a numeric vector of #' temperatures in Celsius. #' #' @param T.celsius Numeric vector of temperatures in Celsius. #' @inheritParams convert_temperature #' #' @return A numeric vector of temperature values in Fahrenheit. #' #' @note Equations are from the source code for the US National #' Weather Service's #' \\href{http://www.wpc.ncep.noaa.gov/html/heatindex.shtml} #' {online heat index calculator}. #' @author #' Brooke Anderson \\email{brooke.anderson@@colostate.edu}, #' Roger Peng \\email{rdpeng@@gmail.com} #' #' @seealso \\code{\\link{fahrenheit.to.celsius}} #' #' @examples # Convert from Celsius to Fahrenheit. #' data(lyon) #' lyon$TemperatureF <- celsius.to.fahrenheit(lyon$TemperatureC) #' lyon #' #' @export Some of the most common tags you’ll use for roxygen2 are: @param: Use to explain parameters for the function. @inheritParam: If you have already explained a parameter for the help file for a different function, you can use this tag to use the same definition for this function. @return: Explanation of the object returned by the function. @examples: One or more examples of using the function. @export: Export the function, so it’s available when users load the package. By default, the first line in the roxygen2 comments is the function title and the next section is the function description. For more on roxygen2, see: https://cran.r-project.org/web/packages/roxygen2/vignettes/roxygen2.html Once you run document, this is all rendered as a help file. Now, when you run ?celsius.to.fahrenheit, you’ll get: The start of the NAMESPACE file will be automatically written when you run document and will look like: # Generated by roxygen2: do not edit by hand export(celsius.to.fahrenheit) export(celsius.to.kelvin) export(convert_precip) export(convert_temperature) export(convert_wind_speed) export(dewpoint.to.humidity) If you are automating helpfile documentation, you must also include an R script with the doumentation for each data set that comes with the package. This file will include roxygen2 documentation for each data set, followed by the name of the dataset in quotation marks. As an example, the next slide has the documentation in the “data.R” file for the “lyon” data set. #' Weather in Lyon, France #' #' Daily values of mean temperature (Celsius) and mean dew #' point temperature (Celsius) for the week of June 18, 2000, #' in Lyon, France. #' #' @source \\href{http://www.wunderground.com/} #' {Weather Underground} #' #' @format A data frame with columns: #' \\describe{ #' \\item{Date}{Date of weather observation} #' \\item{TemperatureC}{Daily mean temperature in Celsius} #' \\item{DewpointC}{Daily mean dewpoint temperature in #' Celsius} #' } "lyon" 13.3.4 Other common elements Some other elements, while not required, are common in many R packages: data folder: R objects with data that goes with the package. Often, these are small-ish data files for examples of how to use package functions. However, more “scientific” packages may include more substantive data in this folder. Some packages are created solely to deliver data. vignettes folder: One or more tutorials on why the package was created and how to use it. These can be written in RMarkdown. NEWS file: Information about changes in later versions of the package. .Rbuildignore file: Lists files and directories that should not be included in the package build LICENSE file: With certain licenses (MIT is a common example), you need a separate LICENSE file, to supplement the license information in the DESCRIPTION file. 13.3.5 Less common elements src folder: Sources and headers for compiled code (e.g., C++). demo folder: R scripts that give demonstrations of using the package. tests folder: Test code for the package. Currently, the best way to create tests for a package are with the testthat package. inst folder: Various and sundries, including a CITATION file to tell others how to cite your package and executable scripts not in R (e.g., shell scripts, Perl or Python code). 13.4 Creating an R package Invaluable tools when creating an R package: The devtools package: Various utility functions that help you develop an R package. R Packages by Hadley Wickham. Available from O’Reilly or free online at http://r-pkgs.had.co.nz GitHub: When in doubt of how to structure something, look for examples in code for other R packages. GitHub is currently the easiest way to browse through the code for many R packages. 13.4.1 Initializing an R package The easiest way to start a new R package project is through R Studio. Go to “File” -> “New Project” -> “Empty Directory”. One of the options is “R Package”. You’ll need to specify where you want to save the directory and the package name. You can also select if you’d like to use git (you’ll still need to set-up and sync with GitHub if you want to post the package to GitHub). Once you choose this, R Studio will create a new “skeleton” directory for you, with some of the default files and directories you need (kind of like how it starts with a template for RMarkdown documents). You can add and edit files within this structure to create your package. 13.4.2 Working on an R package Once you set-up the package, most of your work will be in writing the code for the package’s functions and creating documentation. The devtools package has some functions that are very useful for this process: load_all: Loads the last saved version of all functions in the package. You can use this to change and check functions without rebuilding the whole package and restarting R each time. document: Parse all roxygen2 comments to create the helpfiles in the man directory and the NAMESPACE file. As soon as you’ve loaded an documented the last saved version of your package, you can access the help file for each function using ?, as with other R functions. Control-. : This is a keyboard shortcut rather than a function, but it allows you to search the package for the code where a certain function is defined. As a package grows larger, this functionality is very useful for navigating the R code in the package. The devtools package also has some functions that set up useful infrastructure for the package. For example, if you want to include a vignette written in RMarkdown, you need to do a few things: Add a new folder called vignettes. Add inst/doc to the .gitignore file. (The built pdf is written into this folder, but typically you don’t want to include rendered files in git, just the code with which they were generated.) Make a few changes to the DESCRIPTION file. Rather than having to remember how to do all this yourself, you can use the use_vignette function, which adds this infrastructure to the package at once. Typically, you will only use these infrastructure calls once per package. Other useful infrastructure functions are: use_cran_comments: Add a text file with comments for the people who check the package when it’s submitted to CRAN. use_readme_rmd: Create an RMarkdown “README” file that you can use to provide information on the package (similar to the vignette, but this will show up on the first page of the GitHub repo if you have one for the package). use_news_md: Create a text file to provide details of changes in later package versions. use_travis: Add the infrastructure needed to check the package on Travis when you push to GitHub. use_rcpp: Add an src directory and other infrastructure needed to use C++ code within the package. use_testthat: Add infrastructure for using package tests based on testthat. There are a few infrastructure-type functions you might use more often: use_data: Save data currently in an R object in your working session to use as data within the package. This function saves that data as an .rda file in the data folder. use_build_ignore: Add a file or files to the “.Rbuildignore” file, so they won’t cause an error with CRAN checks (one of the checks is that there aren’t any unrecognized files or directories in the top level of the package). use_package: Add a package that your package depends on to the DESCRIPTION file. 13.4.3 Finalizing an R package Once you have included all the functions and documentation for a package, there are a few more steps before that version is ready to be shared: Create a vignette and / or README file to explain how others can use the package. Run the package through CRAN checks and resolve all ERRORS, WARNINGS, and NOTES. This is required if you are submitting to CRAN. It’s usually a good idea and improves the package even if you’re not. Change the version number to a stable version (typically, development versions end in .9000, like 0.0.0.9000). When you have a stable version of the package, you’ll change this to a three-part number (e.g., 0.1.0). Build the package locally. For this, you can use the “Build” tab in the upper right RStudio tab (it will show up once you have a package project open). Build the package on other systems. You can use Travis (Unix / Linux) and build_win (Windows) to do this for those systems. Create a pdf of all help files to proofread. To do this, open a bash shell in the parent directory of the package and run R CMD Rd2pdf <packagename> (for example, if the package were csupackage, you’d run R CMD Rd2pdf csupackage). This will create a pdf in that directory with all helpfiles for all functions. If you want the package to be on CRAN, submit to CRAN. There is a function called submit_cran that will build the package and submit it to CRAN. "], ["appendix-a-vocabulary.html", "A Appendix A: Vocabulary A.1 Quiz 1—R Preliminaries A.2 Quiz 2—Entering / cleaning data #1 A.3 Quiz 3 A.4 Quiz 4 A.5 Quiz 5 A.6 Quiz 6 A.7 Quiz 7 A.8 Quiz 8 A.9 Quiz 9", " A Appendix A: Vocabulary You will be responsible for knowing the following functions and vocabulary for the weekly quizzes. A.1 Quiz 1—R Preliminaries Grading policies for the course Course requirements / policies for in-class quizzes Free and open source software “Free as in beer” versus “free as in speech” Advantages and disadvantages of interpreted languages compared to “Point-and-click” software Advantages and of interpreted languages compared to compiled languages and assembly languages Difference between R and RStudio R session R console Function arguments (including required versus optional arguments) Accessing a function’s helpfile using ? Mathematical operators: +, -, *, - R objects and object names “gets arrow”: <- Rules and style guidelines for naming objects ls() R scripts # comment character R packages CRAN Installing packages install.packages() Loading a package library() Types of package documentation: vignettes and helpfiles vignette(), option package = Vectors c() Two of the basic classes of vectors: character and numeric class() Square bracket indexing for vectors: [...] Dataframes tibble() function from the dplyr package select and slice functions to extract values from dataframes read_csv, option skip = str() summary() dim() ncol() nrow() Nate Silver FiveThirtyEight NA for missing values $ to get a column from a dataframe paste(), option sep = paste0() = vs. <- for assignment expressions package::function() notation A.2 Quiz 2—Entering / cleaning data #1 What kinds of data can be read into R? delimited files (csv, tsv) fixed width files delimiter read_delim, options delim =, skip =, n_max =, col_names = read_fwf read_csv, options skip =, n_max =, col_names = readxl package and its read_excel() function haven package and its read_sas() function NA Computer directory structure working directory getwd() list.files() relative pathnames absolute pathnames shorthand for pathnames: ., .., ../data, etc. Reading in data from either a local or online flat file paste(), option sep = paste0() How to read flat files of data that are online directly into R dplyr package rename() Why you might want to rename column names (e.g., uppercase, long, unusual characters) select() slice() mutate() filter() arrange(), including with desc() %>%, advantages of piping A.3 Quiz 3 Main types of vector classes in R: character, numeric, factor, date, logical lubridate functions, including ymd, ymd_hm, mdy, wday, and mday Common logical operators in R (==, !=, %in%, is.na(), &, |) data() (with and without the name of a dataset as an option) library() (with and without an argument in the parentheses) logical vectors, including running sum on a logical vector What the bang operator (!) does to a logical operator The tidyverse min() max() mean() median() summarize() Special functions to use with summarize(): n(), n_distinct(), first(), last() Using group_by() before using summarize() The three basic elements of a ggplot plot: data, aesthetics, and geoms aes function and common aesthetics, including color, shape, x, y, alpha, size, and fill Mapping an aesthetic to a column in the data versus setting it to a constant value Some common geoms: geom_histogram, geom_points, geom_lines, geom_boxplot() The difference between “statistical” geoms (e.g., geom_boxplot, geom_smooth) and “non-statistical” (e.g., geom_point, geom_line) Common additions to ggplot objects: ggtitle, labs, xlim, ylim, expand_limits A.4 Quiz 4 Guidelines for good graphics Data density / data-to-ink ratio Small multiples Edward Tufte Hadley Wickham Where to put the + in ggplot statements to avoid problems (ends of lines instead of starts of new lines) Can you save a ggplot object as an R object that you can reference later? If so, how would you add elements on to that object? How would you print it when you were ready to print the graph to your RStudio graphics window? geom_hline(), geom_vline() geom_text() facet_grid(), facet_wrap() grid.arrange() from the gridExtra package ggthemes package, including theme_few() and theme_tufte() Setting point color for geom_point() both as a constant (all points red) and as a way to show the level of a factor for each observation size, alpha, color Re-naming and re-ordering factors Note: If you read this and find and bring in an example of a “small multiples” graph (from a newspaper, a website, an academic paper), you can get one extra point on this quiz A.5 Quiz 5 Reproducible research, including what it is and advantages to aiming to make your research reproducible R style guidelines on variable names, <- vs. =, line length, spacing, semicolons, commenting, indentation, and code grouping Markup languages (concept and examples) Basic conventions for Markdown (bold, italics, links, headers, lists) Literate programming What working directory R uses for code in an .Rmd document Basic syntax for RMarkdown chunks, including how to name them Options for RMarkdown chunks: echo, eval, messages, warnings, include, fig.width, fig.height, results Difference between global options and chunk options, and which takes precendence What inline code is and how to write it in RMarkdown How to set global options Why style is important in coding RPubs A.6 Quiz 6 Three characteristics of tidy data Five common problems with tidy data and how to resolve them (make sure you understand the examples shown, which you can find out more about in the Hadley Wickham paper I reference in the slides) group_by with mutate, slice, and arrange separate and unite pivot_longer and pivot_wider The *_join family of functions (left_join, right_join, inner_join, full_join, anti_join, semi_join) A.7 Quiz 7 regular expressions difference in the output between str_extract and str_detect str_to_lower, str_to_upper, str_to_title, str_trim lists indexing from lists ([[ and $) exploring lists (class, names, str functions) exploring lists with jsonedit from the listviewer package tidy function from broom applied to the output from a statistical test function forcats package, including fct_recode, fct_infreq, fct_reorder, and fct_lump Bioconductor “accessor” functions for Bioconductor (e.g., get_variable) select with starts_with, select_if A.8 Quiz 8 Review of previous weeks (especially tidyverse packages: dplyr, tidyr, ggplot2, stringr, and forcats) Writing a formula with ~ syntax Regression modeling with lm, glm Using functions from broom to tidy model output (augment, tidy, glance) Nesting with group_by and nest and unnesting with unnest A list-column in a dataframe A.9 Quiz 9 Review of previous quizzes "], ["appendix-b-homework.html", "B Appendix B: Homework B.1 Homework #1 B.2 Homework #2 B.3 Homework #3 B.4 Homework #4 B.5 Homework #5 B.6 Homework #6", " B Appendix B: Homework This section provides the homework assignments for the course. B.1 Homework #1 Due date: Sept. 11 by 5:00 pm For this assignment, you will submit the assignment to me by email by the due date. You should include one file in your submission: A Word document with seven paragraphs. Each paragraph should be headed with the name of one swirl lesson and the body of the paragraph should describe that lesson and what you learned from it. For this homework assignment, you’ll be working through a few swirl lessons that are relevant to the material we’ve covered so far. Swirl is a platform that helps you learn R in R—you can complete the lessons right in your R console. Depending on your familiarity with R, you can either work through seven lessons of your choice in the R Programming: The basics of programming in R and Getting and Cleaning Data courses (suggested lessons are listed further below) (Option #1), or you can work through seven lessons of your choice taken from any number of swirl’s available courses (Option #2) . For each lesson completed, please write a few sentences that cover: 1. A summary of the topic(s) covered in that lesson, and 2. The most interesting thing that you learned from that lesson. Turn in a hardcopy of this (with your first and last name at the top) during class on the due date. To begin, you’ll first need to install the swirl package: install.packages("swirl") If you’ve never run swirl() before, you will be prompted to install a course. You can do that with the install_course function. For example, to install the R Programming course, you would run: library(swirl) install_course("R Programming") Once you’ve installed a course, every time you enter the swirl environment with swirl(), R Progamming should show up as a course option to select. You can enter R Programming to start lessons in that course by typing the number in fromt of it when you run swirl(). Once you have at least one course installed, you call the swirl() function to enter the interactive platform in RStudio. The console will take you through a few prompts: you’ll give swirl a name to call you, and take a look at some commands that are useful in the swirl environment. Those commands are listed further below. library(swirl) swirl() After calling swirl(), you may be prompted to clear your workspace variables by running rm=(list=ls()). Running this code will clear any variables you already have saved in your global environment. While swirl recommends that you do this, it’s not necessary. Some of these lessons complement online courses through Coursera, so sometimes you will be asked after you complete a lesson if you want to report your results to Coursera. You should select “No” for that option each time. B.1.1 Option 1 For Option 1 of this homework, you will need to work through seven of the 15 available lessons in the R Programming course. Here are some suggestions for particularly uesful lessons that you could choose (the lesson number within the course is in parentheses): R Programming course: Basic Building Blocks (1) Sequences of Numbers (3) Vectors (4) Missing Values (5) Subsetting Vectors (6) Logic (8) Looking at Data (12) Dates and Times (14) Getting and Cleaning Data course: Manipulating Data with dplyr (1) Grouping and Chaining with dplyr (2) Dates and Times with lubridate (4) Each lesson should take at most 10–15 minutes, but some are much shorter. You can complete the lessons in any order you want, but you may find it easiest to start with the lowest-numbered lessons and work your way up, in the order we’ve listed the lessons here. You’ll be able to get started on some of these lessons after your first day in class (“Basic Building Blocks”“, for example), but others cover topics that we’ll get to in weeks 2 and 3. Whether or not we’ve covered a swirl topic in class, you should be able to successfully work through the lesson. At the end of each lesson, you may be asked if you would like to receive credit for completing this course on Coursera.org. Always choose”no\" for this option. Again, you’ll need to compose and turn in a few sentences for each lesson. Make sure to include a summary of what each lesson was about, and the most interesting thing about that lesson. B.1.2 Option 2 If you’re already somewhat familiar with R, you might want to choose your seven lessons from other swirl courses instead of or in addition to those available in the R Programming and Getting and Cleaning Data courses. Check out the list of available Swirl Courses to see which ones you would like to install and check out available lessons for. For example, to choose a lesson in the Exploratory Data Analysis course, you would run: library(swirl) install_course("Exploratory Data Analysis") swirl() After entering the Exploratory Data Analysis course, you could choose from any one of its available lessons. In your written summary for each lesson (again, a few sentences that cover a summary of the lesson and the most interesting thing you learned), make sure to specify which course each lesson you completed was from. B.1.3 Special swirl commands In the swirl environment, knowing about the following commands will be helpful: Within each lesson, the prompt ... indicates that you should hit Enter to move on to the next section. skip(): skip the current question. play(): temporarily exit swirl. It can be useful during a swirl lesson to play around in the R console to try things out. nxt(): regain swirl’s attention after play()ing around in the console. main(): return to swirl’s main menu. bye(): exit swirl. Swirl will save your progress if you exit in the middle of a lesson. You can also hit the Esc. key to exit. (To re-enter swirl, run swirl(). In a new R session you will have to first load the swirl library: library(swirl).) B.1.3.1 For fun While they aren’t required for class, you should consider trying out some other swirl lessons later in the course. You can look through the course directory to see what other courses and lessons are available. For the first part of our course, you might find the “Exploratory Data Analysis” course helpful. If you would like to learn more about using R for statistical analysis, you might find the “Regression Models” course helpful. B.2 Homework #2 Due date: Sept. 25 by 5:00 p.m. For this assignment, you will submit the assignment to me by email by the due date. You should include three files in your submission: The final rendered Word document (rendered from an RMarkdown file). The original RMarkdown file used to create that final document. The dataset you used for the assignment. For this assignment, start by picking a dataset either from your own research or something interesting available online (if you’re struggling to find something, check out Five Thirty Eight’s GitHub data repository). You will then use this dataset to practice what you’ve learned with R so far. This will also be a chance, if you’re using a dataset from your own research for me to get an idea of how you might be planning to use R in future research. Very important note: Some research datasets have privacy constraints. This includes any datasets collected from human subjects, but can also include other datasets. For some projects, the principal investigator may prefer to keep the data private until publication of results. Before using a dataset for this project, please confirm with your research advisor that there are no constraints on the data. I do not plan to make the results of this assignment public, but I also do not want to us to be emailing back and forth a dataset with any constraints. Using your dataset, create an RMarkdown document with the content listed below. Be sure to set the echo option to TRUE so all of your code will also print out to the Word document. Include in the RMarkdown document: (1) your full name; (2) the due date of the assignment; and (3) a title that includes “Homework 2”. These should all be set in RMarkdown, not changed in the Word output. Each section I’ve listed below should be included in the RMarkdown document as its own section, with a section header created using Markdown code. Section 1: Description of the data: Describe the dataset you are using, both in terms of the content (what is this data measuring? how was it collected? what kinds of research questions are you hoping to use it to answer?) and in terms of its format (what type of file is it saved in? what if it is in a flat file, is it fixed width or delimited? if it is delimited, what is the delimiter? if it is binary, what is the program that would normally be used to open it?). (20 points) Section 2: Reading the data into R: Include code that reads the data into R and assigns it to a dataframe object that you can use later in the document. Explain in the text which R function you used to read in the data (e.g., read_csv) and which package it came from (if it was not a base R function). If there were any special options you needed to use (e.g., skip to skip some rows without data), list those and explain why you used them. Next, include some code to clean the data (e.g., rename columns, convert any dates into a “Date” format). You can filter to certain rows if you would like, but do not filter out missing values, as we’ll want to learn more about those later. (20 points) Section 3: Characteristics of the data: Describe the dataframe you just read in. How many rows does it have? How many columns? (Use inline code in the RMarkdown document to put this information into a sentence that reads “This dataframe has … rows and … columns.”.) What are the names of the columns? What does each row measure (i.e., what is the unit of observation)? Include a table (using Markdown directly or kable) explaining what each column measures. This table should have three columns: (1) the column name in the R dataframe; a very brief description of what each column measures; and (3) the units (if any) of the measurement in the column. (20 points) Section 4: Summary statistics: Pick three columns of the dataframe. Use the summarize function to get the following summaries of these columns: (1) minimum value; (2) maximum value; (3) mean value; (4) number of missing values. If there are missing values, make sure you use the appropriate options in summarizing these values to exclude those when calculating the minimum, maximum, and mean. Assign the result of this summarize call to a new R object, and print it out, so these summaries show up in your final, rendered Word document. (20 points) Section 5: Visualizing the data: Create two plots of your dataframe. One should use a “statistical” geom (e.g., histogram, bar chart, boxplot) and one a “non-statistical” geom (e.g., scatterplot, line plot for time series). Explain why these plots help you learn more about this data and about the interesting research questions you’re hoping to explore with the data. Be sure to customize the final size of each plot in the Word document using the fig.width and fig.height commands. For each plot, also be sure to customize the x- and y-axis labels. Finally, explain how each plot is following at least two of the principles of “good graphics” covered in week 4 of the course (Chapter 4 of the book)—if necessary, use ggplot functions and options to make the plots comply with some of these principles. (20 points) B.3 Homework #3 Due date: Oct. 16 This homework includes several parts. Make sure you complete each part for full credit (100 points). Complete your homework in an RMarkdown document and knit it to either Word or PDF to submit. Change your global options so that no warnings, messages, or errors are printed out, but that so all code and results are printed. (10 points) Select one of the figures you created for the last homework. You will be improving that figure in this part of the homework. Go through the six guidelines for good graphics we discussed in Chapter 6. Re-create the same plot you created in the last homework and, in a paragraph or two, list which of these elements you currently have in the plot and how these elements help make the plot more effective. (10 points) Select three of these guidelines for which you either aren’t using them in the current graph or could add to what you currently have in the plot. Create a new version of the plot based on your choice. Include a paragraph explaining how these changes make the plot more effective and how you added them. (20 points) In the titanic package (available on CRAN), there’s a titanic_train dataset we’ll use for this question. Load that dataset and create a dataframe object limited to the columns Survived and Age. Change the labeling for the Survived column so that it says “Survived” instead of “1” and “Died” instead of “0”. Print out the oldest five people who survived and who died (so, you’ll be printing out 10 rows total). (10 points) Create a histogram of the ages of people in this dataset, faceted by whether or not they survived. Arrange these so that they are vertically aligned rather than side by side (Hint: check the nrow option when faceting). Change the label on the y-axis to be something that more precisely describes what’s being shown (rather than “count”) and add a title to the plot. (10 points) Determine the mean age for each group (survived and died) for everyone who has a non-missing age, as well as the total number of people in the group and the number of people with age information missing for the group. Print out a two-row dataframe with this summary information (it should have columns for (1) which group (survived / died); (2) the mean age of people in the group with non-missing age data; (3) the total number of people in the group; and (4) the number of people in the group with missing age data). (15 points) Run a statistical test of whether there is a difference in the mean ages between the two groups (Hint: you might want to google something like “test difference two means”). You can run this test either using a simple statistical test or by fitting a linear regression—you may take either approach. (15 points) There’s a radio show on National Public Radio called “Weekend Edition”, and each week they have a “Sunday Puzzle”. The puzzle for the week ending August 5, 2018 was this: “I said think of a familiar two-word phrase in eight letters with four letters in each word. The first word starts with M. And I said move the first letter of the second word to the end, and you get a regular eight-letter word, which, amazingly, other than the M, doesn’t share any sounds with the original two-word phrase. What phrase is it?”. The winner had this to say about how he solved the problem: \"I went to the National Puzzlers’ League website and pulled up a list of eight-letter words that start with the letter M and just started scanning through it…’. You can solve this puzzle using R (some of the stringr functions, like str_count and str_sub, will be particularly helpful). Write R code to solve this puzzle. (10 points) Hint 1: Work backwords. Start with eight-letter words, and apply a backwards transform to the one described to transform them into two four-letter words. Hint 2: This link might prove very useful: https://github.com/dwyl/english-words. B.4 Homework #4 Due date: Oct. 30 For this homework, you will use a data set collected by the Washington Post on homicides in 50 large U.S. cities. The data is available through their GitHub repository: https://github.com/washingtonpost/data-homicides. You can read their accompanying article at https://www.washingtonpost.com/graphics/2018/investigations/where-murders-go-unsolved/. Submit your homework by email. You should include the Rmarkdown file (.Rmd) and the output Word document. Read in the data as an R object named homicidesand create a new column called city_name that combines the city and state like this “Baltimore, MD”. (15 points) Create a dataframe called unsolved with one row per city that gives the total number of homicides for the city and the number of unsolved homicides (those for which the disposition is “Closed without arrest” or “Open/No arrest”). (15 points) For the city of Baltimore, MD, use the prop.test function to estimate the proportion of homicides that are unsolved, as well as the 95% confidence interval for this proportion (we’re assuming that the data from the years covered by this dataset is a representative sample of Baltimore in a larger set of years). Print the output of the prop.test directly in your RMarkdown, and then save the output of prop.test as an R object and apply the tidy function from the broom package to this object and pull the estimated proportion and confidence intervals from the resulting tidy dataframe. (20 points) Now use what you learned from running prop.test for one city to run prop.test for all the cities. Your goal is to create the dataframe you need to create the figure shown below, where the points show the estimated proportions of unsolved homicides in each city and the horizontal lines show the estimated 95% confidence intervals. Do this all within a “tidy” pipeline, starting from the unsolved dataframe that you created for step 3. Use map2 from purrr to apply prop.test within each city and then map from purrr to apply tidy to this output. Use the unnest function from the tidyr package on the resulting list-column (from mapping tidy to the prop.test output list-column), with the option .drop = TRUE, to get your estimates back into a regular tidy data frame before plotting. (25 points) Create the plot shown below. Hint: Check out the geom_errorbarh geom with the height = 0 option to get the horizontal lines for the confidence intervals. To get full points, be very careful to make sure that all labeling, color choices, figure dimensions, etc., in your figure match the figure shown here. (25 points) B.5 Homework #5 Due date: Nov. 13 For this homework, you will continue using the dataset used for Homework #4. You will submit this project by sending me the link to a GitHub repository. For the write-up of this homework, you’ll need to write an RMarkdown document and render it to a pdf file within the R Project for the GitHub repository. B.5.1 Setting up a GitHub repository for this project Take the following steps to set up your GitHub repository for the homework (we will work on this as an in-course exercise): Set up a local (i.e., on your computer) R project with subdirectories for the data, writing (this is where you’ll put your Rmarkdown file and the output file), and figures. Download the Washington Post data and save it in an appropriate place in this R project directory. Initialize git for the R project and make your initial commit. Create an RMarkdown file for your homework answers in the appropriate subdirectory and save it. Commit this change with an appropriate commit message. (At this stage, you can look at your “History” in the git commit window to see the changes you’ve made so far.) Login to your GitHub account and create a new, blank repo with the same name as your R project. (If you have not already set up an SSH key to make it easier to push back and forth between your computer and GitHub, do so now.) On your computer, specify your GitHub repository as the remote for your project and do an initial push to send all the files to the GitHub repo. Look at your repository on GitHub to make sure it worked. Add a README.md file to the top level of your R project (on your local computer) using Markdown syntax and then commit the change locally and push to your GitHub repository. For the README.md file, you can create a text file in RStudio and save it as “README.md”. You can then write this file using Markdown syntax (like RMarkdown, but without any code chunks). As you work on your homework, make sure you commit regularly (with helpful commit messages). You should have at least 15 commit messages in your history for the repo by the time you turn in the homework. Select one of the following two figures to create for the homework: Choice 1: Pick one city in the data. Create a map showing the locations of the homicides in that city, using the sf framework discussed in class. Use tigris to download boundaries for some sub-city geography (e.g., tracts, block groups, county subdivisions) to show as a layer underneath the points showing homicides. Use different facets for solved versus unsolved homicides and different colors to show the three race groups with the highest number of homicides for that city (you may find the fct_lump function from forcats useful for this). Choice 2: Recreate the graph shown below. It shows monthly homicides in Baltimore, with a reference added for the date of the arrest of Freddie Gray and color used to show colder months (November through April) versus warmer months (May through October). There is a smooth line added to help show seasonal and long-term trends in this data. B.6 Homework #6 Due date: Wednesday, Dec. 4 Read the article Good Enough Practices in Scientific Computing by Wilson et al. (available here). In a half page, describe which of these “pretty good practices” you are incorporating for your group project. Also list one or two practices that you are not following but that would have made sense and how you could change your practices to follow them. Find an article in The R Journal that describes an R package that you could use in your own research or otherwise find interesting. Describe why the package was created and what you think it’s most interesting features are. In an R Markdown document, run one or two of the R examples included in the article. "] ]

  • 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�PSq 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