Code
# options to customize chunk outputs
knitr::opts_chunk$set(
tidy.opts = list(width.cutoff = 65),
tidy = TRUE,
message = FALSE
)Predictores del desempeño
# options to customize chunk outputs
knitr::opts_chunk$set(
tidy.opts = list(width.cutoff = 65),
tidy = TRUE,
message = FALSE
)# | message: false | warning: false
# install/ load packages
sketchy::load_packages(packages = c("readxl", "emmeans", "ggplot2",
"viridis"))datos_org <- read_excel("/home/m/Dropbox/Projects/olimpiadas_biologia/OLICOCIBI_Total_Recopilado.xlsx")
# dat$ names(dat)
dat <- datos_org[complete.cases(datos_org[, c("Provincia", "Zona",
"Tipo", "Sexo", "Año", "Categoría (A o B)", "Nota eliminatoria")]),
]
dat$Medalla.bin <- ifelse(is.na(dat$Medalla), "No", "Si")
# nrow(dat)
dat <- dat[, c("Provincia", "Zona", "Tipo", "Sexo", "Año", "Categoría (A o B)",
"Nota eliminatoria", "Medalla.bin")]
names(dat) <- c("Provincia", "Zona", "Tipo", "Sexo", "Año", "Categoria",
"Nota", "Medalla.bin")
dat$Sexo[dat$Sexo == "FF"] <- "F"
dat$Sexo[dat$Sexo == "f"] <- "F"
dat$Sexo[dat$Sexo == "m"] <- "M"
dat <- dat[dat$Sexo != "*", ]
# nrow(dat) table(dat$Sexo) table(dat$Tipo)
dat$Notap <- dat$Nota/100dat$Provincia <- factor(dat$Provincia, levels = c("San Jose", "Alajuela",
"Heredia", "Cartago", "Limon", "Puntarenas", "Guanacaste"))
formula <- "Notap ~ Provincia + Zona + Tipo + Sexo + Categoria"
mod <- glm(formula, data = dat)
summary(mod)
Call:
glm(formula = formula, data = dat)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.492565 0.006246 78.864 < 2e-16 ***
ProvinciaAlajuela 0.011823 0.003871 3.054 0.002263 **
ProvinciaHeredia 0.025837 0.004774 5.412 6.35e-08 ***
ProvinciaCartago -0.019392 0.005532 -3.506 0.000457 ***
ProvinciaLimon -0.033419 0.004783 -6.987 2.97e-12 ***
ProvinciaPuntarenas -0.028782 0.004891 -5.884 4.12e-09 ***
ProvinciaGuanacaste -0.053954 0.005162 -10.453 < 2e-16 ***
ZonaUrbano 0.007551 0.004101 1.841 0.065589 .
TipoPNC -0.145983 0.004104 -35.575 < 2e-16 ***
TipoPrivado -0.102684 0.003947 -26.017 < 2e-16 ***
TipoSubvencionado -0.103792 0.006568 -15.804 < 2e-16 ***
SexoM 0.004325 0.002678 1.615 0.106366
CategoriaB 0.021684 0.002671 8.118 5.25e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for gaussian family taken to be 0.01953633)
Null deviance: 257.94 on 11267 degrees of freedom
Residual deviance: 219.88 on 11255 degrees of freedom
AIC: -12353
Number of Fisher Scoring iterations: 2
# contrasts by tipo
emmeans(mod, pairwise ~ Tipo, type = "response")$emmeans
Tipo emmean SE df lower.CL upper.CL
PC 0.495 0.00370 11255 0.488 0.503
PNC 0.349 0.00227 11255 0.345 0.354
Privado 0.393 0.00300 11255 0.387 0.399
Subvencionado 0.392 0.00586 11255 0.380 0.403
Results are averaged over the levels of: Provincia, Zona, Sexo, Categoria
Confidence level used: 0.95
$contrasts
contrast estimate SE df t.ratio p.value
PC - PNC 0.14598 0.00410 11255 35.575 <.0001
PC - Privado 0.10268 0.00395 11255 26.017 <.0001
PC - Subvencionado 0.10379 0.00657 11255 15.804 <.0001
PNC - Privado -0.04330 0.00351 11255 -12.339 <.0001
PNC - Subvencionado -0.04219 0.00627 11255 -6.724 <.0001
Privado - Subvencionado 0.00111 0.00600 11255 0.185 0.9978
Results are averaged over the levels of: Provincia, Zona, Sexo, Categoria
P value adjustment: tukey method for comparing a family of 4 estimates
dat$Tipo <- factor(dat$Tipo, levels = c("PC", "Privado", "Subvencionado", "PNC"))
# raincoud plot:
fill_color <- mako(10, alpha = 0.4)[7]
ggplot(dat, aes(y = Nota, x = Tipo)) +
# add half-violin from {ggdist} package
ggdist::stat_halfeye(
fill = fill_color,
alpha = 0.5,
# custom bandwidth
adjust = .5,
# adjust height
width = .6,
.width = 0,
# move geom to the cright
justification = -.2,
point_colour = NA
) +
geom_boxplot(fill = fill_color,
width = .15,
# remove outliers
outlier.shape = NA # `outlier.shape = NA` works as well
) +
# add justified jitter from the {gghalves} package
gghalves::geom_half_point(
color = fill_color,
# draw jitter on the left
side = "l",
# control range of jitter
range_scale = .4,
# add some transparency
alpha = .5,
) +
# ylim(c(-30, 310)) +
# geom_text(data = agg_dat, aes(y = rep(-25, 5), x = sensory_input, label = n.labels), nudge_x = -0.13, size = 6) +
# scale_x_discrete(labels=c("Control" = "Noise control", "Sound vision" = "Sound & vision", "Vision" = "Vision", "Lessen input" = "Lessen input")) +
labs(x = "Tipo de colegio", y = "Nota (%)") + theme(axis.text.x = element_text(angle = 15, hjust = 1))agg <- aggregate(Notap ~ Provincia, data = dat, mean)
agg <- agg[order(agg$Notap, decreasing = T),]
dat$Provincia <- factor(dat$Provincia, levels = agg$Provincia)
ggplot(dat, aes(y = Nota, x = Provincia)) +
# add half-violin from {ggdist} package
ggdist::stat_halfeye(
fill = fill_color,
alpha = 0.5,
# custom bandwidth
adjust = .5,
# adjust height
width = .6,
.width = 0,
# move geom to the cright
justification = -.2,
point_colour = NA
) +
geom_boxplot(fill = fill_color,
width = .15,
# remove outliers
outlier.shape = NA # `outlier.shape = NA` works as well
) +
# add justified jitter from the {gghalves} package
gghalves::geom_half_point(
color = fill_color,
# draw jitter on the left
side = "l",
# control range of jitter
range_scale = .4,
# add some transparency
alpha = .5,
) +
# ylim(c(-30, 310)) +
# geom_text(data = agg_dat, aes(y = rep(-25, 5), x = sensory_input, label = n.labels), nudge_x = -0.13, size = 6) +
# scale_x_discrete(labels=c("Control" = "Noise control", "Sound vision" = "Sound & vision", "Vision" = "Vision", "Lessen input" = "Lessen input")) +
labs(x = "Provincia", y = "Nota (%)") + theme(axis.text.x = element_text(angle = 15, hjust = 1))dat$Provincia <- factor(dat$Provincia, levels = c("San Jose", "Alajuela",
"Heredia", "Cartago", "Limon", "Puntarenas", "Guanacaste"))
dat$medalla <- ifelse(dat$Medalla.bin == "Si", 1, 0)
formula <- "medalla ~ Provincia + Zona + Tipo + Sexo + Categoria"
mod <- glm(formula, data = dat, family = binomial(link = "logit"))
summary(mod)
Call:
glm(formula = formula, family = binomial(link = "logit"), data = dat)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.02055 0.24579 -8.220 < 2e-16 ***
ProvinciaAlajuela 0.22167 0.10851 2.043 0.04106 *
ProvinciaHeredia 0.20663 0.15772 1.310 0.19016
ProvinciaCartago -0.59420 0.19720 -3.013 0.00259 **
ProvinciaLimon -0.96287 0.17928 -5.371 7.84e-08 ***
ProvinciaPuntarenas -0.73822 0.18502 -3.990 6.61e-05 ***
ProvinciaGuanacaste -2.19322 0.31686 -6.922 4.46e-12 ***
ZonaUrbano 0.49134 0.20901 2.351 0.01874 *
TipoPrivado -1.53743 0.10379 -14.812 < 2e-16 ***
TipoSubvencionado -2.07364 0.24290 -8.537 < 2e-16 ***
TipoPNC -2.43238 0.15425 -15.769 < 2e-16 ***
SexoM 0.42719 0.08618 4.957 7.15e-07 ***
CategoriaB 0.05307 0.08671 0.612 0.54050
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 4857.9 on 11267 degrees of freedom
Residual deviance: 4165.6 on 11255 degrees of freedom
AIC: 4191.6
Number of Fisher Scoring iterations: 7
# contrasts by tipo
emmeans(mod, pairwise ~ Tipo, type = "response")$emmeans
Tipo prob SE df asymp.LCL asymp.UCL
PC 0.1077 0.01200 Inf 0.08631 0.1335
Privado 0.0253 0.00324 Inf 0.01965 0.0325
Subvencionado 0.0149 0.00370 Inf 0.00918 0.0242
PNC 0.0105 0.00147 Inf 0.00797 0.0138
Results are averaged over the levels of: Provincia, Zona, Sexo, Categoria
Confidence level used: 0.95
Intervals are back-transformed from the logit scale
$contrasts
contrast odds.ratio SE df null z.ratio p.value
PC / Privado 4.65 0.483 Inf 1 14.812 <.0001
PC / Subvencionado 7.95 1.930 Inf 1 8.537 <.0001
PC / PNC 11.39 1.760 Inf 1 15.769 <.0001
Privado / Subvencionado 1.71 0.407 Inf 1 2.251 0.1097
Privado / PNC 2.45 0.382 Inf 1 5.735 <.0001
Subvencionado / PNC 1.43 0.383 Inf 1 1.342 0.5358
Results are averaged over the levels of: Provincia, Zona, Sexo, Categoria
P value adjustment: tukey method for comparing a family of 4 estimates
Tests are performed on the log odds ratio scale
dat$Tipo <- factor(dat$Tipo, levels = c("PC", "Privado", "Subvencionado",
"PNC"))
# raincoud plot:
fill_color <- mako(10, alpha = 0.7)[7]
ggplot(dat, aes(y = medalla, x = Tipo)) + geom_bar(stat = "identity",
fill = fill_color) + labs(x = "Tipo de colegio", y = "Total de medallas") +
theme(axis.text.x = element_text(angle = 15, hjust = 1))agg_med <- aggregate(medalla ~ Tipo, data = dat, function(x) sum(x)/length(x))
ggplot(agg_med, aes(y = medalla, x = Tipo)) + geom_bar(stat = "identity",
fill = fill_color) + labs(x = "Tipo de colegio", y = "Proporción con medalla") +
theme(axis.text.x = element_text(angle = 15, hjust = 1))ggplot(dat, aes(y = medalla, x = Provincia)) + geom_bar(stat = "identity",
fill = fill_color) + labs(x = "Tipo de colegio", y = "Total de medallas") +
theme(axis.text.x = element_text(angle = 15, hjust = 1))agg_med <- aggregate(medalla ~ Provincia, data = dat, function(x) sum(x)/length(x))
agg_med <- agg_med[order(agg_med$medalla, decreasing = T), ]
agg_med$Provincia <- factor(agg_med$Provincia, levels = agg_med$Provincia)
ggplot(agg_med, aes(y = medalla, x = Provincia)) + geom_bar(stat = "identity",
fill = fill_color) + labs(x = "Provincia", y = "Proporción con medalla") +
theme(axis.text.x = element_text(angle = 15, hjust = 1))# | message: false | warning: false
dat <- datos_org[complete.cases(datos_org[, c("Provincia", "Zona",
"Tipo", "Sexo", "Año", "Categoría (A o B)", "Nota final")]),
]
dat$Medalla.bin <- ifelse(is.na(dat$Medalla), "No", "Si")
dat <- dat[, c("Provincia", "Zona", "Tipo", "Sexo", "Año", "Categoría (A o B)",
"Nota final")]
names(dat) <- c("Provincia", "Zona", "Tipo", "Sexo", "Año", "Categoria",
"Nota")
dat$Sexo[dat$Sexo == "FF"] <- "F"
dat$Sexo[dat$Sexo == "f"] <- "F"
dat$Sexo[dat$Sexo == "m"] <- "M"
dat <- dat[dat$Sexo != "*", ]
# nrow(dat) table(dat$Sexo) table(dat$Tipo)
dat$Notap <- dat$Nota/100dat$Provincia <- factor(dat$Provincia, levels = c("San Jose", "Alajuela",
"Heredia", "Cartago", "Limon", "Puntarenas", "Guanacaste"))
formula <- "Notap ~ Provincia + Zona + Tipo + Sexo + Categoria"
mod <- glm(formula, data = dat)
summary(mod)
Call:
glm(formula = formula, data = dat)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.586187 0.014621 40.091 < 2e-16 ***
ProvinciaAlajuela -0.011826 0.007394 -1.599 0.1099
ProvinciaHeredia 0.014788 0.010198 1.450 0.1472
ProvinciaCartago -0.003081 0.014628 -0.211 0.8332
ProvinciaLimon -0.025182 0.011670 -2.158 0.0311 *
ProvinciaPuntarenas -0.024353 0.011724 -2.077 0.0379 *
ProvinciaGuanacaste -0.078667 0.016853 -4.668 3.28e-06 ***
ZonaUrbano -0.019626 0.011727 -1.674 0.0944 .
TipoPNC -0.080680 0.009365 -8.615 < 2e-16 ***
TipoPrivado -0.040463 0.007006 -5.775 9.13e-09 ***
TipoSubvencionado -0.094616 0.014963 -6.323 3.26e-10 ***
SexoM 0.025698 0.005747 4.472 8.28e-06 ***
CategoriaB -0.110457 0.005867 -18.827 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for gaussian family taken to be 0.01358634)
Null deviance: 30.345 on 1712 degrees of freedom
Residual deviance: 23.097 on 1700 degrees of freedom
AIC: -2487.4
Number of Fisher Scoring iterations: 2
# contrasts by tipo
emmeans(mod, pairwise ~ Tipo, type = "response")$emmeans
Tipo emmean SE df lower.CL upper.CL
PC 0.516 0.00718 1700 0.502 0.53
PNC 0.435 0.00776 1700 0.420 0.45
Privado 0.475 0.00761 1700 0.460 0.49
Subvencionado 0.421 0.01480 1700 0.392 0.45
Results are averaged over the levels of: Provincia, Zona, Sexo, Categoria
Confidence level used: 0.95
$contrasts
contrast estimate SE df t.ratio p.value
PC - PNC 0.0807 0.00936 1700 8.615 <.0001
PC - Privado 0.0405 0.00701 1700 5.775 <.0001
PC - Subvencionado 0.0946 0.01500 1700 6.323 <.0001
PNC - Privado -0.0402 0.00932 1700 -4.316 0.0001
PNC - Subvencionado 0.0139 0.01580 1700 0.882 0.8142
Privado - Subvencionado 0.0542 0.01470 1700 3.689 0.0013
Results are averaged over the levels of: Provincia, Zona, Sexo, Categoria
P value adjustment: tukey method for comparing a family of 4 estimates
dat$Tipo <- factor(dat$Tipo, levels = c("PC", "Privado", "Subvencionado", "PNC"))
# raincoud plot:
fill_color <- mako(10, alpha = 0.4)[7]
ggplot(dat, aes(y = Nota, x = Tipo)) +
# add half-violin from {ggdist} package
ggdist::stat_halfeye(
fill = fill_color,
alpha = 0.5,
# custom bandwidth
adjust = .5,
# adjust height
width = .6,
.width = 0,
# move geom to the cright
justification = -.2,
point_colour = NA
) +
geom_boxplot(fill = fill_color,
width = .15,
# remove outliers
outlier.shape = NA # `outlier.shape = NA` works as well
) +
# add justified jitter from the {gghalves} package
gghalves::geom_half_point(
color = fill_color,
# draw jitter on the left
side = "l",
# control range of jitter
range_scale = .4,
# add some transparency
alpha = .5,
) +
# ylim(c(-30, 310)) +
# geom_text(data = agg_dat, aes(y = rep(-25, 5), x = sensory_input, label = n.labels), nudge_x = -0.13, size = 6) +
# scale_x_discrete(labels=c("Control" = "Noise control", "Sound vision" = "Sound & vision", "Vision" = "Vision", "Lessen input" = "Lessen input")) +
labs(x = "Tipo de colegio", y = "Nota (%)") + theme(axis.text.x = element_text(angle = 15, hjust = 1))agg <- aggregate(Notap ~ Provincia, data = dat, mean)
agg <- agg[order(agg$Notap, decreasing = T),]
dat$Provincia <- factor(dat$Provincia, levels = agg$Provincia)
ggplot(dat, aes(y = Nota, x = Provincia)) +
# add half-violin from {ggdist} package
ggdist::stat_halfeye(
fill = fill_color,
alpha = 0.5,
# custom bandwidth
adjust = .5,
# adjust height
width = .6,
.width = 0,
# move geom to the cright
justification = -.2,
point_colour = NA
) +
geom_boxplot(fill = fill_color,
width = .15,
# remove outliers
outlier.shape = NA # `outlier.shape = NA` works as well
) +
# add justified jitter from the {gghalves} package
gghalves::geom_half_point(
color = fill_color,
# draw jitter on the left
side = "l",
# control range of jitter
range_scale = .4,
# add some transparency
alpha = .5,
) +
# ylim(c(-30, 310)) +
# geom_text(data = agg_dat, aes(y = rep(-25, 5), x = sensory_input, label = n.labels), nudge_x = -0.13, size = 6) +
# scale_x_discrete(labels=c("Control" = "Noise control", "Sound vision" = "Sound & vision", "Vision" = "Vision", "Lessen input" = "Lessen input")) +
labs(x = "Provincia", y = "Nota (%)") + theme(axis.text.x = element_text(angle = 15, hjust = 1))─ Session info ───────────────────────────────────────────────────────────────
setting value
version R version 4.5.2 (2025-10-31)
os Ubuntu 22.04.5 LTS
system x86_64, linux-gnu
ui X11
language (EN)
collate en_US.UTF-8
ctype en_US.UTF-8
tz America/Costa_Rica
date 2026-04-15
pandoc 3.2 @ /usr/lib/rstudio/resources/app/bin/quarto/bin/tools/x86_64/ (via rmarkdown)
quarto 1.7.31 @ /usr/local/bin/quarto
─ Packages ───────────────────────────────────────────────────────────────────
package * version date (UTC) lib source
cachem 1.1.0 2024-05-16 [1] CRAN (R 4.5.0)
cellranger 1.1.0 2016-07-27 [3] CRAN (R 4.0.1)
cli 3.6.6 2026-04-09 [1] CRAN (R 4.5.2)
coda 0.19-4.1 2024-01-31 [1] CRAN (R 4.5.0)
codetools 0.2-20 2024-03-31 [4] CRAN (R 4.5.0)
crayon 1.5.3 2024-06-20 [1] CRAN (R 4.5.0)
devtools 2.4.5 2022-10-11 [1] CRAN (R 4.5.0)
digest 0.6.39 2025-11-19 [1] CRAN (R 4.5.0)
distributional 0.5.0 2024-09-17 [1] CRAN (R 4.5.0)
dplyr 1.1.4 2023-11-17 [1] CRAN (R 4.5.0)
ellipsis 0.3.2 2021-04-29 [3] CRAN (R 4.1.1)
emmeans * 1.11.1 2025-05-04 [3] CRAN (R 4.5.0)
estimability 1.5.1 2024-05-12 [3] CRAN (R 4.5.0)
evaluate 1.0.5 2025-08-27 [1] CRAN (R 4.5.0)
farver 2.1.2 2024-05-13 [1] CRAN (R 4.5.0)
fastmap 1.2.0 2024-05-15 [1] CRAN (R 4.5.0)
formatR 1.14 2023-01-17 [1] CRAN (R 4.5.0)
fs 2.0.1 2026-03-24 [1] CRAN (R 4.5.2)
generics 0.1.4 2025-05-09 [1] CRAN (R 4.5.0)
ggdist 3.3.3 2025-04-23 [1] CRAN (R 4.5.0)
gghalves 0.1.4 2025-12-03 [1] Github (teunbrand/gghalves@58ed08b)
ggplot2 * 4.0.2 2026-02-03 [1] CRAN (R 4.5.2)
glue 1.8.0 2024-09-30 [1] CRAN (R 4.5.0)
gridExtra 2.3 2017-09-09 [1] CRAN (R 4.5.0)
gtable 0.3.6 2024-10-25 [1] CRAN (R 4.5.0)
htmltools 0.5.9 2025-12-04 [1] CRAN (R 4.5.0)
htmlwidgets 1.6.4 2023-12-06 [1] RSPM (R 4.5.0)
httpuv 1.6.16 2025-04-16 [1] RSPM (R 4.5.0)
jsonlite 2.0.0 2025-03-27 [1] CRAN (R 4.5.0)
knitr 1.51 2025-12-20 [1] CRAN (R 4.5.2)
labeling 0.4.3 2023-08-29 [1] CRAN (R 4.5.0)
later 1.4.2 2025-04-08 [1] RSPM (R 4.5.0)
lattice 0.22-9 2026-02-09 [4] CRAN (R 4.5.2)
lifecycle 1.0.5 2026-01-08 [1] CRAN (R 4.5.2)
magrittr 2.0.5 2026-04-04 [1] CRAN (R 4.5.2)
MASS 7.3-65 2025-02-28 [4] CRAN (R 4.4.3)
Matrix 1.7-4 2025-08-28 [4] CRAN (R 4.5.1)
memoise 2.0.1 2021-11-26 [1] CRAN (R 4.5.0)
mime 0.13 2025-03-17 [1] CRAN (R 4.5.0)
miniUI 0.1.2 2025-04-17 [3] CRAN (R 4.5.0)
multcomp 1.4-28 2025-01-29 [3] CRAN (R 4.5.0)
mvtnorm 1.3-3 2025-01-10 [1] CRAN (R 4.5.0)
packrat 0.9.3 2025-06-16 [1] CRAN (R 4.5.2)
pillar 1.11.1 2025-09-17 [1] CRAN (R 4.5.0)
pkgbuild 1.4.8 2025-05-26 [1] CRAN (R 4.5.0)
pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.5.0)
pkgload 1.4.1 2025-09-23 [1] CRAN (R 4.5.0)
profvis 0.4.0 2024-09-20 [1] CRAN (R 4.5.0)
promises 1.3.3 2025-05-29 [1] RSPM (R 4.5.0)
purrr 1.2.0 2025-11-04 [1] CRAN (R 4.5.0)
R6 2.6.1 2025-02-15 [1] CRAN (R 4.5.0)
RColorBrewer 1.1-3 2022-04-03 [1] CRAN (R 4.5.0)
Rcpp 1.1.1-1 2026-04-15 [1] local
readxl * 1.4.5 2025-03-07 [3] CRAN (R 4.5.0)
remotes 2.5.0 2024-03-17 [1] CRAN (R 4.5.0)
rlang 1.2.0 2026-04-06 [1] CRAN (R 4.5.2)
rmarkdown 2.31 2026-03-26 [1] CRAN (R 4.5.2)
rstudioapi 0.17.1 2024-10-22 [1] CRAN (R 4.5.0)
S7 0.2.1-1 2025-11-14 [1] CRAN (R 4.5.2)
sandwich 3.1-1 2024-09-15 [3] CRAN (R 4.5.0)
scales 1.4.0 2025-04-24 [1] CRAN (R 4.5.0)
sessioninfo 1.2.3 2025-02-05 [3] CRAN (R 4.5.0)
shiny 1.10.0 2024-12-14 [1] CRAN (R 4.5.0)
sketchy 1.0.7 2026-01-28 [1] CRANs (R 4.5.2)
stringi 1.8.7 2025-03-27 [1] CRAN (R 4.5.0)
stringr 1.6.0 2025-11-04 [1] CRAN (R 4.5.0)
survival 3.8-6 2026-01-16 [4] CRAN (R 4.5.2)
TH.data 1.1-3 2025-01-17 [3] CRAN (R 4.5.0)
tibble 3.3.0 2025-06-08 [1] RSPM (R 4.5.0)
tidyselect 1.2.1 2024-03-11 [1] CRAN (R 4.5.0)
urlchecker 1.0.1 2021-11-30 [1] CRAN (R 4.5.0)
usethis 3.1.0 2024-11-26 [3] CRAN (R 4.5.0)
vctrs 0.7.3 2026-04-11 [1] CRAN (R 4.5.2)
viridis * 0.6.5 2024-01-29 [1] CRAN (R 4.5.0)
viridisLite * 0.4.3 2026-02-04 [1] CRAN (R 4.5.2)
withr 3.0.2 2024-10-28 [1] CRAN (R 4.5.0)
xaringanExtra 0.8.0 2024-05-19 [1] CRAN (R 4.5.0)
xfun 0.57 2026-03-20 [1] CRAN (R 4.5.2)
xtable 1.8-8 2026-02-22 [1] CRAN (R 4.5.2)
yaml 2.3.12 2025-12-10 [1] CRAN (R 4.5.2)
zoo 1.8-14 2025-04-10 [3] CRAN (R 4.5.0)
[1] /home/m/R/x86_64-pc-linux-gnu-library/4.5
[2] /usr/local/lib/R/site-library
[3] /usr/lib/R/site-library
[4] /usr/lib/R/library
* ── Packages attached to the search path.
──────────────────────────────────────────────────────────────────────────────