A Replication Code for “Fake News and its Electoral Consequences: A Survey Experiment on Mexico”

Authors
Affiliations

Doshisha University

Kansai University

José Luis Estrada

Universidad Autónoma de Puebla

Yuriko Takahashi

Waseda University

Updated

2023年8月29日

1 Text and Dataset

  • Full-text available here.
  • Replication data available here.

2 Setup

pacman::p_load(tidyverse, 
               margins, 
               prediction,
               modelsummary,
               summarytools, 
               gt)
pacman::p_load_gh("JaehyunSong/BalanceR")
df <- read_csv("data/replication_data_aiso_2022.csv")

3 Estimation

# w/o covariates / no interaction
Fit1 <- lm(Regret ~ Group, data = df, weights = W)

# w/ covariates
Fit2 <- lm(Regret ~ Group + Female + Age + Educ + Income + 
               Ideology + PID1 + PID2 + PID3 + Knowledge + Voted + 
               ExtEffi + IntEffi + Trust_Media, 
           data = df, weights = W)

# w/ covariates / interaction with knowledge
Fit3 <- lm(Regret ~ Group * Knowledge + Female + Age + Educ + Income + 
               Ideology + PID1 + PID2 + PID3 + Knowledge + Voted + 
               Trust_Media + ExtEffi + IntEffi, 
           data = df, weights = W)

# w/ covariates / interaction with internal political efficacy
Fit4 <- lm(Regret ~ Group * IntEffi + Female + Age + Educ + Income + 
               Ideology + PID1 + PID2 + PID3 + Knowledge + Voted + 
               ExtEffi + IntEffi + Trust_Media, 
           data = df, weights = W)
coef_vec <- c("GroupTreat1"           = "Treatment 1",
              "GroupTreat2"           = "Treatment 2",
              "Female"                = "Female", 
              "Age"                   = "Age", 
              "Educ"                  = "Education",
              "Income"                = "Income", 
              "Ideology"              = "Ideology",
              "PID1"                  = "PID: Anaya Coalition",
              "PID2"                  = "PID: Meade Coalition",
              "PID3"                  = "PID: López Obrador Coalition",
              "Knowledge"             = "Knowledge",
              "Voted"                 = "Voted",
              "ExtEffi"               = "External Efficacy",
              "IntEffi"               = "Internal Efficacy",
              "Trust_Media"           = "Trust in Media",
              "GroupTreat1:Knowledge" = "Treatment 1 * Knowledge",
              "GroupTreat2:Knowledge" = "Treatment 2 * Knowledge",
              "GroupTreat1:IntEffi"   = "Treatment1 * Internal Efficacy",
              "GroupTreat2:IntEffi"   = "Treatment2 * Internal Efficacy",
              "(Intercept)"           = "Constant")

modelsummary(list("Model 1<br/>No Covariates"                = Fit1, 
                  "Model 2<br/>With Covariates"              = Fit2,
                  "Model 3<br/>Knowledge"                    = Fit3,
                  "Model 4<br/>Internal Political Efficacy"  = Fit4), 
             escape   = FALSE,
             coef_map = coef_vec)
Model 1
No Covariates
 Model 2
With Covariates
 Model 3
Knowledge
 Model 4
Internal Political Efficacy
Treatment 1 −0.021 −0.016 −0.006 0.267
(0.035) (0.033) (0.054) (0.116)
Treatment 2 −0.045 −0.027 0.070 0.363
(0.034) (0.032) (0.052) (0.118)
Female 0.004 0.007 0.005
(0.027) (0.027) (0.026)
Age −0.001 −0.001 −0.001
(0.001) (0.001) (0.001)
Education 0.006 0.003 0.004
(0.014) (0.014) (0.014)
Income 0.000 0.001 0.001
(0.003) (0.003) (0.003)
Ideology 0.014 0.014 0.014
(0.006) (0.006) (0.006)
PID: Anaya Coalition 0.240 0.231 0.235
(0.049) (0.049) (0.049)
PID: Meade Coalition 0.122 0.116 0.117
(0.052) (0.052) (0.051)
PID: López Obrador Coalition 0.031 0.026 0.032
(0.033) (0.033) (0.032)
Knowledge 0.020 0.049 0.020
(0.014) (0.022) (0.014)
Voted −0.391 −0.391 −0.397
(0.040) (0.040) (0.040)
External Efficacy 0.001 0.001 −0.002
(0.012) (0.012) (0.012)
Internal Efficacy −0.015 −0.016 0.047
(0.013) (0.013) (0.022)
Trust in Media 0.022 0.022 0.022
(0.012) (0.012) (0.012)
Treatment 1 * Knowledge −0.008
(0.033)
Treatment 2 * Knowledge −0.073
(0.031)
Treatment1 * Internal Efficacy −0.069
(0.028)
Treatment2 * Internal Efficacy −0.095
(0.028)
Constant 0.230 0.410 0.388 0.180
(0.024) (0.095) (0.097) (0.117)
Num.Obs. 822 822 822 822
R2 0.002 0.168 0.175 0.181
R2 Adj. 0.000 0.153 0.157 0.163
AIC 888.7 765.1 762.7 756.8
BIC 907.5 845.2 852.2 846.3
Log.Lik. −440.342 −365.569 −362.332 −359.386
F 0.857 10.856 10.005 10.417
RMSE 0.40 0.37 0.37 0.37

