library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(openintro)
## Loading required package: airports
## Loading required package: cherryblossom
## Loading required package: usdata
glimpse(arbuthnot)

Exercise 1

arbuthnot$girls
##  [1] 4683 4457 4102 4590 4839 4820 4928 4605 4457 4952 4784 5332 5200 4910 4617
## [16] 3997 3919 3395 3536 3181 2746 2722 2840 2908 2959 3179 3349 3382 3289 3013
## [31] 2781 3247 4107 4803 4881 5681 4858 4319 5322 5560 5829 5719 6061 6120 5822
## [46] 5738 5717 5847 6203 6033 6041 6299 6533 6744 7158 7127 7246 7119 7214 7101
## [61] 7167 7302 7392 7316 7483 6647 6713 7229 7767 7626 7452 7061 7514 7656 7683
## [76] 5738 7779 7417 7687 7623 7380 7288
ggplot(data = arbuthnot, aes(x = year, y = girls)) + 
  geom_point()

Exercise 2

After the year 1660 the baptisms of girls have steadily grown since then.

arbuthnot$boys + arbuthnot$girls
##  [1]  9901  9315  8524  9584  9997  9855 10034  9522  9160 10311 10150 10850
## [13] 10670 10370  9410  8104  7966  7163  7332  6544  5825  5612  6071  6128
## [25]  6155  6620  7004  7050  6685  6170  5990  6971  8855 10019 10292 11722
## [37]  9972  8997 10938 11633 12335 11997 12510 12563 11895 11851 11775 12399
## [49] 12626 12601 12288 12847 13355 13653 14735 14702 14730 14694 14951 14588
## [61] 14771 15211 15054 14918 15159 13632 13976 14861 15829 16052 15363 14639
## [73] 15616 15687 15448 11851 16145 15369 16066 15862 15220 14928
arbuthnot <- arbuthnot %>%
  mutate(total = boys + girls)
ggplot(data = arbuthnot, aes(x = year, y = total)) + 
  geom_line()

arbuthnot <- arbuthnot %>%
  mutate(boy_to_girl_ratio = boys / girls)
arbuthnot <- arbuthnot %>%
  mutate(boy_ratio = boys / total)

Exercise 3

The plot shows that the proportions of boys vs girls over time and the result being that more boys are being born than girls. This trend supports Arbuthnot’s observations that more boys are born rather than girls.

present <- present %>%
  mutate(total = boys + girls)


present <- present %>%
  mutate(boy_ratio = boys / total)


library(ggplot2)

ggplot(data = present, aes(x = year, y = boy_ratio)) + 
  geom_line() +
  labs(title = "Proportion of Boys Born Over Time in the U.S.", 
       x = "Year", 
       y = "Proportion of Boys") +
  theme_minimal()

Exercise 4

The years 1940-45 is included in this data set.

present <- present %>%
  mutate(more_boys = boys > girls)


head(present)
## # A tibble: 6 × 6
##    year    boys   girls   total boy_ratio more_boys
##   <dbl>   <dbl>   <dbl>   <dbl>     <dbl> <lgl>    
## 1  1940 1211684 1148715 2360399     0.513 TRUE     
## 2  1941 1289734 1223693 2513427     0.513 TRUE     
## 3  1942 1444365 1364631 2808996     0.514 TRUE     
## 4  1943 1508959 1427901 2936860     0.514 TRUE     
## 5  1944 1435301 1359499 2794800     0.514 TRUE     
## 6  1945 1404587 1330869 2735456     0.513 TRUE

Exercise 5

The output will give you the minimum and maximum numbers of boys and girls born in a year. These values also help you understand the range of birth numbers over time.

present %>%
  summarize(min_boys = min(boys), max_boys = max(boys),
            min_girls = min(girls), max_girls = max(girls))
## # A tibble: 1 × 4
##   min_boys max_boys min_girls max_girls
##      <dbl>    <dbl>     <dbl>     <dbl>
## 1  1211684  2186274   1148715   2082052

Exercise 6

The birth counts in the dataset are much larger than Arbuthnot’s data. The maximum values in the present data will be in the millions but Arbuthnot’s data had data with the thousands.

present <- present %>%
  mutate(total = boys + girls)


present <- present %>%
  mutate(boy_ratio = boys / total)


library(ggplot2)

ggplot(data = present, aes(x = year, y = boy_ratio)) + 
  geom_line() +
  labs(title = "Proportion of Boys Born Over Time in the U.S.", 
       x = "Year", 
       y = "Proportion of Boys") +
  theme_minimal()

