Hearing Loss in Children
1 Setting up R Packages
Plot Fonts and Theme
Show the Code
library(systemfonts)
library(showtext)
## Clean the slate
systemfonts::clear_local_fonts()
systemfonts::clear_registry()
##
showtext_opts(dpi = 96) # set DPI for showtext
sysfonts::font_add(
family = "Alegreya",
regular = "../../../../../../fonts/Alegreya-Regular.ttf",
bold = "../../../../../../fonts/Alegreya-Bold.ttf",
italic = "../../../../../../fonts/Alegreya-Italic.ttf",
bolditalic = "../../../../../../fonts/Alegreya-BoldItalic.ttf"
)
sysfonts::font_add(
family = "Roboto Condensed",
regular = "../../../../../../fonts/RobotoCondensed-Regular.ttf",
bold = "../../../../../../fonts/RobotoCondensed-Bold.ttf",
italic = "../../../../../../fonts/RobotoCondensed-Italic.ttf",
bolditalic = "../../../../../../fonts/RobotoCondensed-BoldItalic.ttf"
)
showtext_auto(enable = TRUE) # enable showtext
##
theme_custom <- function() {
font <- "Alegreya" # assign font family up front
"%+replace%" <- ggplot2::"%+replace%" # nolint
theme_classic(base_size = 14, base_family = font) %+replace% # replace elements we want to change
theme(
text = element_text(family = font), # set base font family
# text elements
plot.title = element_text( # title
family = font, # set font family
size = 24, # set font size
face = "bold", # bold typeface
hjust = 0, # left align
margin = margin(t = 5, r = 0, b = 5, l = 0)
), # margin
plot.title.position = "plot",
plot.subtitle = element_text( # subtitle
family = font, # font family
size = 14, # font size
hjust = 0, # left align
margin = margin(t = 5, r = 0, b = 10, l = 0)
), # margin
plot.caption = element_text( # caption
family = font, # font family
size = 9, # font size
hjust = 1
), # right align
plot.caption.position = "plot", # right align
axis.title = element_text( # axis titles
family = "Roboto Condensed", # font family
size = 12
), # font size
axis.text = element_text( # axis text
family = "Roboto Condensed", # font family
size = 9
), # font size
axis.text.x = element_text( # margin for axis text
margin = margin(5, b = 10)
)
# since the legend often requires manual tweaking
# based on plot content, don't define it here
)
}
## Use available fonts in ggplot text geoms too!
ggplot2::update_geom_defaults(geom = "text", new = list(
family = "Roboto Condensed",
face = "plain",
size = 3.5,
color = "#2b2b2b"
))
ggplot2::update_geom_defaults(geom = "label", new = list(
family = "Roboto Condensed",
face = "plain",
size = 3.5,
color = "#2b2b2b"
))
## Set the theme
ggplot2::theme_set(new = theme_custom())
2 Introduction
Children are monitored for OME (Otitis Media with Effusion, i.e. fluid in the middle ear) over time. It is believed that they later ( i.e. during aduldhood) suffer from “binaural hearing loss” (detecting sound amplitude and direction) after past episodes of OME during their childhood. The hearing-test is conducted multiple times, with a Test Signal embedded in noise played over audio loudspeakers. One loudspeaker has only Noise, and the other loudspeaker has the Test Signal in Noise. There are also two types of Test Signals: one is like noise itself and the other is distinct. In any test round, children are expected to orient themselves towards the appropriate loudspeaker and detect the presence of the Test Signal at varying levels of volume, with a passing success rate of 75% over multiple tests.
This dataset is available on Vincent Arel-Bundock’s dataset repository and is a part of the R package MASS
.
3 Read the Data
Rows: 1,097
Columns: 8
$ rownames <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18…
$ ID <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3…
$ Age <dbl> 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 60, 60, 60, 60, 60, 6…
$ OME <chr> "low", "low", "low", "low", "low", "low", "low", "low", "low"…
$ Loud <dbl> 35, 35, 40, 40, 45, 45, 50, 50, 55, 55, 35, 35, 40, 40, 45, 4…
$ Noise <chr> "coherent", "incoherent", "coherent", "incoherent", "coherent…
$ Correct <dbl> 1, 4, 0, 1, 2, 2, 3, 4, 3, 2, 2, 3, 1, 1, 1, 5, 4, 2, 3, 4, 4…
$ Trials <dbl> 4, 5, 3, 1, 4, 2, 3, 4, 3, 2, 4, 4, 4, 1, 2, 5, 4, 2, 3, 4, 6…
ome
4 Data Dictionary
Write in.
Write in.
Write in.
5 Research Question
In hearing tests on people with varying levels of OME infection in their childhood, what is the effect of using distinct types of Test Signal on successful (face) orientation ?
6 Analyse/Transform the Data
```{r}
#| label: data-preprocessing
#
# Write in your code here
# to prepare this data as shown below
# to generate the plot that follows
# Rename Variables if needed
# Change data to factors etc.
# Set up Counts, histograms etc
```
7 Plot the Data
Error in `position_dodge()`:
! `orientation` must be a string or character vector.
8 Task and Discussion
- Complete the Data Dictionary.
- Select and Transform the variables as shown.
- Create the graphs shown and discuss the following questions:
- Identify the type of charts
- Identify the variables used for various geometrical aspects (x, y, fill…). Name the variables appropriately.
- What research activity might have been carried out to obtain the data graphed here? Provide some details.
- What pre-processing of the data was required to create the chart?
- Write a 2-line story based on the chart, describing your inference/surprise. Is there something counter-intuitive (to a lay person) in the chart?