4 Figure 1

bind_rows(list("1" = prediction(Fit1, 
                                at = list(Group = c("Control", 
                                                    "Treat1", 
                                                    "Treat2"))) |>
                   summary(),
               "2" = prediction(Fit2, 
                                at = list(Group = c("Control", 
                                                    "Treat1", 
                                                    "Treat2"))) |>
                   summary()),
          .id = "Model") |>
    rename("Group" = "at(Group)") |>
    mutate(Model = if_else(Model == "1", 
                           "w/o Covariates\n& w/ Weights", 
                           "w/ Covariates\n& w/ Weights"),
           Model = fct_inorder(Model)) |>
    ggplot() +
    geom_bar(aes(x = Group, y = Prediction), stat = "identity") +
    geom_label(aes(x = Group, y = Prediction, 
                   label = sprintf("%.3f", Prediction))) +
    coord_cartesian(ylim = c(0, 0.25)) +
    labs(x = "Groups", y = "Predicted Pr(Regret)") +
    facet_wrap(~Model, ncol = 2) +
    theme_bw(base_size = 12)

5 Figure 2

Fit3 |>
    prediction(at = list("Group"     = c("Control", "Treat1", "Treat2"),
                         "Knowledge" = 0:3)) |>
    summary() |>
    rename("Group"     = "at(Group)",
           "Knowledge" = "at(Knowledge)") |>
    mutate(Group = fct_inorder(Group)) |>
    ggplot(aes(x = Knowledge, y = Prediction)) +
    geom_line() +
    geom_pointrange(aes(ymin = lower, ymax = upper)) +
    labs(x = "(Low) ← Political Knowledge → (High)", 
         y = "Probability that respondents want \nto vote for another candidate (0:No ~ 1:Yes)") +
    coord_cartesian(ylim = c(0, 0.4)) +
    facet_wrap(~ Group) +
    theme_bw()

6 Figure 3

Fit3 |>
    margins(variable = "Group",
            at = list(Knowledge = 0:3)) |>
    summary()  |>
    mutate(Sig    = if_else(p < 0.05, "Significant", "Insignificant"),
           factor = if_else(factor == "GroupTreat1",
                            "Treatment 1", "Treatment 2")) |>
    ggplot() +
    geom_hline(yintercept = 0) +
    geom_pointrange(aes(x = Knowledge, y = AME, ymin = lower, ymax = upper,
                        color = Sig)) +
    scale_y_continuous(breaks = c(-0.3, -0.2, -0.1, 0, 0.1, 0.2),
                       labels = c(-0.3, -0.2, -0.1, 0, 0.1, 0.2)) +
    scale_color_manual(values = c("Significant"   = "black", 
                                  "Insignificant" = "gray70")) +
    coord_cartesian(ylim = c(-0.3, 0.2)) +
    labs(x = "(Low) ← Political Knowledge → (High)", 
         y = "Average Marginal Effects",
         color = "") +
    facet_wrap(~factor, ncol = 2) +
    theme_bw() +
    theme(legend.position = "bottom")

7 Figure 4

