install.packages(‘readr’) ## Instructions

Refer to the detailed instructions for this assignment in Brightspace.

Data Import

Don’t alter the three code chunks in this section. First we read in the two data sets and deleting missing values.

library(tidyverse)
fluoride <- read_csv("http://jamessuleiman.com/teaching/datasets/fluoride.csv")
fluoride <- fluoride %>% drop_na()
arsenic <- read_csv("http://jamessuleiman.com/teaching/datasets/arsenic.csv")
arsenic <- arsenic %>% drop_na()

Next we display the first few rows of fluoride.

head(fluoride)
## # A tibble: 6 x 6
##   location  n_wells_tested percent_wells_above_gui… median percentile_95 maximum
##   <chr>              <dbl>                    <dbl>  <dbl>         <dbl>   <dbl>
## 1 Otis                  60                     30    1.13           3.2      3.6
## 2 Dedham               102                     22.5  0.94           3.27     7  
## 3 Denmark               46                     19.6  0.45           3.15     3.9
## 4 Surry                175                     18.3  0.8            3.52     6.9
## 5 Prospect              57                     17.5  0.785          2.5      2.7
## 6 Eastbrook             31                     16.1  1.29           2.44     3.3

Then we display the first few rows of arsenic.

head(arsenic)
## # A tibble: 6 x 6
##   location    n_wells_tested percent_wells_above_g… median percentile_95 maximum
##   <chr>                <dbl>                  <dbl>  <dbl>         <dbl>   <dbl>
## 1 Manchester             275                   58.9   14            93       200
## 2 Gorham                 467                   50.1   10.5         130       460
## 3 Columbia                42                   50      9.8          65.9     200
## 4 Monmouth               277                   49.5   10           110       368
## 5 Eliot                   73                   49.3    9.7          41.4      45
## 6 Columbia F…             25                   48      8.1          53.8      71

Join data

In the code chunk below, create a new tibble called chemicals that joins fluoride and arsenic. You probably want to do an inner join but the join type is up to you.

chemicals <- fluoride%>% inner_join(arsenic, by = "location")

The next code chunk displays the head of your newly created chemicals tibble. Take a look to verify that your join looks ok.

head(chemicals)
## # A tibble: 6 x 11
##   location n_wells_tested.x percent_wells_a… median.x percentile_95.x maximum.x
##   <chr>               <dbl>            <dbl>    <dbl>           <dbl>     <dbl>
## 1 Otis                   60             30      1.13             3.2        3.6
## 2 Dedham                102             22.5    0.94             3.27       7  
## 3 Denmark                46             19.6    0.45             3.15       3.9
## 4 Surry                 175             18.3    0.8              3.52       6.9
## 5 Prospect               57             17.5    0.785            2.5        2.7
## 6 Eastbro…               31             16.1    1.29             2.44       3.3
## # … with 5 more variables: n_wells_tested.y <dbl>,
## #   percent_wells_above_guideline.y <dbl>, median.y <dbl>,
## #   percentile_95.y <dbl>, maximum.y <dbl>

Intersting subset

In the code chunk below create an interesting subset of the data. You’ll likely find an interesting subset by filtering for locations that have high or low levels of arsenic, flouride, or both.

wells_above_limits <- filter(chemicals, maximum.x > 2, maximum.y > 10) 
slice_max(chemicals, percent_wells_above_guideline.x + percent_wells_above_guideline.y, n=5)
## # A tibble: 5 x 11
##   location n_wells_tested.x percent_wells_a… median.x percentile_95.x maximum.x
##   <chr>               <dbl>            <dbl>    <dbl>           <dbl>     <dbl>
## 1 Otis                   60             30       1.13            3.2        3.6
## 2 Manches…              276              3.3     0.3             1.7        3.6
## 3 Surry                 175             18.3     0.8             3.52       6.9
## 4 Monmouth              288              3.1     0.3             1.68       3.4
## 5 Blue Hi…              209              9.6     0.43            2.86       4.5
## # … with 5 more variables: n_wells_tested.y <dbl>,
## #   percent_wells_above_guideline.y <dbl>, median.y <dbl>,
## #   percentile_95.y <dbl>, maximum.y <dbl>

This query returns the locations with the highest combined percentage of well above acceptable arsenic and fluoride levels. The data was filtered to display the entries that exceeded the Maine’s Maximum Exposure Guideline of 2 milligrams/liter and 10 milligrams/liter for fluoride and arsenic, respectively. The results of this query could assist decision-makers in prioritizing further testing or remediation allocations for each location.

Display the first few rows of your interesting subset in the code chunk below.

wells_above_limits <- filter(chemicals, maximum.x > 2, maximum.y > 10) 
wells_above_limits_5 <- slice_max(wells_above_limits, percent_wells_above_guideline.x + percent_wells_above_guideline.y, n=5)

Visualize your subset

In the code chunk below, create a ggplot visualization of your subset that is fairly simple for a viewer to comprehend.

Figure 1. Frequency (n) of wells above fluoride guidelines (%) by location according to Maine's Maximum Exposure Guidleine of 2 milligrams/liter

Figure 1. Frequency (n) of wells above fluoride guidelines (%) by location according to Maine’s Maximum Exposure Guidleine of 2 milligrams/liter

Once you are done, knit, publish, and then submit your link to your published RPubs document in Brightspace.