── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr 1.1.2 ✔ readr 2.1.5
✔ forcats 1.0.0 ✔ stringr 1.5.0
✔ ggplot2 3.4.2 ✔ tibble 3.2.1
✔ lubridate 1.9.3 ✔ tidyr 1.3.0
✔ purrr 1.0.1
── 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(readxl) # package to open excel fileslibrary(plotly) # a graphics package, and alternative to ggplot2
Attaching package: 'plotly'
The following object is masked from 'package:ggplot2':
last_plot
The following object is masked from 'package:stats':
filter
The following object is masked from 'package:graphics':
layout
# A tibble: 4 × 2
race n
<chr> <int>
1 .i: Inapplicable 53
2 Black 975
3 Other 579
4 White 4702
survey |>mutate(race =as_factor(race)) |>mutate(race =fct_recode(race,NULL =".d: Do not Know/Cannot Choose",NULL =".n: No answer",NULL =".i: Inapplicable")) |>drop_na(race) |>mutate(race =fct_infreq(race)) |>plot_ly(x =~race) |>add_histogram()
This histogram shows the majority of people who participated in the survey were white with 4,702 white respondents. The second most was black with 975 respondents. And lastly was other with 579 respondents.
survey |>mutate(spanking =as_factor(spanking)) |>mutate(spanking =fct_recode(spanking,NULL =".d: Do not Know/Cannot Choose",NULL =".n: No answer",NULL =".i: Inapplicable",NULL =".s: Skipped on Web")) |>drop_na(spanking) |>mutate(spanking =fct_infreq(spanking)) |>plot_ly(x =~spanking) |>add_histogram()
The histogram shows peoples stances on spankings. Most people agreed with spanking with 1,274 respondents answering agree. While the least amount of people responded with strongly disagree with 453 responses.
survey |>count(spanking)
# A tibble: 8 × 2
spanking n
<chr> <int>
1 .d: Do not Know/Cannot Choose 29
2 .i: Inapplicable 3025
3 .n: No answer 5
4 .s: Skipped on Web 7
5 AGREE 1274
6 DISAGREE 810
7 STRONGLY AGREE 706
8 STRONGLY DISAGREE 453
survey |>mutate(spanking =as_factor(spanking)) |>mutate(spanking =fct_recode(spanking,NULL =".d: Do not Know/Cannot Choose",NULL =".i: Inapplicable",NULL =".n: No answer",NULL =".s: Skipped on Web",NULL =".i: Inapplicable")) |>mutate(spanking =fct_relevel(spanking,c("STRONGLY DISAGREE","DISAGREE","AGREE","STRONGLY AGREE"))) |>drop_na(spanking) |>mutate(spanking =as.numeric(spanking)) |>count(spanking)
survey |>mutate(childs =as_factor(childs)) |>mutate(childs =fct_recode(childs,NULL =".d: Do not Know/Cannot Choose",NULL =".n: No answer",NULL =".s: Skipped on Web",NULL =".i: Inapplicable")) |>mutate(childs =fct_recode(childs,"8"="8 or more")) |>drop_na(childs) |>mutate(childs =fct_infreq(childs)) |>plot_ly(x =~childs) |>add_histogram()
This histogram shows that most children fall into 0, with 1906.
survey |>mutate(spanking =as_factor(spanking)) |>mutate(spanking =fct_recode(spanking,NULL =".d: Do not Know/Cannot Choose",NULL =".n: No answer",NULL =".s: Skipped on Web",NULL =".i: Inapplicable")) |>drop_na(spanking) |>mutate(spanking =fct_infreq(spanking)) |>mutate(spanking =fct_relevel(spanking,c("STRONGLY DISAGREE","DISAGREE","AGREE","STRONGLY AGREE"))) |>mutate(childs =as_factor(childs)) |>mutate(childs =fct_recode(childs,NULL =".d: Do not Know/Cannot Choose",NULL =".i: Inapplicable",NULL =".n: No answer",NULL =".s: Skipped on Web")) |>drop_na(childs) |>mutate(childs =as.numeric(childs)) |>plot_ly(x =~spanking, y =~childs) |>add_boxplot()
This box plot shows that strongly disagree had a median of 2 as the lowest. Disagree, Agree, and Strongly Agree were equal with medians of 3.
survey |>count(hapmar)
# A tibble: 7 × 2
hapmar n
<chr> <int>
1 .d: Do not Know/Cannot Choose 2
2 .i: Inapplicable 4234
3 .n: No answer 12
4 .s: Skipped on Web 3
5 NOT TOO HAPPY 90
6 PRETTY HAPPY 717
7 VERY HAPPY 1251
survey |>mutate(hapmar =as_factor(hapmar)) |>mutate(hapmar =fct_recode(hapmar,NULL =".d: Do not Know/Cannot Choose",NULL =".n: No answer",NULL =".s: Skipped on Web",NULL =".i: Inapplicable")) |>drop_na(hapmar) |>mutate(hapmar =fct_infreq(hapmar)) |>plot_ly(x =~hapmar) |>add_histogram()
The histogram shows that the majority have happy marriages with 1,251 responses, pretty happy had 717, and 90 were not too happy in their marriage.
survey |>count(class_)
# A tibble: 7 × 2
class_ n
<chr> <int>
1 .d: Do not Know/Cannot Choose 36
2 .n: No answer 12
3 .s: Skipped on Web 7
4 Lower class 547
5 Middle class 2749
6 Upper class 256
7 Working class 2702
survey |>mutate(class_ =as_factor(class_)) |>mutate(class_ =fct_recode(class_,NULL =".d: Do not Know/Cannot Choose",NULL =".n: No answer",NULL =".s: Skipped on Web",NULL =".i: Inapplicable")) |>mutate(class_ =fct_relevel(class_,c("Lower class","Working class","Middle class","Upper class"))) |>drop_na(class_) |>plot_ly(x =~class_) |>add_histogram()
Histogram shows that most respondents were in the working and middle class, while the least were in upper and lower class.
survey |>mutate(hapmar =as_factor(hapmar)) |>mutate(hapmar =fct_recode(hapmar,NULL =".d: Do not Know/Cannot Choose",NULL =".n: No answer",NULL =".s: Skipped on Web",NULL =".i: Inapplicable")) |>drop_na(hapmar) |>mutate(hapmar =fct_infreq(hapmar)) |>mutate(class_ =as_factor(class_)) |>mutate(class_ =fct_recode(class_,NULL =".d: Do not Know/Cannot Choose",NULL =".s: Skipped on Web",NULL =".n: No answer")) |>mutate(class_ =fct_relevel(class_,c("Lower class","Working class","Middle class","Upper class"))) |>drop_na(class_) |>plot_ly(x =~hapmar, color =~class_) |>add_histogram()
Histogram shows how the different classes are feeling about their marriages.
survey |>count(age)
# A tibble: 73 × 2
age n
<chr> <int>
1 .n: No answer 222
2 18 26
3 19 54
4 20 80
5 21 86
6 22 92
7 23 121
8 24 103
9 25 106
10 26 112
# ℹ 63 more rows