Fit4 |>
    prediction(at = list("Group"   = c("Control", "Treat1", "Treat2"),
                         "IntEffi" = 1:5)) |>
    summary() |>
    rename("Group"   = "at(Group)",
           "IntEffi" = "at(IntEffi)") |>
    mutate(Group = fct_inorder(Group)) |>
    ggplot(aes(x = IntEffi, y = Prediction)) +
    geom_line() +
    geom_pointrange(aes(ymin = lower, ymax = upper)) +
    labs(x = "(Low) ← Internal Political Efficacy → (High)", 
         y = "Probability that respondents want \nto vote for another candidate (0:No ~ 1:Yes)") +
    coord_cartesian(ylim = c(-0.1, 0.5)) +
    facet_wrap(~ Group) +
    theme_bw()

8 Figure 5

Fit4 |>
    margins(variable = "Group",
            at = list(IntEffi = 1:5)) |>
    summary()  |>
    mutate(Sig    = if_else(p < 0.05, "Significant", "Insignificant"),
           factor = if_else(factor == "GroupTreat1",
                            "Treatment 1", "Treatment 2")) |>
    ggplot() +
    geom_hline(yintercept = 0) +
    geom_pointrange(aes(x = IntEffi, y = AME, ymin = lower, ymax = upper,
                        color = Sig)) +
    scale_y_continuous(breaks = c(-0.2, -0.1, 0, 0.1, 0.2, 0.3, 0.4, 0.5),
                       labels = c(-0.2, -0.1, 0, 0.1, 0.2, 0.3, 0.4, 0.5)) +
    scale_color_manual(values = c("Significant"   = "black", 
                                  "Insignificant" = "gray70")) +
    coord_cartesian(ylim = c(-0.2, 0.5)) +
    labs(x = "(Low) ← Internal Political Efficacy → (High)", 
         y = "Average Marginal Effects",
         color = "") +
    facet_wrap(~factor, ncol = 2) +
    theme_bw() +
    theme(legend.position = "bottom")

9 Appendix

9.1 Figure A.1

BlcChk <- df |>
  select(-PID) |>
  BalanceR(group = Group, 
           cov = c(Female:Voted, 
                   `PID_PAN_PRD_MC`    = PID1,
                   `PID_PRI_PVEM_PNA`  = PID2,
                   `PID_MORENA_PT_PES` = PID3,
                   `PID_Etc`           = PID0,
                   `External_Efficacy` = ExtEffi,
                   `Internal_Efficacy` = IntEffi,
                   `Trust_in_Media`    = Trust_Media)) 
BlcChk |>
  plot(vline = 25, simplify = TRUE, abs = TRUE)

9.2 Table A.2

tab_a2_1 <- df |>
    select(Regret, Female, Age, Educ, Income, Ideology, PID0:PID3,
           Knowledge, Voted, ExtEffi, IntEffi, Trust_Media) |>
    summarise(across(Regret:Trust_Media,
                     .fns = list("Mean" = mean,
                                 "SD"   = sd),
                     .names = "{.col}-{.fn}")) |>
    pivot_longer(cols = everything(),
                 names_to = "x",
                 values_to = "y") |>
    separate(col = x, into = c("Cov", "Stat"), sep = "-") |>
    pivot_wider(names_from = Stat, values_from = y) |>
    mutate(Stat = paste0(sprintf("%.3f", Mean), 
                         "<br/>(", sprintf("%.3f", SD), ")")) |>
    select(-Mean, -SD)

tab_a2_2 <- df |>
    select(Group, Regret, Female, Age, Educ, Income, Ideology, PID0:PID3,
           Knowledge, Voted, ExtEffi, IntEffi, Trust_Media) |>
    group_by(Group) |>
    summarise(across(Regret:Trust_Media,
                     .fns = list("Mean" = mean,
                                 "SD"   = sd),
                     .names = "{.col}-{.fn}"),
              .groups = "drop") |>
    pivot_longer(cols = -Group,
                 names_to = "x",
                 values_to = "y") |>
    separate(col = x, into = c("Cov", "Stat"), sep = "-") |>
    pivot_wider(names_from = Stat, values_from = y) |>
    mutate(Stat = paste0(sprintf("%.3f", Mean), 
                         "<br/>(", sprintf("%.3f", SD), ")")) |>
    select(-Mean, -SD) |>
    pivot_wider(names_from = Group, values_from = Stat)

