Quarto enables you to weave together content and executable code into a finished document. To learn more about Quarto see https://quarto.org.
Running Code
When you click the Render button a document will be generated that includes both content and the output of embedded code. You can embed code like this:
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.4.4 ✔ tibble 3.2.1
✔ lubridate 1.9.3 ✔ tidyr 1.3.0
✔ 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(readxl) library(plotly)
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
This histogram shows the distribution in race of the participants.
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 =".n: No answer",NULL =".s: Skipped on Web",NULL =".i: Inapplicable")) |>drop_na(spanking) |>mutate(spanking =fct_infreq(spanking)) |>plot_ly(x =~spanking) |>add_histogram()
This chart shows the distribution of participants beliefs about spanking.
survey |>mutate(race =as_factor(race)) |>mutate(race =fct_recode(race,NULL =".i: Inapplicable")) |>drop_na(race) |>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")) |>mutate(spanking =fct_relevel(spanking,c("STRONGLY AGREE","AGREE","DISAGREE","STRONGLY DISAGREE"))) |>drop_na(spanking) |>mutate(spanking =as.numeric(spanking)) |>plot_ly(x =~race, y =~spanking) |>add_boxplot()
This boxplt shows participants beliefs about spanking related to their race.
survey |>count(childs)
# A tibble: 11 × 2
childs n
<chr> <int>
1 .d: Do not Know/Cannot Choose 5
2 .i: Inapplicable 11
3 0 1906
4 1 1014
5 2 1571
6 3 1000
7 4 430
8 5 169
9 6 81
10 7 47
11 8 or more 75
survey |>mutate(childs =as_factor(childs)) |>mutate(childs =fct_recode(childs,"8"="8 or more",NULL =".d: Do not Know/Cannot Choose",NULL =".i: Inapplicable")) |>mutate(childs =fct_relevel(childs,c("0","1","2","3","4","5","6","7","8"))) |>drop_na(childs) |>plot_ly(x =~childs) |>add_histogram()
This histogram shows the distribution of the number of children that participants in this study had.
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")) |>drop_na(spanking) |>mutate(childs =as_factor(childs)) |>mutate(childs =fct_recode(childs,"8"="8 or more",NULL =".d: Do not Know/Cannot Choose",NULL =".i: Inapplicable")) |>mutate(childs =fct_relevel(childs,c("0","1","2","3","4","5","6","7","8"))) |>drop_na(childs) |>mutate(childs =as.numeric(childs)) |>plot_ly(x =~spanking, y =~childs) |>add_boxplot()
This boxplot shows parents beliefs about spanking related to the number of children they have.
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 =".i: Inapplicable",NULL =".n: No answer",NULL =".s: Skipped on Web")) |>mutate(hapmar =fct_relevel(hapmar,c("NOT TOO HAPPY","PRETTY HAPPY","VERY HAPPY"))) |>drop_na(hapmar) |>plot_ly(x =~hapmar) |>add_histogram()
This histogram shows the distribution of participants level of happiness in thier 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")) |>mutate(class_ =fct_relevel(class_,c("Lower class","Working class","Middle class","Upper class"))) |>drop_na(class_) |>plot_ly(x =~class_) |>add_histogram()
This histogram shows the distribution of economic class that the participants in this study are in.
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")) |>mutate(class_ =fct_relevel(class_,c("Lower class","Working class","Middle class","Upper class"))) |>drop_na(class_) |>mutate(hapmar =as_factor(hapmar)) |>mutate(hapmar =fct_recode(hapmar,NULL =".d: Do not Know/Cannot Choose",NULL =".s: Skipped on Web",NULL =".i: Inapplicable",NULL =".n: No answer")) |>drop_na(hapmar) |>mutate(hapmar =fct_relevel(hapmar,c("NOT TOO HAPPY","PRETTY HAPPY","VERY HAPPY"))) |>plot_ly(x =~class_, color =~hapmar) |>add_histogram()
This histogram shows how many people are happy in their marriages related to their economic class.
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
survey |>mutate(age =as_factor(age)) |>mutate(age =fct_recode(age,NULL =".n: No answer")) |>drop_na(age) |>mutate(age =fct_collapse(age,"Under 30"=c("18","19","20","21","22","23","24","25","26","27","28","29"),"30s"=c("30","31","32","33","34","35","36","37","38","39"),"40s"=c("40","41","42","43","44","45","46","47","48","49"),"50s"=c("50","51","52","53","54","55","56","57","58","59"),"60s"=c("60","61","62","63","64","65","66","67","68","69"),"70s"=c("70","71","72","73","74","75","76","77","78","79"),"80 and up"=c("80","81","82","83","84","85","86","87","88","89 or older"))) |>mutate(age =fct_relevel(age,c("Under 30","30s","40s","50s","60s","70s","80 and up"))) |>plot_ly(x =~age) |>add_histogram()
This histogram shows the participants age distribution for this study.
survey |>mutate(age =as_factor(age)) |>mutate(age =fct_recode(age,NULL =".n: No answer")) |>drop_na(age) |>mutate(age =fct_collapse(age,"Under 30"=c("18","19","20","21","22","23","24","25","26","27","28","29"),"30s"=c("30","31","32","33","34","35","36","37","38","39"),"40s"=c("40","41","42","43","44","45","46","47","48","49"),"50s"=c("50","51","52","53","54","55","56","57","58","59"),"60s"=c("60","61","62","63","64","65","66","67","68","69"),"70s"=c("70","71","72","73","74","75","76","77","78","79"),"80 and up"=c("80","81","82","83","84","85","86","87","88","89 or older"))) |>mutate(age =fct_relevel(age,c("Under 30","30s","40s","50s","60s","70s","80 and up"))) |>mutate(hapmar =as_factor(hapmar)) |>mutate(hapmar =fct_recode(hapmar,NULL =".d: Do not Know/Cannot Choose",NULL =".s: Skipped on Web",NULL =".i: Inapplicable",NULL =".n: No answer")) |>drop_na(hapmar) |>mutate(hapmar =fct_relevel(hapmar,c("NOT TOO HAPPY","PRETTY HAPPY","VERY HAPPY"))) |>plot_ly(x =~age, y =~hapmar) |>add_histogram2d()
This heat map shows peoples happiness in their marriages related to their ages.