Exercise 7

Year 1961 had the most births in the U.S.

present <- present %>%
  arrange(desc(total))


head(present, 1)
## # A tibble: 1 × 6
##    year    boys   girls   total boy_ratio more_boys
##   <dbl>   <dbl>   <dbl>   <dbl>     <dbl> <lgl>    
## 1  1961 2186274 2082052 4268326     0.512 TRUE
LS0tDQp0aXRsZTogIkxhYiAxOiBJbnRybyB0byBSIg0KYXV0aG9yOiAiQWRyaWFuIFVyaWFydGUiDQpkYXRlOiAiOS8yLzI0Ig0Kb3V0cHV0OiBvcGVuaW50cm86OmxhYl9yZXBvcnQNCi0tLQ0KDQpgYGB7ciBsb2FkLXBhY2thZ2VzLCBtZXNzYWdlPVRSVUV9DQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkob3BlbmludHJvKQ0KYGBgDQoNCmBgYA0KZ2xpbXBzZShhcmJ1dGhub3QpDQpgYGANCg0KDQojIyMgRXhlcmNpc2UgMQ0KDQpgYGB7ciB2aWV3LWdpcmxzLWNvdW50c30NCmFyYnV0aG5vdCRnaXJscw0KZ2dwbG90KGRhdGEgPSBhcmJ1dGhub3QsIGFlcyh4ID0geWVhciwgeSA9IGdpcmxzKSkgKyANCiAgZ2VvbV9wb2ludCgpDQpgYGANCg0KDQojIyMgRXhlcmNpc2UgMg0KDQpBZnRlciB0aGUgeWVhciAxNjYwIHRoZSBiYXB0aXNtcyBvZiBnaXJscyBoYXZlIHN0ZWFkaWx5IGdyb3duIHNpbmNlIHRoZW4uDQoNCmBgYHtyIHRyZW5kLWdpcmxzfQ0KYXJidXRobm90JGJveXMgKyBhcmJ1dGhub3QkZ2lybHMNCmFyYnV0aG5vdCA8LSBhcmJ1dGhub3QgJT4lDQogIG11dGF0ZSh0b3RhbCA9IGJveXMgKyBnaXJscykNCmdncGxvdChkYXRhID0gYXJidXRobm90LCBhZXMoeCA9IHllYXIsIHkgPSB0b3RhbCkpICsgDQogIGdlb21fbGluZSgpDQphcmJ1dGhub3QgPC0gYXJidXRobm90ICU+JQ0KICBtdXRhdGUoYm95X3RvX2dpcmxfcmF0aW8gPSBib3lzIC8gZ2lybHMpDQphcmJ1dGhub3QgPC0gYXJidXRobm90ICU+JQ0KICBtdXRhdGUoYm95X3JhdGlvID0gYm95cyAvIHRvdGFsKQ0KYGBgDQoNCg0KIyMjIEV4ZXJjaXNlIDMNCg0KVGhlIHBsb3Qgc2hvd3MgdGhhdCB0aGUgcHJvcG9ydGlvbnMgb2YgYm95cyB2cyBnaXJscyBvdmVyIHRpbWUgYW5kIHRoZSByZXN1bHQgYmVpbmcgdGhhdCBtb3JlIGJveXMgYXJlIGJlaW5nIGJvcm4gdGhhbiBnaXJscy4gVGhpcyB0cmVuZCBzdXBwb3J0cyBBcmJ1dGhub3QncyBvYnNlcnZhdGlvbnMgdGhhdCBtb3JlIGJveXMgYXJlIGJvcm4gcmF0aGVyIHRoYW4gZ2lybHMuDQoNCmBgYHtyIHBsb3QtcHJvcC1ib3lzLWFyYnV0aG5vdH0NCg0KcHJlc2VudCA8LSBwcmVzZW50ICU+JQ0KICBtdXRhdGUodG90YWwgPSBib3lzICsgZ2lybHMpDQoNCg0KcHJlc2VudCA8LSBwcmVzZW50ICU+JQ0KICBtdXRhdGUoYm95X3JhdGlvID0gYm95cyAvIHRvdGFsKQ0KDQoNCmxpYnJhcnkoZ2dwbG90MikNCg0KZ2dwbG90KGRhdGEgPSBwcmVzZW50LCBhZXMoeCA9IHllYXIsIHkgPSBib3lfcmF0aW8pKSArIA0KICBnZW9tX2xpbmUoKSArDQogIGxhYnModGl0bGUgPSAiUHJvcG9ydGlvbiBvZiBCb3lzIEJvcm4gT3ZlciBUaW1lIGluIHRoZSBVLlMuIiwgDQogICAgICAgeCA9ICJZZWFyIiwgDQogICAgICAgeSA9ICJQcm9wb3J0aW9uIG9mIEJveXMiKSArDQogIHRoZW1lX21pbmltYWwoKQ0KYGBgDQoNCg0KIyMjIEV4ZXJjaXNlIDQNCg0KVGhlIHllYXJzIDE5NDAtNDUgaXMgaW5jbHVkZWQgaW4gdGhpcyBkYXRhIHNldC4NCg0KYGBge3IgZGltLXByZXNlbnR9DQoNCnByZXNlbnQgPC0gcHJlc2VudCAlPiUNCiAgbXV0YXRlKG1vcmVfYm95cyA9IGJveXMgPiBnaXJscykNCg0KDQpoZWFkKHByZXNlbnQpDQpgYGANCg0KDQojIyMgRXhlcmNpc2UgNQ0KDQpUaGUgb3V0cHV0IHdpbGwgZ2l2ZSB5b3UgdGhlIG1pbmltdW0gYW5kIG1heGltdW0gbnVtYmVycyBvZiBib3lzIGFuZCBnaXJscyBib3JuIGluIGEgeWVhci4gVGhlc2UgdmFsdWVzIGFsc28gaGVscCB5b3UgdW5kZXJzdGFuZCB0aGUgcmFuZ2Ugb2YgYmlydGggbnVtYmVycyBvdmVyIHRpbWUuDQoNCmBgYHtyIGNvdW50LWNvbXBhcmV9DQoNCnByZXNlbnQgJT4lDQogIHN1bW1hcml6ZShtaW5fYm95cyA9IG1pbihib3lzKSwgbWF4X2JveXMgPSBtYXgoYm95cyksDQogICAgICAgICAgICBtaW5fZ2lybHMgPSBtaW4oZ2lybHMpLCBtYXhfZ2lybHMgPSBtYXgoZ2lybHMpKQ0KDQpgYGANCg0KDQojIyMgRXhlcmNpc2UgNg0KDQpUaGUgYmlydGggY291bnRzIGluIHRoZSBkYXRhc2V0IGFyZSBtdWNoIGxhcmdlciB0aGFuIEFyYnV0aG5vdCdzIGRhdGEuIFRoZSBtYXhpbXVtIHZhbHVlcyBpbiB0aGUgcHJlc2VudCBkYXRhIHdpbGwgYmUgaW4gdGhlIG1pbGxpb25zIGJ1dCBBcmJ1dGhub3QncyBkYXRhIGhhZCBkYXRhIHdpdGggdGhlIHRob3VzYW5kcy4NCg0KYGBge3IgcGxvdC1wcm9wLWJveXMtcHJlc2VudH0NCg0KcHJlc2VudCA8LSBwcmVzZW50ICU+JQ0KICBtdXRhdGUodG90YWwgPSBib3lzICsgZ2lybHMpDQoNCg0KcHJlc2VudCA8LSBwcmVzZW50ICU+JQ0KICBtdXRhdGUoYm95X3JhdGlvID0gYm95cyAvIHRvdGFsKQ0KDQoNCmxpYnJhcnkoZ2dwbG90MikNCg0KZ2dwbG90KGRhdGEgPSBwcmVzZW50LCBhZXMoeCA9IHllYXIsIHkgPSBib3lfcmF0aW8pKSArIA0KICBnZW9tX2xpbmUoKSArDQogIGxhYnModGl0bGUgPSAiUHJvcG9ydGlvbiBvZiBCb3lzIEJvcm4gT3ZlciBUaW1lIGluIHRoZSBVLlMuIiwgDQogICAgICAgeCA9ICJZZWFyIiwgDQogICAgICAgeSA9ICJQcm9wb3J0aW9uIG9mIEJveXMiKSArDQogIHRoZW1lX21pbmltYWwoKQ0KYGBgDQoNCg0KIyMjIEV4ZXJjaXNlIDcNCg0KWWVhciAxOTYxIGhhZCB0aGUgbW9zdCBiaXJ0aHMgaW4gdGhlIFUuUy4NCg0KYGBge3IgZmluZC1tYXgtdG90YWx9DQoNCnByZXNlbnQgPC0gcHJlc2VudCAlPiUNCiAgYXJyYW5nZShkZXNjKHRvdGFsKSkNCg0KDQpoZWFkKHByZXNlbnQsIDEpDQoNCmBgYA0KDQo=