From f79b3ace181536090eb8fbedfaa3a887ac028ac6 Mon Sep 17 00:00:00 2001 From: aaronshaw Date: Fri, 16 Oct 2020 16:32:18 -0500 Subject: [PATCH 1/1] typos for ch5 and more elaborate tidyverse example code w more verbose --- os_exercises/ch5_exercises_solutions.html | 8 +-- os_exercises/ch5_exercises_solutions.rmd | 4 +- psets/pset3-worked_solution.html | 72 +++++++++++++++++++--- psets/pset3-worked_solution.pdf | Bin 404119 -> 407400 bytes psets/pset3-worked_solution.rmd | 53 +++++++++++++--- 5 files changed, 115 insertions(+), 22 deletions(-) diff --git a/os_exercises/ch5_exercises_solutions.html b/os_exercises/ch5_exercises_solutions.html index ef20494..a30a272 100644 --- a/os_exercises/ch5_exercises_solutions.html +++ b/os_exercises/ch5_exercises_solutions.html @@ -1569,15 +1569,15 @@ SE = \sqrt{\frac{p(1-p)}{n}}\\ \end{array}\]

-
-

5.8 Twitter users and news, Part I

+
+

5.8 Twitter users & news I

The general formula for a confidence interval is \(point~estimate~±~z^*\times~SE\). Where \(z^*\) corresponds to the z-score for the desired value of \(\alpha\).

To estimate the interval from the data described in the question, identify the three different values. The point estimate is 45%, \(z^* = 2.58\) for a 99% confidence level (that’s the number of standard deviations around the mean that ensure that 99% of a Z-score distribution is included), and \(SE = 2.4\%\). With this we can plug and chug:

\[52\% ± 2.58 \times 2.4\%\] And that yields: \[95\% CI = (45.8\%, 58.2\%)\]

Which means that from this data we are 99% confident that between 45.8% and 58.2% U.S. adult Twitter users get some news through the site.

-
-

5.10 Twitter users and news, Part II

+
+