left_join(tab_a2_1, tab_a2_2, by = "Cov") |>
    mutate(Cov = recode(Cov,
                        "Regret"      = "Regret (Outcome)",
                        "Educ"        = "Education",
                        "PID0"        = "PID: Others",
                        "PID1"        = "PID: Anaya Coalition",
                        "PID2"        = "PID: Meade Coalition",
                        "PID3"        = "PID: López Obrador Coalition",
                        "ExtEffi"     = "External Efficacy",
                        "IntEffi"     = "Internal Efficacy",
                        "Trust_Media" = "Trust in Media")) |>
    select("Variables"     = Cov, 
           "Entire Sample" = Stat,
           "Treatment 1"   = Treat1,
           "Treatment 2"   = Treat2,
           "Control"       = Control) |>
    gt() |>
    fmt_markdown(columns = -Variables) |>
    cols_align(columns = -Variables, align = "center")
Variables Entire Sample Treatment 1 Treatment 2 Control
Regret (Outcome)

0.206
(0.404)

0.203
(0.403)

0.189
(0.392)

0.224
(0.418)

Female

0.451
(0.498)

0.414
(0.494)

0.471
(0.500)

0.465
(0.500)

Age

38.995
(12.668)

40.520
(13.659)

39.136
(12.432)

37.493
(11.819)

Education

4.606
(1.083)

4.645
(1.100)

4.604
(1.069)

4.573
(1.082)

Income

9.428
(5.245)

9.629
(5.455)

9.450
(5.109)

9.227
(5.197)

Ideology

5.414
(2.405)

5.484
(2.308)

5.404
(2.461)

5.360
(2.442)

PID: Others

0.505
(0.500)

0.520
(0.501)

0.500
(0.501)

0.497
(0.501)

PID: Anaya Coalition

0.084
(0.277)

0.090
(0.287)

0.079
(0.270)

0.084
(0.278)

PID: Meade Coalition

0.080
(0.272)

0.062
(0.243)

0.096
(0.296)

0.080
(0.272)

PID: López Obrador Coalition

0.331
(0.471)

0.328
(0.470)

0.325
(0.469)

0.339
(0.474)

Knowledge

1.337
(1.009)

1.352
(0.971)

1.336
(1.013)

1.325
(1.041)

Voted

0.865
(0.342)

0.867
(0.340)

0.875
(0.331)

0.853
(0.355)

External Efficacy

3.758
(1.209)

3.660
(1.261)

3.800
(1.165)

3.804
(1.204)

Internal Efficacy

4.022
(1.182)

3.891
(1.257)

4.043
(1.191)

4.119
(1.095)

Trust in Media

2.954
(1.190)

3.023
(1.168)

2.943
(1.214)

2.902
(1.187)

9.3 Table A.4

# w/ covariates / interaction with trust in media
Fit5 <- lm(Regret ~ Group * Trust_Media + Female + Age + Educ + Income + 
               Ideology + PID1 + PID2 + PID3 + Knowledge + Voted + 
               Trust_Media + ExtEffi + IntEffi, 
           data = df, weights = W)

# w/ covariates / interaction with ideology
Fit6 <- lm(Regret ~ Group * Ideology + Female + Age + Educ + Income + 
               Ideology + PID1 + PID2 + PID3 + Knowledge + Voted + 
               ExtEffi + IntEffi + Trust_Media, 
           data = df, weights = W)

# w/ covariates / interaction with strength of idelogy
Fit7 <- df |>
    mutate(Strength = abs(5 - Ideology)) |>
    lm(Regret ~ Group * Strength + Female + Age + Educ + Income + 
           Ideology + PID1 + PID2 + PID3 + Knowledge + Voted + 
           ExtEffi + IntEffi + Trust_Media, 
       data = _, weights = W)
