Code
library(tidyverse)
library(gt)
library(readxl)
library(gtExtras)
library(devtools)
library(knitr)
write_bib(file = "packages.bib")
library(tidyverse)
library(gt)
library(readxl)
library(gtExtras)
library(devtools)
library(knitr)
write_bib(file = "packages.bib")
<- read_xlsx("SURVEY_DATA.xlsx")
DATA
<-
DATA %>%
DATA select(-where( ~ all(is.na(.)))) %>%
filter(`teilnahme[teilnahme]` == "Y")
<-
DATA 9:81] %>%
DATA[mutate(NA_CHECK = rowSums(!is.na(.))) %>%
filter(NA_CHECK > 0) %>%
filter(AB7 == 0) %>% # exclude special education schools
mutate(SED_INC = case_when(AB10 == 0 & AB11 == 0 ~ 0,
== 1 & AB11 == 0 ~ 1,
AB10 == 0 & AB11 == 1 ~ 2,
AB10 == 1 & is.na(AB11) ~ 1,
AB10 is.na(AB10) & AB11 == 1 ~ 2,
== 1 & AB11 == 1 ~ 3,
AB10 is.na(AB10) & is.na(AB11) ~ NA,
== 0 & is.na(AB11) ~ NA,
AB10 is.na(AB10) & AB11 == 0 ~ NA)) %>%
rename_with(~ stringr::str_replace_all(., "\\[", "_") %>%
::str_replace_all(., "\\]", "")) stringr
<-
describe function(var) {
%>%
DATA group_by({{var}}) %>%
reframe(n = n()) %>%
rename(V1 = names(.)[1]) %>%
mutate(percent = (n / sum(n))) %>%
mutate(INDEX = n) %>%
mutate(percent = (percent*100) %>% round(1)) %>%
relocate(percent, .after = last_col()) %>%
mutate(n = NULL)
}
<-
school_subject function(var) {
%>%
DATA group_by({{var}}) %>%
reframe(n = n()) %>%
rename(V1 = names(.)[1]) %>%
mutate(percent = (n / sum(n))) %>%
mutate(INDEX = n) %>%
mutate(percent = (percent*100) %>% round(1)) %>%
relocate(percent, .after = last_col()) %>%
mutate(n = NULL) %>%
na.omit()
}
<- # official school statistics
OSS read_xlsx("statistischer-bericht-allgemeinbildende-schulen-2110100237005.xlsx", sheet = "csv-21111-21")
<-
SEX_OSS %>%
OSS filter(Bundesland == "Niedersachsen") %>%
filter(Altersgruppe == "Insgesamt") %>%
filter(Beschaeftigungsumfang == "Voll- und Teilzeitbeschäftigte") %>%
filter(Schulart == "Grundschulen" |
== "Hauptschulen" |
Schulart == "Schularten mit mehreren Bildungsgängen" |
Schulart == "Realschulen" |
Schulart == "Gymnasien" |
Schulart == "Integrierte Gesamtschulen") %>%
Schulart filter(Geschlecht != "Insgesamt") %>%
group_by(Geschlecht) %>%
reframe(n_sex = sum(Lehrkraefte_Anzahl)) %>%
mutate(n_percent = (n_sex / sum(n_sex)) * 100)
<-
AGE_OSS %>%
OSS filter(Bundesland == "Niedersachsen") %>%
filter(Altersgruppe != "Insgesamt") %>%
filter(Beschaeftigungsumfang == "Voll- und Teilzeitbeschäftigte") %>%
filter(Schulart == "Grundschulen" |
== "Hauptschulen" |
Schulart == "Schularten mit mehreren Bildungsgängen" |
Schulart == "Realschulen" |
Schulart == "Gymnasien" |
Schulart == "Integrierte Gesamtschulen") %>%
Schulart filter(Geschlecht == "Insgesamt") %>%
mutate(Altersgruppe = case_when(
%in% c("unter 30", "30-35") ~ "<34",
Altersgruppe %in% c("35-40", "40-45") ~ "35-44",
Altersgruppe %in% c("45-50", "50-55") ~ "45-54",
Altersgruppe %in% c("55-60", "60-65", "65 und älter") ~ ">54") %>% as_factor()) %>%
Altersgruppe group_by(Altersgruppe) %>%
reframe(n_age = sum(Lehrkraefte_Anzahl)) %>%
mutate(n_percent = (n_age / sum(n_age)) * 100)
<-
NAMES_1 c("26-35", "36-45", "46-55", ">55",
"male", "female", "prefer not to say", "missing value")
<-
INDEX_2 c(AGE_OSS$n_age, SEX_OSS$n_sex, 0, 0)
<-
percent_2 c(AGE_OSS$n_percent, SEX_OSS$n_percent, 0, 0)
rbind(
describe(AB14), # age
describe(AB15) # sex
%>%
) mutate(V1 = NAMES_1) %>%
mutate(INDEX_2 = INDEX_2) %>%
mutate(percent_2 = percent_2) %>%
gt() %>%
gt_plt_bar_pct(column = percent,
scaled = T,
labels = TRUE,
fill = "black",
width = 100,
height = 20,
label_cutoff = 0.5,
font_size = "12px") %>%
gt_plt_bar_pct(column = percent_2,
scaled = T,
labels = TRUE,
fill = "black",
width = 100,
height = 20,
label_cutoff = 0.5,
font_size = "12px") %>%
cols_align("left") %>%
cols_label(V1 = "",
INDEX = md("***N***"),
percent = md("***%***"),
INDEX_2 = md("***N***"),
percent_2 = md("***%***")) %>%
tab_row_group(label = md("*sex*"), rows = 5:8) %>%
tab_row_group(label = md("*age in years^2^*"), rows = 1:4) %>%
tab_style(style = list(cell_text(indent = pct(10))), locations = cells_body(columns = V1)) %>%
tab_options(column_labels.background.color = "gray95",
footnotes.background.color = "gray95") %>%
tab_style(style = cell_fill(color = "gray95"), locations = cells_row_groups(groups = everything())) %>%
tab_spanner(label = md("*teacher<br>survey*"), columns = c(INDEX, percent)) %>%
tab_spanner(label = md("*official<br>school statistics^1^*"), columns = c(INDEX_2, percent_2)) %>%
tab_footnote(md("^1^*German Federal Statistical Office (EVAS-Number 21111):<br>
Official school statistics for Lower Saxony (school year 2022/2023)<br>
^2^Age brackets used in this table are based on the teacher survey<br>
and differ slightly from those used in official school statistics:<br>
<34, 35-44, 45-54, >54*")) %>%
cols_align(align = "center", columns = starts_with("per")) %>%
cols_align(align = "right", columns = starts_with("IND")) %>%
cols_width(starts_with("V1") ~ pct(33)) %>%
tab_options(table.align = "left")
teacher
survey |
official
school statistics1 |
|||
---|---|---|---|---|
N | % | N | % | |
age in years2 | ||||
26-35 | 43 | 20.5% |
14154 | 21.9% |
36-45 | 70 | 33.3% |
21015 | 32.5% |
46-55 | 66 | 31.4% |
18567 | 28.7% |
>55 | 31 | 14.8% |
11019 | 17% |
sex | ||||
male | 29 | 13.8% |
17963 | 27.7% |
female | 178 | 84.8% |
46792 | 72.3% |
prefer not to say | 1 | 0.5% |
0 | 0% |
missing value | 2 | 1% |
0 | 0% |
1German Federal Statistical Office (EVAS-Number 21111): Official school statistics for Lower Saxony (school year 2022/2023) 2Age brackets used in this table are based on the teacher survey and differ slightly from those used in official school statistics: <34, 35-44, 45-54, >54 |
<-
NAMES c("1-4 elementary education", "5-10 lower secondary education", "11-13 upper secondary education",
"no", "special education", "inclusive education", "special and inclusive", "missing value",
"<1", "1-2", "3-5", "6-10", "11-20", "21-30", "31-40",
"German", "math", "natural science", "physical education", "other subjects",
paste0(5:1, c(" very positive", "", "", "", " very negative")), "missing value")
rbind(
school_subject(AB6_1), # grade 1-4
school_subject(AB6_2), # grade 5-10
school_subject(AB6_3), # grade 11-13
describe(SED_INC), # teacher training
describe(AB13), # Work experience as a teacher
school_subject(AB9_1), # German
school_subject(AB9_2), # math
school_subject(AB9_3), # natural science
school_subject(AB9_4), # physical education
school_subject(AB9_5), # other subjects
describe((AB12 - 6) %>% abs()) # attitude towards inclusive education
%>%
) mutate(V1 = NAMES) %>%
gt() %>%
gt_plt_bar_pct(column = percent,
scaled = T,
labels = TRUE,
fill = "black",
width = 100,
height = 20,
label_cutoff = 0.5,
font_size = "12px") %>%
cols_align("left") %>%
cols_label(V1 = "",
INDEX = md("***N***"),
percent = md("***%***")) %>%
tab_row_group(label = md("*attitude towards inclusive education^1^*"), rows = 21:26) %>%
tab_row_group(label = md("*teaching... (multiple answers possible)*"), rows = 16:20) %>%
tab_row_group(label = md("*work experience as a teacher in years*"), rows = 9:15) %>%
tab_row_group(label = md("*teacher training in special or inclusive education*"), rows = 4:8) %>%
tab_row_group(label = md("*teaching in grades... (multiple answers possible)*"), rows = 1:3) %>%
tab_style(style = list(cell_text(indent = pct(5))), locations = cells_body(columns = V1)) %>%
tab_options(column_labels.background.color = "gray95",
footnotes.background.color = "gray95") %>%
tab_style(style = cell_fill(color = "gray95"), locations = cells_row_groups(groups = everything())) %>%
cols_align(align = "center", columns = starts_with("percent")) %>%
cols_align(align = "right", columns = starts_with("INDEX")) %>%
cols_width(starts_with("V1") ~ pct(66)) %>%
tab_options(table.align = "left") %>%
tab_options(table.align = "left") %>%
tab_footnote(md('^1^*The scoring of the rating scale has been reversed.
Scoring used<br>in the teacher survey:
1 = "very positive" and 5 = "very negative"*'))
N | % | |
---|---|---|
teaching in grades… (multiple answers possible) | ||
1-4 elementary education | 114 | 54.3% |
5-10 lower secondary education | 97 | 46.2% |
11-13 upper secondary education | 34 | 16.2% |
teacher training in special or inclusive education | ||
no | 188 | 89.5% |
special education | 9 | 4.3% |
inclusive education | 3 | 1.4% |
special and inclusive | 8 | 3.8% |
missing value | 2 | 1% |
work experience as a teacher in years | ||
<1 | 4 | 1.9% |
1-2 | 8 | 3.8% |
3-5 | 28 | 13.3% |
6-10 | 28 | 13.3% |
11-20 | 63 | 30% |
21-30 | 65 | 31% |
31-40 | 14 | 6.7% |
teaching… (multiple answers possible) | ||
German | 118 | 56.2% |
math | 103 | 49% |
natural science | 80 | 38.1% |
physical education | 51 | 24.3% |
other subjects | 152 | 72.4% |
attitude towards inclusive education1 | ||
5 very positive | 8 | 3.8% |
4 | 32 | 15.2% |
3 | 68 | 32.4% |
2 | 71 | 33.8% |
1 very negative | 29 | 13.8% |
missing value | 2 | 1% |
1The scoring of the rating scale has been reversed.
Scoring used in the teacher survey: 1 = “very positive” and 5 = “very negative” |
%>%
OSS filter(Bundesland == "Niedersachsen") %>%
filter(Altersgruppe == "Insgesamt") %>%
filter(Beschaeftigungsumfang == "Voll- und Teilzeitbeschäftigte") %>%
filter(Schulart == "Grundschulen" |
== "Hauptschulen" |
Schulart == "Schularten mit mehreren Bildungsgängen" |
Schulart == "Realschulen" |
Schulart == "Gymnasien" |
Schulart == "Integrierte Gesamtschulen") %>%
Schulart filter(Geschlecht == "Insgesamt") %>%
group_by(Schulart) %>%
reframe(n = sum(Lehrkraefte_Anzahl)) %>%
mutate(percent = ((n / sum(n)) * 100) %>% round(1)) %>%
gt() %>%
tab_footnote("Grundschulen = Elementary schools") %>%
tab_options(table.align = "left")
Schulart | n | percent |
---|---|---|
Grundschulen | 21012 | 32.4 |
Gymnasien | 19117 | 29.5 |
Hauptschulen | 2590 | 4.0 |
Integrierte Gesamtschulen | 7841 | 12.1 |
Realschulen | 4169 | 6.4 |
Schularten mit mehreren Bildungsgängen | 10026 | 15.5 |
Grundschulen = Elementary schools |
%>%
DATA filter(AB6_1 == "Y") %>%
group_by(AB15) %>%
reframe(n = n()) %>%
mutate(percent = ((n / sum(n)) * 100) %>% round(1)) %>%
mutate(AB15 = case_when(AB15 == 1 ~ "male", AB15 == 2 ~ "female", AB15 == 4 ~ "prefer not to say")) %>%
gt() %>%
tab_header("elementary education (teacher survey)") %>%
tab_options(table.align = "left")
elementary education (teacher survey) | ||
AB15 | n | percent |
---|---|---|
male | 10 | 8.8 |
female | 102 | 89.5 |
prefer not to say | 1 | 0.9 |
NA | 1 | 0.9 |
%>%
DATA filter(AB6_2 == "Y" | AB6_3 == "Y") %>%
group_by(AB15) %>%
reframe(n = n()) %>%
mutate(percent = ((n / sum(n)) * 100) %>% round(1)) %>%
mutate(AB15 = case_when(AB15 == 1 ~ "male", AB15 == 2 ~ "female", AB15 == 4 ~ "prefer not to say")) %>%
gt() %>%
tab_header("secondary education (teacher survey)") %>%
tab_options(table.align = "left")
secondary education (teacher survey) | ||
AB15 | n | percent |
---|---|---|
male | 21 | 21.2 |
female | 77 | 77.8 |
NA | 1 | 1.0 |
%>%
OSS filter(Bundesland == "Niedersachsen") %>%
filter(Altersgruppe == "Insgesamt") %>%
filter(Beschaeftigungsumfang == "Voll- und Teilzeitbeschäftigte") %>%
filter(Schulart == "Grundschulen") %>%
filter(Geschlecht != "Insgesamt") %>%
group_by(Geschlecht) %>%
reframe(n = sum(Lehrkraefte_Anzahl)) %>%
mutate(percent = ((n / sum(n)) * 100) %>% round(1)) %>%
gt() %>%
tab_header("elementary education (official school statistics)") %>%
tab_footnote(md("männlich = male<br>weiblich = female")) %>%
tab_options(table.align = "left")
elementary education (official school statistics) | ||
Geschlecht | n | percent |
---|---|---|
männlich | 2138 | 10.2 |
weiblich | 18874 | 89.8 |
männlich = male weiblich = female |
%>%
OSS filter(Bundesland == "Niedersachsen") %>%
filter(Altersgruppe == "Insgesamt") %>%
filter(Beschaeftigungsumfang == "Voll- und Teilzeitbeschäftigte") %>%
filter(Schulart == "Hauptschulen" |
== "Schularten mit mehreren Bildungsgängen" |
Schulart == "Realschulen" |
Schulart == "Gymnasien" |
Schulart == "Integrierte Gesamtschulen") %>%
Schulart filter(Geschlecht != "Insgesamt") %>%
group_by(Schulart) %>%
mutate(total_within_schulart = sum(Lehrkraefte_Anzahl)) %>%
ungroup() %>%
group_by(Schulart, Geschlecht) %>%
reframe(n = sum(Lehrkraefte_Anzahl),
total = total_within_schulart) %>%
mutate(percent = ((n / total) * 100) %>% round(1)) %>%
gt() %>%
tab_header("secondary education (official school statistics)") %>%
tab_footnote(md("männlich = male<br>weiblich = female")) %>%
tab_options(table.align = "left")
secondary education (official school statistics) | ||||
Schulart | Geschlecht | n | total | percent |
---|---|---|---|---|
Gymnasien | männlich | 7518 | 19117 | 39.3 |
Gymnasien | weiblich | 11599 | 19117 | 60.7 |
Hauptschulen | männlich | 853 | 2590 | 32.9 |
Hauptschulen | weiblich | 1737 | 2590 | 67.1 |
Integrierte Gesamtschulen | männlich | 2933 | 7841 | 37.4 |
Integrierte Gesamtschulen | weiblich | 4908 | 7841 | 62.6 |
Realschulen | männlich | 1354 | 4169 | 32.5 |
Realschulen | weiblich | 2815 | 4169 | 67.5 |
Schularten mit mehreren Bildungsgängen | männlich | 3167 | 10026 | 31.6 |
Schularten mit mehreren Bildungsgängen | weiblich | 6859 | 10026 | 68.4 |
männlich = male weiblich = female |
%>%
OSS filter(Bundesland == "Niedersachsen") %>%
filter(Altersgruppe == "Insgesamt") %>%
filter(Beschaeftigungsumfang == "Voll- und Teilzeitbeschäftigte") %>%
filter(Schulart == "Hauptschulen" |
== "Schularten mit mehreren Bildungsgängen" |
Schulart == "Realschulen" |
Schulart == "Gymnasien" |
Schulart == "Integrierte Gesamtschulen") %>%
Schulart filter(Geschlecht != "Insgesamt") %>%
mutate(Schulart = fct_collapse(Schulart, secondary =
c("Hauptschulen",
"Schularten mit mehreren Bildungsgängen",
"Realschulen",
"Gymnasien",
"Integrierte Gesamtschulen"))) %>%
group_by(Schulart, Geschlecht) %>%
reframe(n = sum(Lehrkraefte_Anzahl)) %>%
mutate(percent = ((n / sum(n)) * 100) %>% round(1)) %>%
gt() %>%
tab_header("secondary education (official school statistics)") %>%
tab_footnote(md("männlich = male<br>weiblich = female")) %>%
tab_options(table.align = "left")
secondary education (official school statistics) | |||
Schulart | Geschlecht | n | percent |
---|---|---|---|
secondary | männlich | 15825 | 36.2 |
secondary | weiblich | 27918 | 63.8 |
männlich = male weiblich = female |
%>%
DATA filter(AB6_1 == "Y") %>%
group_by(AB14) %>%
reframe(n = n()) %>%
mutate(percent = ((n / sum(n)) * 100) %>% round(1)) %>%
mutate(AB14 = c("26-35", "36-45", "46-55", ">55")) %>%
gt() %>%
tab_header("elementary education (teacher survey)") %>%
tab_options(table.align = "left")
elementary education (teacher survey) | ||
AB14 | n | percent |
---|---|---|
26-35 | 24 | 21.1 |
36-45 | 30 | 26.3 |
46-55 | 38 | 33.3 |
>55 | 22 | 19.3 |
%>%
DATA filter(AB6_2 == "Y" | AB6_3 == "Y") %>%
group_by(AB14) %>%
reframe(n = n()) %>%
mutate(percent = ((n / sum(n)) * 100) %>% round(1)) %>%
mutate(AB14 = c("26-35", "36-45", "46-55", ">55")) %>%
gt() %>%
tab_header("secondary education (teacher survey)") %>%
tab_options(table.align = "left")
secondary education (teacher survey) | ||
AB14 | n | percent |
---|---|---|
26-35 | 19 | 19.2 |
36-45 | 40 | 40.4 |
46-55 | 28 | 28.3 |
>55 | 12 | 12.1 |
%>%
OSS filter(Bundesland == "Niedersachsen") %>%
filter(Altersgruppe != "Insgesamt") %>%
filter(Beschaeftigungsumfang == "Voll- und Teilzeitbeschäftigte") %>%
filter(Schulart == "Grundschulen") %>%
filter(Geschlecht == "Insgesamt") %>%
mutate(Altersgruppe = case_when(
%in% c("unter 30", "30-35") ~ "<34",
Altersgruppe %in% c("35-40", "40-45") ~ "35-44",
Altersgruppe %in% c("45-50", "50-55") ~ "45-54",
Altersgruppe %in% c("55-60", "60-65", "65 und älter") ~ ">54") %>% as_factor()) %>%
Altersgruppe group_by(Altersgruppe) %>%
reframe(n = sum(Lehrkraefte_Anzahl)) %>%
mutate(percent = ((n / sum(n)) * 100) %>% round(1)) %>%
gt() %>%
tab_header("elementary education (official school statistics)") %>%
tab_options(table.align = "left")
elementary education (official school statistics) | ||
Altersgruppe | n | percent |
---|---|---|
<34 | 4642 | 22.1 |
35-44 | 6016 | 28.6 |
45-54 | 6729 | 32.0 |
>54 | 3625 | 17.3 |
%>%
OSS filter(Bundesland == "Niedersachsen") %>%
filter(Altersgruppe != "Insgesamt") %>%
filter(Beschaeftigungsumfang == "Voll- und Teilzeitbeschäftigte") %>%
filter(Schulart == "Hauptschulen" |
== "Schularten mit mehreren Bildungsgängen" |
Schulart == "Realschulen" |
Schulart == "Gymnasien" |
Schulart == "Integrierte Gesamtschulen") %>%
Schulart filter(Geschlecht != "Insgesamt") %>%
mutate(Schulart = fct_collapse(Schulart, secondary =
c("Hauptschulen",
"Schularten mit mehreren Bildungsgängen",
"Realschulen",
"Gymnasien",
"Integrierte Gesamtschulen"))) %>%
mutate(Altersgruppe = case_when(
%in% c("unter 30", "30-35") ~ "<34",
Altersgruppe %in% c("35-40", "40-45") ~ "35-44",
Altersgruppe %in% c("45-50", "50-55") ~ "45-54",
Altersgruppe %in% c("55-60", "60-65", "65 und älter") ~ ">54") %>% as_factor()) %>%
Altersgruppe group_by(Schulart, Altersgruppe) %>%
reframe(n = sum(Lehrkraefte_Anzahl)) %>%
mutate(percent = ((n / sum(n)) * 100) %>% round(1)) %>%
gt() %>%
tab_header("secondary education (official school statistics)") %>%
tab_options(table.align = "left")
secondary education (official school statistics) | |||
Schulart | Altersgruppe | n | percent |
---|---|---|---|
secondary | <34 | 9512 | 21.7 |
secondary | 35-44 | 14999 | 34.3 |
secondary | 45-54 | 11838 | 27.1 |
secondary | >54 | 7394 | 16.9 |
session_info()
## ─ Session info ───────────────────────────────────────────────────────────────
## setting value
## version R version 4.4.2 (2024-10-31 ucrt)
## os Windows 11 x64 (build 22631)
## system x86_64, mingw32
## ui RTerm
## language (EN)
## collate German_Germany.utf8
## ctype German_Germany.utf8
## tz Europe/Berlin
## date 2024-11-21
## pandoc 3.2 @ C:/Program Files/RStudio/resources/app/bin/quarto/bin/tools/ (via rmarkdown)
##
## ─ Packages ───────────────────────────────────────────────────────────────────
## package * version date (UTC) lib source
## base64enc 0.1-3 2015-07-28 [1] CRAN (R 4.4.0)
## cachem 1.1.0 2024-05-16 [1] CRAN (R 4.4.2)
## cellranger 1.1.0 2016-07-27 [1] CRAN (R 4.4.2)
## cli 3.6.3 2024-06-21 [1] CRAN (R 4.4.2)
## colorspace 2.1-1 2024-07-26 [1] CRAN (R 4.4.2)
## commonmark 1.9.2 2024-10-04 [1] CRAN (R 4.4.2)
## devtools * 2.4.5 2022-10-11 [1] CRAN (R 4.4.2)
## digest 0.6.37 2024-08-19 [1] CRAN (R 4.4.2)
## dplyr * 1.1.4 2023-11-17 [1] CRAN (R 4.4.2)
## ellipsis 0.3.2 2021-04-29 [1] CRAN (R 4.4.2)
## evaluate 1.0.1 2024-10-10 [1] CRAN (R 4.4.2)
## fansi 1.0.6 2023-12-08 [1] CRAN (R 4.4.2)
## fastmap 1.2.0 2024-05-15 [1] CRAN (R 4.4.2)
## fontawesome 0.5.3 2024-11-16 [1] CRAN (R 4.4.2)
## forcats * 1.0.0 2023-01-29 [1] CRAN (R 4.4.2)
## fs 1.6.5 2024-10-30 [1] CRAN (R 4.4.2)
## generics 0.1.3 2022-07-05 [1] CRAN (R 4.4.2)
## ggplot2 * 3.5.1 2024-04-23 [1] CRAN (R 4.4.2)
## glue 1.8.0 2024-09-30 [1] CRAN (R 4.4.2)
## gt * 0.11.1 2024-10-04 [1] CRAN (R 4.4.2)
## gtable 0.3.6 2024-10-25 [1] CRAN (R 4.4.2)
## gtExtras * 0.5.0 2023-09-15 [1] CRAN (R 4.4.2)
## hms 1.1.3 2023-03-21 [1] CRAN (R 4.4.2)
## htmltools 0.5.8.1 2024-04-04 [1] CRAN (R 4.4.2)
## htmlwidgets 1.6.4 2023-12-06 [1] CRAN (R 4.4.2)
## httpuv 1.6.15 2024-03-26 [1] CRAN (R 4.4.2)
## jsonlite 1.8.9 2024-09-20 [1] CRAN (R 4.4.2)
## knitr * 1.49 2024-11-08 [1] CRAN (R 4.4.2)
## later 1.3.2 2023-12-06 [1] CRAN (R 4.4.2)
## lifecycle 1.0.4 2023-11-07 [1] CRAN (R 4.4.2)
## lubridate * 1.9.3 2023-09-27 [1] CRAN (R 4.4.2)
## magrittr 2.0.3 2022-03-30 [1] CRAN (R 4.4.2)
## markdown 1.13 2024-06-04 [1] CRAN (R 4.4.2)
## memoise 2.0.1 2021-11-26 [1] CRAN (R 4.4.2)
## mime 0.12 2021-09-28 [1] CRAN (R 4.4.0)
## miniUI 0.1.1.1 2018-05-18 [1] CRAN (R 4.4.2)
## munsell 0.5.1 2024-04-01 [1] CRAN (R 4.4.2)
## paletteer 1.6.0 2024-01-21 [1] CRAN (R 4.4.2)
## pillar 1.9.0 2023-03-22 [1] CRAN (R 4.4.2)
## pkgbuild 1.4.5 2024-10-28 [1] CRAN (R 4.4.2)
## pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.4.2)
## pkgload 1.4.0 2024-06-28 [1] CRAN (R 4.4.2)
## profvis 0.4.0 2024-09-20 [1] CRAN (R 4.4.2)
## promises 1.3.0 2024-04-05 [1] CRAN (R 4.4.2)
## purrr * 1.0.2 2023-08-10 [1] CRAN (R 4.4.2)
## R6 2.5.1 2021-08-19 [1] CRAN (R 4.4.2)
## Rcpp 1.0.13-1 2024-11-02 [1] CRAN (R 4.4.2)
## readr * 2.1.5 2024-01-10 [1] CRAN (R 4.4.2)
## readxl * 1.4.3 2023-07-06 [1] CRAN (R 4.4.2)
## rematch2 2.1.2 2020-05-01 [1] CRAN (R 4.4.2)
## remotes 2.5.0 2024-03-17 [1] CRAN (R 4.4.2)
## rlang 1.1.4 2024-06-04 [1] CRAN (R 4.4.2)
## rmarkdown 2.29 2024-11-04 [1] CRAN (R 4.4.2)
## rstudioapi 0.17.1 2024-10-22 [1] CRAN (R 4.4.2)
## sass 0.4.9 2024-03-15 [1] CRAN (R 4.4.2)
## scales 1.3.0 2023-11-28 [1] CRAN (R 4.4.2)
## sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.4.2)
## shiny 1.9.1 2024-08-01 [1] CRAN (R 4.4.2)
## stringi 1.8.4 2024-05-06 [1] CRAN (R 4.4.0)
## stringr * 1.5.1 2023-11-14 [1] CRAN (R 4.4.2)
## tibble * 3.2.1 2023-03-20 [1] CRAN (R 4.4.2)
## tidyr * 1.3.1 2024-01-24 [1] CRAN (R 4.4.2)
## tidyselect 1.2.1 2024-03-11 [1] CRAN (R 4.4.2)
## tidyverse * 2.0.0 2023-02-22 [1] CRAN (R 4.4.2)
## timechange 0.3.0 2024-01-18 [1] CRAN (R 4.4.2)
## tzdb 0.4.0 2023-05-12 [1] CRAN (R 4.4.2)
## urlchecker 1.0.1 2021-11-30 [1] CRAN (R 4.4.2)
## usethis * 3.0.0 2024-07-29 [1] CRAN (R 4.4.1)
## utf8 1.2.4 2023-10-22 [1] CRAN (R 4.4.2)
## vctrs 0.6.5 2023-12-01 [1] CRAN (R 4.4.2)
## withr 3.0.2 2024-10-28 [1] CRAN (R 4.4.2)
## xfun 0.49 2024-10-31 [1] CRAN (R 4.4.2)
## xml2 1.3.6 2023-12-04 [1] CRAN (R 4.4.2)
## xtable 1.8-4 2019-04-21 [1] CRAN (R 4.4.2)
## yaml 2.3.10 2024-07-26 [1] CRAN (R 4.4.1)
##
## [1] C:/Users/Pawel Kulawiak/AppData/Local/Programs/R/R-4.4.2/library
##
## ──────────────────────────────────────────────────────────────────────────────