Code
library(grid)
library(tidyverse)
library(ggcorrplot)
library(ggpubr)
library(gt)
library(readxl)
library(devtools)
library(knitr)
library(corrr)
write_bib(file = "packages.bib")library(grid)
library(tidyverse)
library(ggcorrplot)
library(ggpubr)
library(gt)
library(readxl)
library(devtools)
library(knitr)
library(corrr)
write_bib(file = "packages.bib")mycorrr <-
function (corr, method = c("square", "circle"), type = c("full",
"lower", "upper"), ggtheme = ggplot2::theme_minimal, title = "",
show.legend = TRUE, legend.title = "Corr", show.diag = NULL,
colors = c("blue", "white", "red"), outline.color = "gray",
hc.order = FALSE, hc.method = "complete", lab = FALSE, lab_col = "black",
lab_size = 4, p.mat = NULL, sig.level = 0.05, insig = c("pch",
"blank"), pch = 4, pch.col = "black", pch.cex = 5, tl.cex = 12,
tl.col = "black", tl.srt = 45, digits = 2, as.is = FALSE)
{
type <- match.arg(type)
method <- match.arg(method)
insig <- match.arg(insig)
if (is.null(show.diag)) {
if (type == "full") {
show.diag <- TRUE
}
else {
show.diag <- FALSE
}
}
if (inherits(corr, "cor_mat")) {
cor.mat <- corr
corr <- .tibble_to_matrix(cor.mat)
p.mat <- .tibble_to_matrix(attr(cor.mat, "pvalue"))
}
if (!is.matrix(corr) & !is.data.frame(corr)) {
stop("Need a matrix or data frame!")
}
corr <- as.matrix(corr)
corr <- base::round(x = corr, digits = digits)
if (hc.order) {
ord <- .hc_cormat_order(corr, hc.method = hc.method)
corr <- corr[ord, ord]
if (!is.null(p.mat)) {
p.mat <- p.mat[ord, ord]
p.mat <- base::round(x = p.mat, digits = digits)
}
}
if (!show.diag) {
corr <- .remove_diag(corr)
p.mat <- .remove_diag(p.mat)
}
if (type == "lower") {
corr <- .get_lower_tri(corr, show.diag)
p.mat <- .get_lower_tri(p.mat, show.diag)
}
else if (type == "upper") {
corr <- .get_upper_tri(corr, show.diag)
p.mat <- .get_upper_tri(p.mat, show.diag)
}
corr <- reshape2::melt(corr, na.rm = TRUE, as.is = as.is)
colnames(corr) <- c("Var1", "Var2", "value")
corr$pvalue <- rep(NA, nrow(corr))
corr$signif <- rep(NA, nrow(corr))
if (!is.null(p.mat)) {
p.mat <- reshape2::melt(p.mat, na.rm = TRUE)
corr$coef <- corr$value
corr$pvalue <- p.mat$value
corr$signif <- as.numeric(p.mat$value <= sig.level)
p.mat <- subset(p.mat, p.mat$value > sig.level)
if (insig == "blank") {
corr$value <- corr$value * corr$signif
}
}
corr$abs_corr <- abs(corr$value) * 10
p <- ggplot2::ggplot(data = corr, mapping = ggplot2::aes_string(x = "Var1",
y = "Var2", fill = "value"))
if (method == "square") {
p <- p + ggplot2::geom_tile(color = outline.color)
}
else if (method == "circle") {
p <- p + ggplot2::geom_point(color = outline.color, shape = 21,
ggplot2::aes_string(size = "abs_corr")) + ggplot2::scale_size(range = c(4,
10)) + ggplot2::guides(size = "none")
}
p <- p + ggplot2::scale_fill_gradient2(low = colors[1], high = colors[3],
mid = colors[2], midpoint = 0, limit = c(-1, 1), space = "Lab",
name = legend.title)
if (class(ggtheme)[[1]] == "function") {
p <- p + ggtheme()
}
else if (class(ggtheme)[[1]] == "theme") {
p <- p + ggtheme
}
p <- p + ggplot2::theme(axis.text.x = ggplot2::element_text(angle = tl.srt,
vjust = 1, size = tl.cex, hjust = 1), axis.text.y = ggplot2::element_text(size = tl.cex)) +
ggplot2::coord_fixed()
label <- round(x = corr[, "value"], digits = digits) %>%
str_replace_all("\\b0(\\.\\d+)", "\\1") %>%
str_replace_all("(\\.\\d)\\b", "\\10")
if (!is.null(p.mat) & insig == "blank") {
ns <- corr$pvalue > sig.level
if (sum(ns) > 0)
label[ns] <- " "
}
if (lab) {
p <- p + ggplot2::geom_text(mapping = ggplot2::aes_string(x = "Var1",
y = "Var2"), label = label, color = lab_col, size = lab_size)
}
if (!is.null(p.mat) & insig == "pch") {
p <- p + ggplot2::geom_point(data = p.mat, mapping = ggplot2::aes_string(x = "Var1",
y = "Var2"), shape = pch, size = pch.cex, color = pch.col)
}
if (title != "") {
p <- p + ggplot2::ggtitle(title)
}
if (!show.legend) {
p <- p + ggplot2::theme(legend.position = "none")
}
p <- p + .no_panel()
p
}
.no_panel <- function() {
ggplot2::theme(
axis.title.x = ggplot2::element_blank(),
axis.title.y = ggplot2::element_blank()
)
}DATA <- read_xlsx("SURVEY_DATA.xlsx")
DATA <-
DATA %>%
select(-where( ~ all(is.na(.)))) %>%
filter(`teilnahme[teilnahme]` == "Y")
DATA <-
DATA[9:81] %>%
mutate(Nitem_CHECK = rowSums(!is.na(.))) %>%
filter(Nitem_CHECK > 0) %>%
filter(AB7 == 0) %>% # exclude special education schools
mutate(AB12 = (AB12 - 6) %>% abs()) %>%
rename_with(~ stringr::str_replace_all(., "\\[", "_") %>%
stringr::str_replace_all(., "\\]", "")) %>%
mutate(across(
c("AB6_1", "AB6_2", "AB6_3", "AB7", "AB8_1",
"AB8_3", "AB8_4", "AB8_5", "AB8_6", "AB8_7",
"AB8_8", "AB8_9", "AB9_1", "AB9_2", "AB9_3",
"AB9_4", "AB9_5"),
~ ifelse(. == "Y", 1, 0))) %>%
mutate(across(
c("AB6_1", "AB6_2", "AB6_3", "AB7", "AB8_1",
"AB8_3", "AB8_4", "AB8_5", "AB8_6", "AB8_7",
"AB8_8", "AB8_9", "AB9_1", "AB9_2", "AB9_3",
"AB9_4", "AB9_5"),
~ ifelse(is.na(.), 0, .)))item_ID <-
c(
"item_1", "item_2", "item_3", "item_4", "item_5", "item_6", "item_7", "item_8",
"item_9", "item_10", "item_11", "item_12", "item_13", "item_14", "item_15",
"item_16", "item_17", "item_18", "item_19", "item_20", "item_21", "item_22",
"item_23", "item_24", "item_25", "item_26", "item_27", "item_28", "item_29",
"item_30"
)DAT <-
DATA[
c(paste0("SE",
c(1:8,14,9,15,12,13,10:11,16:20)),
paste0("VA",
c(1:5,10,6:9)))] %>%
rename_with(~ item_ID)
DAT_COR <- cbind(DAT, DATA[31:73])DAT_COR <-
DAT_COR %>%
rowwise() %>%
mutate(
`NAI-ST` = mean(c(item_1, item_2, abs(item_3 - 5), abs(item_4 - 5)), na.rm = TRUE),
`IRP-ST` = mean(c(item_5, item_6), na.rm = TRUE),
`NAI-PA` = mean(c(item_16, abs(item_17 - 5), abs(item_18 - 5)), na.rm = TRUE),
`IRP-PA` = mean(c(item_19, item_20), na.rm = TRUE),
CSFAS = mean(c(item_21, item_22, item_23, item_24), na.rm = TRUE),
CCMESS = mean(c(item_25, item_27, item_28, item_29, item_30), na.rm = TRUE),
WA1 = (WA1 == 2) %>% as.numeric(), # "Notarzt nicht immer notwendig",
WA2 = (WA2 == 2) %>% as.numeric(), # "keinen Gegenstand in den Mund",
WA3 = (WA3 == 2) %>% as.numeric(), # "Mund nicht mit physischer Kraft öffnen",
WA4 = (WA4 == 2) %>% as.numeric(), # "nicht festhalten",
#WA5 = (WA5 == 2) %>% as.numeric(), # "nicht wachrütteln",
WA6 = (WA6 == 2) %>% as.numeric(), # "nicht mit Wasser bespritzen",
WA7 = (WA7 == 2) %>% as.numeric(), # "Notfallmedikament geben",
#WA8 = (WA8 == 2) %>% as.numeric(), # "keine Form von geistiger Beeinträchtigung",
#WA9 = (WA9 == 3) %>% as.numeric(), # "Hochbegabung",
#WA10 = (WA10 == 3) %>% as.numeric(), # "Lernschwächen",
#WA11 = (WA11 == 3) %>% as.numeric(), # "Aggression",
#WA12 = (WA12 == 3) %>% as.numeric(), # "Sozialekompetenzen",
WA13 = (WA13 == 2) %>% as.numeric(), # "Sport kein Auslöser",
WA14 = (WA14 == 2) %>% as.numeric(), # "Ballsport kein Verletzungsrisiko"
) %>%
mutate(SED_INC = case_when(AB10 == 0 & AB11 == 0 ~ 0,
AB10 == 1 & AB11 == 0 ~ 1,
AB10 == 0 & AB11 == 1 ~ 1,
AB10 == 1 & is.na(AB11) ~ 1,
is.na(AB10) & AB11 == 1 ~ 1,
AB10 == 1 & AB11 == 1 ~ 1,
is.na(AB10) & is.na(AB11) ~ NA,
AB10 == 0 & is.na(AB11) ~ NA,
is.na(AB10) & AB11 == 0 ~ NA)) %>%
select(c("WA1", "WA2", "WA3", "WA4", "WA6", "WA7",
"WA13", "WA14",
"AB0", "AB1", "AB2", "AB3", "AB4", "AB5", "AB6_1",
"AB9_1", "AB9_2", "AB9_3",
"AB9_4", "SED_INC", "AB12", "AB13", "AB14",
"AB15", "CCMESS", "CSFAS", "IRP-PA", "NAI-PA", "IRP-ST", "NAI-ST"))COR <-
DAT_COR %>%
correlate() %>%
focus(!c(CCMESS, CSFAS, `IRP-PA`, `NAI-PA`, `IRP-ST`, `NAI-ST`)) %>%
as.data.frame()
rownames(COR) <- c("CCMESS", "CSFAS", "IRP-PA", "NAI-PA", "IRP-ST", "NAI-ST")
colnames(COR) <-
c("term",
"seizure: emergency medical treatment not always necessary",
"during seizure: do not put anything in the mouth",
"during seizure: mouth should not be opened with physical force",
"during seizure: student should not be held down",
"seizure can not be stopped by splashing with cool water",
"teachers are allowed to administer emergency medication on their own",
"physical activity and exertion are not considered to be major triggers for seizures",
"ball sports: risk of injury is not significantly higher (compared to non-sport activities)",
"prior knowledge about epilepsy (self-rating)",
"currently teaching students with epilepsy",
"previously taught students with epilepsy",
"witnessed a student having an epileptic seizure",
"witnessed a person having an epileptic seizure",
"have or have had regular contact with people with epilepsy",
"elementary education teacher",
"school subject: German",
"school subject: math",
"school subject: natural science",
"school subject: physical education",
"teacher training in special and/or inclusive education",
"attitude towards inclusive education",
"work experience as a teacher in years",
"age in years",
"sex: female")
FIG <-
COR %>%
rev() %>%
arrange(-row_number()) %>%
mutate(term = NULL) %>%
mycorrr(lab = T, outline.color = "white") +
theme(legend.title = element_blank()) +
theme(legend.position = "top")
annotate_figure(FIG,
bottom = text_grob(
"NAI-ST: Negative affect and insecurity (school trips)
NAI-PA: Negative affect and insecurity (physical activities)
IRP-ST: Intention to restrict participation (school trips)
IRP-PA: Intention to restrict participation (physical activities)
CSFAS: Confidence in seizure first aid skills
CCMESS: Confidence in classroom management and emotional support skills",
size = 10, x = 0.41, hjust = 0),
right = textGrob(label =
c("knowledge:\nseizure first aid & physical activity",
"|\n|",
"prior\nknowledge & experience",
"|\n|",
"professional background &\nsociodemographic characteristics"),
x = c(-1.2, -1.2, -1.2, -1.2, -1.2), # Adjust these values as needed
y = c(0.8, 0.676, 0.588, 0.498, 0.35), # Adjust these values as needed
rot = 270,
gp = gpar(fontsize = 10),
just = "center"))COR <-
DAT_COR %>%
select(!c(CCMESS, CSFAS, `IRP-PA`, `NAI-PA`, `IRP-ST`, `NAI-ST`)) %>%
correlate() %>%
focus(c("AB0", "AB1", "AB2", "AB3", "AB4", "AB5", "AB6_1",
"AB9_1", "AB9_2", "AB9_3", "AB9_4", "SED_INC", "AB12",
"AB13", "AB14", "AB15")) %>%
as.data.frame()
rownames(COR) <- c("seizure: emergency medical treatment not always necessary",
"during seizure: do not put anything in the mouth",
"during seizure: mouth should not be opened with physical force",
"during seizure: student should not be held down",
"seizure can not be stopped by splashing with cool water",
"teachers are allowed to administer emergency medication on their own",
"physical activity and exertion are not considered to be major triggers for seizures",
"ball sports: risk of injury is not significantly higher (compared to non-sport activities)")
colnames(COR) <-
c("term",
"prior knowledge about epilepsy (self-rating)",
"currently teaching students with epilepsy",
"previously taught students with epilepsy",
"witnessed a student having an epileptic seizure",
"witnessed a person having an epileptic seizure",
"have or have had regular contact with people with epilepsy",
"elementary education teacher",
"school subject: German",
"school subject: math",
"school subject: natural science",
"school subject: physical education",
"teacher training in special and/or inclusive education",
"attitude towards inclusive education",
"work experience as a teacher in years",
"age in years",
"sex: female")
FIG <-
COR %>%
rev() %>%
#arrange(-row_number()) %>%
mutate(term = NULL) %>%
mycorrr(lab = T, outline.color = "white") +
theme(legend.title = element_blank()) +
theme(legend.position = "top")
annotate_figure(FIG,
right = textGrob(label =
c("prior\nknowledge & experience",
"|\n|",
"professional background &\nsociodemographic characteristics"),
x = c(-2.9, -2.9, -2.9), # Adjust these values as needed
y = c(0.833, 0.747, 0.605), #0.498, 0.35), # Adjust these values as needed
rot = 270,
gp = gpar(fontsize = 10),
just = "center"))COR <-
DAT_COR %>%
select(!c(CCMESS, CSFAS, `IRP-PA`, `NAI-PA`, `IRP-ST`, `NAI-ST`) &
c("AB0", "AB1", "AB2", "AB3", "AB4", "AB5", "AB6_1",
"AB9_1", "AB9_2", "AB9_3", "AB9_4", "SED_INC", "AB12",
"AB13", "AB14", "AB15")) %>%
correlate() %>%
#focus(c("AB0", "AB1", "AB2", "AB3", "AB4", "AB5", "AB6_1",
# "AB9_1", "AB9_2", "AB9_3", "AB9_4", "SED_INC", "AB12",
# "AB13", "AB14", "AB15")) %>%
as.data.frame()
rownames(COR) <-
c("prior knowledge about epilepsy (self-rating)",
"currently teaching students with epilepsy",
"previously taught students with epilepsy",
"witnessed a student having an epileptic seizure",
"witnessed a person having an epileptic seizure",
"have or have had regular contact with people with epilepsy",
"elementary education teacher",
"school subject: German",
"school subject: math",
"school subject: natural science",
"school subject: physical education",
"teacher training in special and/or inclusive education",
"attitude towards inclusive education",
"work experience as a teacher in years",
"age in years",
"sex: female")
colnames(COR) <-
c("term",
"prior knowledge about epilepsy (self-rating)",
"currently teaching students with epilepsy",
"previously taught students with epilepsy",
"witnessed a student having an epileptic seizure",
"witnessed a person having an epileptic seizure",
"have or have had regular contact with people with epilepsy",
"elementary education teacher",
"school subject: German",
"school subject: math",
"school subject: natural science",
"school subject: physical education",
"teacher training in special and/or inclusive education",
"attitude towards inclusive education",
"work experience as a teacher in years",
"age in years",
"sex: female")
COR %>%
rev() %>%
#arrange(-row_number()) %>%
mutate(term = NULL) %>%
mycorrr(lab = T, outline.color = "white") +
theme(legend.title = element_blank()) +
theme(legend.position = "top")table(DATA$AB6_1, DATA$AB1,
dnn = c("elementary",
"currently teaching students with epilepsy")) %>%
prop.table(1) %>% round(2) currently teaching students with epilepsy
elementary 0 1
0 0.90 0.10
1 0.92 0.08
table(DATA$AB6_1, DATA$AB2,
dnn = c("elementary",
"previously taught students with epilepsy")) %>%
prop.table(1) %>% round(2) previously taught students with epilepsy
elementary 0 1
0 0.63 0.37
1 0.66 0.34
table(DATA$AB6_1, DATA$AB3,
dnn = c("elementary",
"witnessed a student having an epileptic seizure")) %>%
prop.table(1) %>% round(2) witnessed a student having an epileptic seizure
elementary 0 1
0 0.83 0.17
1 0.83 0.17
table(DATA$AB6_1, DATA$AB4,
dnn = c("elementary",
"witnessed a person having an epileptic seizure")) %>%
prop.table(1) %>% round(2) witnessed a person having an epileptic seizure
elementary 0 1
0 0.53 0.47
1 0.58 0.42
table(DATA$AB6_1, DATA$AB5,
dnn = c("elementary",
"have or have had regular contact with people with epilepsy")) %>%
prop.table(1) %>% round(2) have or have had regular contact with people with epilepsy
elementary 0 1
0 0.80 0.20
1 0.75 0.25
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
## abind 1.4-8 2024-09-12 [1] CRAN (R 4.4.1)
## backports 1.5.0 2024-05-23 [1] CRAN (R 4.4.0)
## broom 1.0.7 2024-09-26 [1] CRAN (R 4.4.2)
## cachem 1.1.0 2024-05-16 [1] CRAN (R 4.4.2)
## car 3.1-3 2024-09-27 [1] CRAN (R 4.4.2)
## carData 3.0-5 2022-01-06 [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)
## corrr * 0.4.4 2022-08-16 [1] CRAN (R 4.4.2)
## cowplot 1.1.3 2024-01-22 [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)
## farver 2.1.2 2024-05-13 [1] CRAN (R 4.4.2)
## fastmap 1.2.0 2024-05-15 [1] CRAN (R 4.4.2)
## forcats * 1.0.0 2023-01-29 [1] CRAN (R 4.4.2)
## Formula 1.2-5 2023-02-24 [1] CRAN (R 4.4.0)
## 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)
## ggcorrplot * 0.1.4.1 2023-09-05 [1] CRAN (R 4.4.2)
## ggplot2 * 3.5.1 2024-04-23 [1] CRAN (R 4.4.2)
## ggpubr * 0.6.0 2023-02-10 [1] CRAN (R 4.4.2)
## ggsignif 0.6.4 2022-10-13 [1] CRAN (R 4.4.2)
## glue 1.8.0 2024-09-30 [1] CRAN (R 4.4.2)
## gridExtra 2.3 2017-09-09 [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)
## 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)
## labeling 0.4.3 2023-08-29 [1] CRAN (R 4.4.0)
## 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)
## 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)
## 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)
## plyr 1.8.9 2023-10-02 [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)
## remotes 2.5.0 2024-03-17 [1] CRAN (R 4.4.2)
## reshape2 1.4.4 2020-04-09 [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)
## rstatix 0.7.2 2023-02-01 [1] CRAN (R 4.4.2)
## rstudioapi 0.17.1 2024-10-22 [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
##
## ──────────────────────────────────────────────────────────────────────────────