coef_vec <- c("GroupTreat1"             = "Treatment 1",
              "GroupTreat2"             = "Treatment 2",
              "Female"                  = "Female", 
              "Age"                     = "Age", 
              "Educ"                    = "Education",
              "Income"                  = "Income", 
              "Ideology"                = "Ideology",
              "Strength"                = "Strength of Ideology",
              "PID1"                    = "PID: Anaya Coalition",
              "PID2"                    = "PID: Meade Coalition",
              "PID3"                    = "PID: López Obrador Coalition",
              "Knowledge"               = "Knowledge",
              "Voted"                   = "Voted",
              "ExtEffi"                 = "External Efficacy",
              "IntEffi"                 = "Internal Efficacy",
              "Trust_Media"             = "Trust in Media",
              "GroupTreat1:Knowledge"   = 
                  "Treatment 1 *<br/>Knowledge",
              "GroupTreat2:Knowledge"   = 
                  "Treatment 2 *<br/>Knowledge",
              "GroupTreat1:IntEffi"     = 
                  "Treatment1 *<br/>Internal Efficacy",
              "GroupTreat2:IntEffi"     = 
                  "Treatment2 *<br/>Internal Efficacy",
              "GroupTreat1:Trust_Media" = 
                  "Treatment1 *<br/>Trust in the Media",
              "GroupTreat2:Trust_Media" = 
                  "Treatment2 *<br/>Trust in the Media",
              "GroupTreat1:Ideology"    = 
                  "Treatment1 *<br/>Ideology",
              "GroupTreat2:Ideology"    = 
                  "Treatment2 *<br/>Ideology",
              "GroupTreat1:Strength"    = 
                  "Treatment1 *<br/>Strength of Ideology",
              "GroupTreat2:Strength"    = 
                  "Treatment2 *<br/>Strength of Ideology",
              "(Intercept)"             = "Constant")

modelsummary(list("Model 1<br/>No Covariates"                = Fit1, 
                  "Model 2<br/>With Covariates"              = Fit2,
                  "Model 3<br/>Knowledge"                    = Fit3,
                  "Model 4<br/>Internal Political Efficacy"  = Fit4,
                  "Model 5<br/>Trust in Media"               = Fit5,
                  "Model 6<br/>Ideology"                     = Fit6,
                  "Model 7<br/>Strength of Ideology"         = Fit7), 
             escape   = FALSE,
             coef_map = coef_vec)
Model 1
No Covariates
 Model 2
With Covariates
 Model 3
Knowledge
 Model 4
Internal Political Efficacy
 Model 5
Trust in Media
 Model 6
Ideology
 Model 7
Strength of Ideology
Treatment 1 −0.021 −0.016 −0.006 0.267 −0.145 −0.101 −0.050
(0.035) (0.033) (0.054) (0.116) (0.089) (0.082) (0.047)
Treatment 2 −0.045 −0.027 0.070 0.363 −0.117 −0.071 −0.035
(0.034) (0.032) (0.052) (0.118) (0.082) (0.077) (0.046)
Female 0.004 0.007 0.005 0.005 0.005 0.005
(0.027) (0.027) (0.026) (0.027) (0.027) (0.027)
Age −0.001 −0.001 −0.001 −0.001 −0.001 −0.001
(0.001) (0.001) (0.001) (0.001) (0.001) (0.001)
Education 0.006 0.003 0.004 0.006 0.005 0.005
(0.014) (0.014) (0.014) (0.014) (0.014) (0.014)
Income 0.000 0.001 0.001 0.000 0.000 0.000
(0.003) (0.003) (0.003) (0.003) (0.003) (0.003)
Ideology 0.014 0.014 0.014 0.014 0.007 0.014
(0.006) (0.006) (0.006) (0.006) (0.010) (0.006)
Strength of Ideology −0.009
(0.014)
PID: Anaya Coalition 0.240 0.231 0.235 0.239 0.239 0.240
(0.049) (0.049) (0.049) (0.049) (0.049) (0.049)
PID: Meade Coalition 0.122 0.116 0.117 0.123 0.122 0.122
(0.052) (0.052) (0.051) (0.052) (0.052) (0.052)
PID: López Obrador Coalition 0.031 0.026 0.032 0.031 0.032 0.032
(0.033) (0.033) (0.032) (0.033) (0.033) (0.033)
Knowledge 0.020 0.049 0.020 0.020 0.020 0.020
(0.014) (0.022) (0.014) (0.014) (0.014) (0.014)
Voted −0.391 −0.391 −0.397 −0.390 −0.392 −0.392
(0.040) (0.040) (0.040) (0.040) (0.040) (0.040)
External Efficacy 0.001 0.001 −0.002 0.002 0.002 0.001
(0.012) (0.012) (0.012) (0.012) (0.012) (0.012)
Internal Efficacy −0.015 −0.016 0.047 −0.015 −0.014 −0.014
(0.013) (0.013) (0.022) (0.013) (0.013) (0.013)
Trust in Media 0.022 0.022 0.022 −0.003 0.022 0.022
(0.012) (0.012) (0.012) (0.019) (0.012) (0.012)
Treatment 1 *
Knowledge
−0.008
(0.033)
Treatment 2 *
Knowledge
−0.073
(0.031)
Treatment1 *
Internal Efficacy
−0.069
(0.028)
Treatment2 *
Internal Efficacy
−0.095
(0.028)
Treatment1 *
Trust in the Media
0.043
(0.028)
Treatment2 *
Trust in the Media
0.031
(0.026)
Treatment1 *
Ideology
0.016
(0.014)
Treatment2 *
Ideology
0.008
(0.013)
Treatment1 *
Strength of Ideology
0.020
(0.019)
Treatment2 *
Strength of Ideology
0.004
(0.019)
Constant 0.230 0.410 0.388 0.180 0.477 0.448 0.426
(0.024) (0.095) (0.097) (0.117) (0.104) (0.102) (0.097)
Num.Obs. 822 822 822 822 822 822 822
R2 0.002 0.168 0.175 0.181 0.171 0.169 0.169
R2 Adj. 0.000 0.153 0.157 0.163 0.153 0.152 0.151
AIC 888.7 765.1 762.7 756.8 766.4 767.8 769.9
BIC 907.5 845.2 852.2 846.3 855.9 857.4 864.2
Log.Lik. −440.342 −365.569 −362.332 −359.386 −364.210 −364.916 −364.973
F 0.857 10.856 10.005 10.417 9.744 9.646 9.091
RMSE 0.40 0.37 0.37 0.37 0.37 0.37 0.37