5.10 Twitter users & news II

  1. False. See the answer to exercise 5.8 above. With \(\alpha = 0.01\), we can consult the 99% confidence interval. It includes 50% but also goes lower. A null hypothesis of \(p=0.50\) would not be rejected at this level.

  2. False. The standard error of the sample proportion does not contain any information about the proportion of the population included in the sample. It estimates the variability of the sample proportion.

  3. diff --git a/os_exercises/ch5_exercises_solutions.rmd b/os_exercises/ch5_exercises_solutions.rmd index 5965223..334cb9a 100644 --- a/os_exercises/ch5_exercises_solutions.rmd +++ b/os_exercises/ch5_exercises_solutions.rmd @@ -57,7 +57,7 @@ SE = \sqrt{\frac{p(1-p)}{n}}\\ \phantom{SE} = 0.0177 \end{array}$$ -# 5.8 Twitter users and news, Part I +# 5.8 Twitter users & news I The general formula for a confidence interval is $point~estimate~±~z^*\times~SE$. Where $z^*$ corresponds to the z-score for the desired value of $\alpha$. @@ -70,7 +70,7 @@ $$95\% CI = (45.8\%, 58.2\%)$$ Which means that from this data we are 99% confident that between 45.8% and 58.2% U.S. adult Twitter users get some news through the site. -# 5.10 Twitter users and news, Part II +# 5.10 Twitter users & news II (a) False. See the answer to exercise 5.8 above. With $\alpha = 0.01$, we can consult the 99% confidence interval. It includes 50% but also goes lower. A null hypothesis of $p=0.50$ would not be rejected at this level. diff --git a/psets/pset3-worked_solution.html b/psets/pset3-worked_solution.html index 0d9a589..20d0eae 100644 --- a/psets/pset3-worked_solution.html +++ b/psets/pset3-worked_solution.html @@ -1786,18 +1786,73 @@ round( ## other 0.00 0.00 ## white 0.64 0.51

    Here the noteworthy comparisons again arise within the black and hispanic categories. Both groups account for a substantially larger proportion of stops resulting in searches vs. those that do not result in searches.

    -

    For the sake of completeness/comparison, here’s a way to do similar cross-tabulations in single a chunk of tidyverse code. I include conditional proportions of all stops to facilitate comparison with some of the tables I created earlier as well:

    +

    For the sake of completeness/comparison, here’s a way to do similar cross-tabulations in chunks of tidyverse code. This first bit summarizes the number of stops and proportion of total stops accounted for within each of the categories of subject_race.

    ilstops %>%
       group_by(subject_race) %>%
       filter(!is.na(subject_race)) %>%
    +  summarize(
    +    n_stops = n(),
    +    prop_total_stops = round(n() / nrow(ilstops), digits = 3),
    +  )
    +
    ## # A tibble: 5 x 3
    +##   subject_race           n_stops prop_total_stops
    +##   <fct>                    <int>            <dbl>
    +## 1 asian/pacific islander    4053            0.032
    +## 2 black                    25627            0.202
    +## 3 hispanic                 16940            0.133
    +## 4 other                      335            0.003
    +## 5 white                    80105            0.63
    +

    In that block I first make a call to group_by() to tell R that I want it to run subsequent commands on the data “grouped” within the categories of subject_race. Then I pipe the grouped data to summarize(), which I use to calculate the number of stops within each group (in this data that’s just the number of observations within each group) as well as the proportion of total stops within each group.

    +

    What about counting up the number and proportion of searches within each group? One way to think about that is as another call to summarize() (since, after all, I want to calculate the summary information for searches within the same groups). Within the Tidyverse approach to things, this kind of summarizing within groups and within another variable (search_conducted in this case) can be accomplished with the across() function.

    +

    In general, the across() function seems to usually be made within a call to another verb like summarize() or mutate(). The syntax for across() is similar to these others. It requires two things: (1) at least one variable to summarize across (search_conducted here) and (2) the outputs I want.

    +

    In this particular case, I’ll use it to calculate the within group sums of search_conducted. Notice that I also filter out the missing values from search_conducted before I call summarize here.

    +
    ilstops %>%
    +  group_by(subject_race) %>%
    +  filter(!is.na(subject_race), !is.na(search_conducted)) %>%
    +  summarize(
    +    across(search_conducted, sum)
    +  )
    +
    ## # A tibble: 5 x 2
    +##   subject_race           search_conducted
    +##   <fct>                             <int>
    +## 1 asian/pacific islander               68
    +## 2 black                              1806
    +## 3 hispanic                           1049
    +## 4 other                                14
    +## 5 white                              3010
    +

    If I want across() to calculate more than one summary, I need to provide it a list of things (in a name = value format sort of similar to summarize() or mutate()).

    +
    ilstops %>%
    +  group_by(subject_race) %>%
    +  filter(!is.na(subject_race) & !is.na(search_conducted)) %>%
    +  summarize(
    +    across(
    +      search_conducted,
    +      list(
    +        sum = sum,
    +        over_n_stops = mean
    +      )
    +    )
    +  )
    +
    ## # A tibble: 5 x 3
    +##   subject_race           search_conducted_sum search_conducted_over_n_stops
    +##   <fct>                                 <int>                         <dbl>
    +## 1 asian/pacific islander                   68                        0.0168
    +## 2 black                                  1806                        0.0707
    +## 3 hispanic                               1049                        0.0620
    +## 4 other                                    14                        0.0419
    +## 5 white                                  3010                        0.0376
    +

    I can clean this up a bit by using two functions to the output in descending order by one of the columns. I do this with a nested call to two functions arrange() and desc(). I can also insert my earlier summary statistics for the number and proportions of stops by group back into the table.

    +
    ilstops %>%
    +  group_by(subject_race) %>%
    +  filter(!is.na(subject_race) & !is.na(search_conducted)) %>%
       summarize(
         n_stops = n(),
         prop_total_stops = round(n() / nrow(ilstops), digits = 3),
         across(
           search_conducted,
           list(
    -        sum = ~ sum(.x, na.rm = TRUE),
    -        over_n_stops = ~ round(mean(.x, na.rm = TRUE), digits = 3)
    +        sum = sum,
    +        over_n_stops = mean
           )
         )
       ) %>%
    @@ -1805,12 +1860,11 @@ round(
     
    ## # A tibble: 5 x 5
     ##   subject_race    n_stops prop_total_stops search_conducted… search_conducted_o…
     ##   <fct>             <int>            <dbl>             <int>               <dbl>
    -## 1 white             80105            0.63               3010               0.038
    -## 2 black             25627            0.202              1806               0.071
    -## 3 hispanic          16940            0.133              1049               0.062
    -## 4 asian/pacific …    4053            0.032                68               0.017
    -## 5 other               335            0.003                14               0.042
    -

    Notice the use of across() within a call to summarize() provides one way to calculate conditional summariy info. I also use a nested call to arrange() and desc() at the end to sort my results in descending order by one of the columns.

    +## 1 white 80043 0.63 3010 0.0376 +## 2 black 25548 0.201 1806 0.0707 +## 3 hispanic 16914 0.133 1049 0.0620 +## 4 asian/pacific … 4049 0.032 68 0.0168 +## 5 other 334 0.003 14 0.0419

Searches by date

diff --git a/psets/pset3-worked_solution.pdf b/psets/pset3-worked_solution.pdf index ebe5c8a458434262cc9789644b30fb7da16c46e3..c9d3bcdfa28cc6abbe6a6c42cc489c216bd37304 100644 GIT binary patch delta 35044 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 delta 31958 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

-Saz^y$)t5D{PmM4nwzzia>7X`SW)W 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 group_by(subject_race) %>% filter(!is.na(subject_race)) %>% summarize( n_stops = n(), prop_total_stops = round(n() / nrow(ilstops), digits=3), + ) +``` +In that block I first make a call to `group_by()` to tell R that I want it to run subsequent commands on the data "grouped" within the categories of `subject_race`. Then I pipe the grouped data to `summarize()`, which I use to calculate the number of stops within each group (in this data that's just the number of observations within each group) as well as the proportion of total stops within each group. + +What about counting up the number and proportion of searches within each group? One way to think about that is as another call to `summarize()` (since, after all, I want to calculate the summary information for searches within the same groups). Within the Tidyverse approach to things, this kind of summarizing within groups and within another variable (`search_conducted` in this case) can be accomplished with the `across()` function. + +In general, the `across()` function seems to usually be made within a call to another verb like `summarize()` or `mutate()`. The syntax for `across()` is similar to these others. It requires two things: (1) at least one variable to summarize across (`search_conducted` here) and (2) the outputs I want. + +In this particular case, I'll use it to calculate the within group sums of `search_conducted`. Notice that I also filter out the missing values from `search_conducted` before I call `summarize` here. +```{r } +ilstops %>% + group_by(subject_race) %>% + filter(!is.na(subject_race), !is.na(search_conducted)) %>% + summarize( + across(search_conducted, sum) + ) +``` +If I want `across()` to calculate more than one summary, I need to provide it a list of things (in a `name = value` format sort of similar to `summarize()` or `mutate()`). + +```{r} +ilstops %>% + group_by(subject_race) %>% + filter(!is.na(subject_race) & !is.na(search_conducted)) %>% + summarize( across( search_conducted, list( - sum = ~ sum(.x, na.rm=TRUE), - over_n_stops = ~ round(mean(.x, na.rm=TRUE), digits=3) + sum = sum, + over_n_stops = mean ) ) - ) %>% - arrange(desc(n_stops)) + ) ``` +I can clean this up a bit by using two functions to the output in descending order by one of the columns. I do this with a nested call to two functions `arrange()` and `desc()`. I can also insert my earlier summary statistics for the number and proportions of stops by group back into the table. -Notice the use of `across()` within a call to `summarize()` provides one way to calculate conditional summariy info. I also use a nested call to `arrange()` and `desc()` at the end to sort my results in descending order by one of the columns. +```{r} +ilstops %>% + group_by(subject_race) %>% + filter(!is.na(subject_race) & !is.na(search_conducted)) %>% + summarize( + n_stops = n(), + prop_total_stops = round(n() / nrow(ilstops), digits=3), + across( + search_conducted, + list( + sum = sum, + over_n_stops = mean) + ) + ) %>% + arrange(desc(n_stops)) +``` ### Searches by `date` -- 2.39.5