10 Session Infomation

sessionInfo()
R version 4.3.1 (2023-06-16)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS Ventura 13.5

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRblas.0.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.11.0

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

time zone: Asia/Tokyo
tzcode source: internal

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] BalanceR_0.8.0     gt_0.9.0           summarytools_1.0.1 modelsummary_1.4.2
 [5] prediction_0.3.14  margins_0.3.26     lubridate_1.9.2    forcats_1.0.0     
 [9] stringr_1.5.0      dplyr_1.1.2        purrr_1.0.2        readr_2.1.4       
[13] tidyr_1.3.0        tibble_3.2.1       ggplot2_3.4.3      tidyverse_2.0.0   

loaded via a namespace (and not attached):
 [1] tidyselect_1.2.0   viridisLite_0.4.2  farver_2.1.1       fastmap_1.1.1     
 [5] bayestestR_0.13.1  pacman_0.5.1       digest_0.6.33      timechange_0.2.0  
 [9] lifecycle_1.0.3    magrittr_2.0.3     compiler_4.3.1     sass_0.4.7        
[13] rlang_1.1.1        tools_4.3.1        utf8_1.2.3         yaml_2.3.7        
[17] data.table_1.14.8  knitr_1.43         labeling_0.4.2     htmlwidgets_1.6.2 
[21] bit_4.0.5          plyr_1.8.8         xml2_1.3.5         withr_2.5.0       
[25] datawizard_0.8.0   grid_4.3.1         fansi_1.0.4        colorspace_2.1-0  
[29] scales_1.2.1       MASS_7.3-60        insight_0.19.3     cli_3.6.1         
[33] rmarkdown_2.24     crayon_1.5.2       ragg_1.2.5         generics_0.1.3    
[37] rstudioapi_0.15.0  performance_0.10.4 httr_1.4.7         reshape2_1.4.4    
[41] tzdb_0.4.0         commonmark_1.9.0   parameters_0.21.1  pander_0.6.5      
[45] rvest_1.0.3        parallel_4.3.1     matrixStats_1.0.0  base64enc_0.1-3   
[49] vctrs_0.6.3        webshot_0.5.5      jsonlite_1.8.7     hms_1.1.3         
[53] rapportools_1.1    bit64_4.0.5        systemfonts_1.0.4  magick_2.7.5      
[57] glue_1.6.2         codetools_0.2-19   DT_0.28            stringi_1.7.12    
[61] gtable_0.3.4       tables_0.9.17      lmtest_0.9-40      munsell_0.5.0     
[65] pillar_1.9.0       htmltools_0.5.6    R6_2.5.1           tcltk_4.3.1       
[69] textshaping_0.3.6  vroom_1.6.3        evaluate_0.21      kableExtra_1.3.4  
[73] lattice_0.21-8     markdown_1.8       backports_1.4.1    pryr_0.1.6        
[77] Rcpp_1.0.11        svglite_2.1.1      checkmate_2.2.0    xfun_0.40         
[81] zoo_1.8-12         pkgconfig_2.0.3