library(patchwork)
Data %>%
dplyr::group_by(CESD) %>%
dplyr::summarise(n = n()) %>%
dplyr::mutate(freq = n / sum(n)) %>%
print(n = Inf)
p_cesd_1 <-
Data %>%
ggplot(aes(x = CESD, fill = CESD_d)) +
geom_histogram(bins = 55, color = "black") +
geom_vline(xintercept = 15, linetype = "dashed", color = "black", size = 1.2) +
scale_y_continuous(
sec.axis = sec_axis(trans = ~./nrow(Data), labels = percent,
name = "Proportie (%)")) +
scale_fill_manual(breaks = c("0", "1"),
values = wesanderson::wes_palette("Royal1")[1:2]) +
ylab("Frecventa") +
scale_x_continuous(breaks = seq(0, 55, by = 5)) +
guides(fill = FALSE) +
facet_wrap(~tip_chestionar2) +
ggtitle("Niveluri de depresie")
p_cesd_2 <-
Data_child %>%
dplyr::mutate(CESD_d = forcats::fct_rev(CESD_d)) %>%
ggstatsplot::ggpiestats(
x = CESD_d,
y = gen,
type = "parametric",
bf.message = FALSE,
package = "wesanderson",
palette = "Royal1",
title = "Copii (5-8 ani)")
p_cesd_3 <-
Data_adol %>%
dplyr::mutate(CESD_d = forcats::fct_rev(CESD_d)) %>%
ggstatsplot::ggpiestats(
x = CESD_d,
y = gen,
type = "parametric",
bf.message = FALSE,
package = "wesanderson",
palette = "Royal1",
title = "Preadolescenti si adolescenti (9-18 ani)")
p_cesd_1 / (p_cesd_2 | p_cesd_3)
# ggsave(plot = p_cesd_1, filename = "p_cesd_1.png", width = 10, height = 8, units = "in", dpi = 500)
# ggsave(plot = p_cesd_2, filename = "p_cesd_2.png", width = 7, height = 7, units = "in", dpi = 500)
# ggsave(plot = p_cesd_3, filename = "p_cesd_3.png", width = 7, height = 7, units = "in", dpi = 500)
library(patchwork)
Data %>%
dplyr::group_by(SCARED) %>%
dplyr::summarise(n = n()) %>%
dplyr::mutate(freq = n / sum(n)) %>%
print(n = Inf)
p_scared_1 <-
Data %>%
ggplot(aes(x = SCARED, fill = SCARED_d)) +
geom_histogram(bins = 85, color = "black") +
geom_vline(xintercept = 25, linetype = "dashed", color = "black", size = 1.2) +
scale_y_continuous(
sec.axis = sec_axis(trans = ~./nrow(Data), labels = percent,
name = "Proportie (%)")) +
scale_fill_manual(breaks = c("0", "1"),
values = wesanderson::wes_palette("Royal1")[1:2]) +
ylab("Frecventa") +
scale_x_continuous(breaks = seq(0, 85, by = 5)) +
guides(fill = FALSE) +
facet_wrap(~tip_chestionar2) +
ggtitle("Niveluri de anxietate")
p_scared_2 <-
Data_child %>%
dplyr::mutate(SCARED_d = forcats::fct_rev(SCARED_d)) %>%
ggstatsplot::ggpiestats(
x = SCARED_d,
y = gen,
type = "parametric",
bf.message = FALSE,
package = "wesanderson",
palette = "Royal1",
title = "Copii (5-8 ani)")
p_scared_3 <-
Data_adol %>%
dplyr::mutate(SCARED_d = forcats::fct_rev(SCARED_d)) %>%
ggstatsplot::ggpiestats(
x = SCARED_d,
y = gen,
type = "parametric",
bf.message = FALSE,
package = "wesanderson",
palette = "Royal1",
title = "Preadolescenti si adolescenti (9-18 ani)")
p_scared_1 / (p_scared_2 | p_scared_3)
# ggsave(plot = p_scared_1, filename = "p_scared_1.png", width = 10, height = 8, units = "in", dpi = 500)
# ggsave(plot = p_scared_2, filename = "p_scared_2.png", width = 7, height = 7, units = "in", dpi = 500)
# ggsave(plot = p_scared_3, filename = "p_scared_3.png", width = 7, height = 7, units = "in", dpi = 500)
Data_gci <- Data[, c(sprintf("gci_%d", 1:14), "OpenC", "CloseC", "centru")]
labels_gci <-
c("Foarte neadevărat",
"Neadevărat",
"Un pic neadevărat / Un pic adevărat",
"Adevărat",
"Foarte adevărat")
itemtext_gci <-
c("1. Oamenii de la centru se poartă frumos cu mine.",
"2. Am încredere în oamenii din centru.",
"3. Oamenii de la centru mă înţeleg.",
"4. Atunci când mă plâng de ceva, oamenii din centru mă iau în serios.",
"5. Oamenii de la centru sunt corecți.",
"6. Simt că aici, la centru, lucrez la îndeplinirea scopurilor mele.",
"7. În acest centru sunt întotdeauna destui oameni care să mă ajute.",
"8. Oamenii din centru se țin de cuvânt.",
"9. Pot să cer ajutor de la oamenii din centru atunci când am nevoie.",
"10. În acest centru, copiii au încredere unii în alții. (R)",
"11. Aici, poți să ai încredere în toată lumea. (R)",
"12. Haosul și gălăgia din centru mă înnebunesc.",
"13. Sunt prea mulți copii aici.",
"14. Oamenii de la centru sunt adesea prea ocupați ca să mă ajute.")
Data_gci <-
Data_gci %>%
mutate_at(vars(sprintf("gci_%d", 1:14)), ~as.factor(as.character(.))) %>%
rename_at(vars(sprintf("gci_%d", 1:14)), ~itemtext_gci) %>%
rename_at(vars("OpenC", "CloseC"), ~c("Climat deschis", "Climat închis")) %>%
dplyr::rename(Centru = centru)
# Plots # library(likert)
Likertobj_gci <- likert::likert(Data_gci[, 1:14], nlevels = 5) # here are percentages
p_gcic_1 <-
plot(Likertobj_gci, type = "bar",
centered = TRUE, center = 3, include.center = TRUE, # "3" is neutral
wrap = 40, low.color = 'burlywood', high.color = 'maroon',
group.order = names(Data_gci[, 1:14])) +
ylab("Procent") +
guides(fill = guide_legend(nrow = 1, title = "Răspuns")) +
geom_vline(xintercept = 5.51) +
labs(title = "Climatul de grup din centrul rezidential",
caption = "Raspunsurile la itemii 10 si 11 au fost cotate invers.")
Data_gci %>%
select("Climat deschis", "Climat închis") %>%
gather() %>%
rename_at(vars("key", "value"), ~c("Var", "Scor")) %>%
ggpubr::ggviolin("Var", "Scor", fill = "Var",
palette = c("#00AFBB", "#FC4E07"),
add = "boxplot", add.params = list(fill = "white"),
xlab = "", legend = "none") +
stat_summary(fun.data = mean_se, colour = "darkred")
ggsave(plot = p_gcic_1, filename = "p_gcic_1.png", width = 10, height = 10, units = "in", dpi = 500)
Data_adol_standardized <-
Data_adol %>%
dplyr::select("OpenC", "CloseC", "CESD", "SCARED", "CYRM_a", "PD", "GAD", "SepA", "SAD") %>%
mutate_all(~(scale(.) %>% as.vector))
# psych::mediate(CESD ~ OpenC + CloseC + (CYRM_a), data = Data_adol, zero = TRUE)
# psych::mediate(SCARED ~ OpenC + CloseC + (CYRM_a), data = Data_adol)
# psych::mediate(CESD + SCARED ~ OpenC + CloseC + (CYRM_a), data = Data_adol) # %>% summary()
# SCARED
# mod_adol <- psych::mediate(CESD + SCARED ~ OpenC + CloseC + (CYRM_a), data = Data_adol_standardized)
# mod_adol %>% summary()
# mod_adol$boot$ci.ab
# GAD
summary(lm(CESD ~ OpenC + CloseC, data = Data_adol_standardized)); # ggstatsplot::ggcoefstats(lm(CESD ~ OpenC + CloseC, data = Data_adol_standardized))
Call:
lm(formula = CESD ~ OpenC + CloseC, data = Data_adol_standardized)
Residuals:
Min 1Q Median 3Q Max
-2.2953 -0.6849 -0.0908 0.5795 3.2962
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.000231 0.028182 0.008 0.993
OpenC -0.177514 0.033525 -5.295 0.000000146 ***
CloseC 0.309068 0.033000 9.366 < 0.0000000000000002 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9044 on 1027 degrees of freedom
(15 observations deleted due to missingness)
Multiple R-squared: 0.1839, Adjusted R-squared: 0.1824
F-statistic: 115.7 on 2 and 1027 DF, p-value: < 0.00000000000000022
Call:
lm(formula = GAD ~ OpenC + CloseC, data = Data_adol_standardized)
Residuals:
Min 1Q Median 3Q Max
-2.3076 -0.7273 -0.1250 0.5807 3.0347
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.00046 0.03018 0.015 0.988
OpenC 0.05007 0.03587 1.396 0.163
CloseC 0.35479 0.03521 10.077 <0.0000000000000002 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9436 on 975 degrees of freedom
(67 observations deleted due to missingness)
Multiple R-squared: 0.1121, Adjusted R-squared: 0.1102
F-statistic: 61.53 on 2 and 975 DF, p-value: < 0.00000000000000022
# QuantPsyc::lm.beta(lm(GAD ~ OpenC + CloseC, data = Data_adol_standardized))
mod_adol <- psych::mediate(CESD + GAD ~ OpenC + CloseC + (CYRM_a), data = Data_adol_standardized)
Call: psych::mediate(y = CESD + GAD ~ OpenC + CloseC + (CYRM_a), data = Data_adol_standardized)
Direct effect estimates (traditional regression) (c')
R = 0.49 R2 = 0.24 F = 109.68 on 3 and 1041 DF p-value: 0.000000000000000000000000000000000000000000000000000000000000103
R = 0.35 R2 = 0.12 F = 47.09 on 3 and 1041 DF p-value: 0.000000000000000000000000000153
Total effect estimates (c)
'a' effect estimates
'b' effect estimates
'ab' effect estimates (through mediators)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
2.5% -0.14548215 0.01104065 -0.066631435 0.0007907931 -0.14548215 0.01104065 -0.066631435 0.0007907931
97.5% -0.08305958 0.04997896 -0.003989529 0.0198466558 -0.08305958 0.04997896 -0.003989529 0.0198466558
Data_child_standardized <-
Data_child %>%
dplyr::select("OpenC", "CloseC", "CESD", "SCARED", "CYRM_k", "PD", "GAD", "SepA", "SAD") %>%
mutate_all(~(scale(.) %>% as.vector))
# SCARED
# mod_child <- psych::mediate(CESD + SCARED ~ OpenC + CloseC + (CYRM_k), data = Data_child_standardized)
# mod_child %>% summary()
# mod_child$boot$ci.ab
# GAD
# Data_child_standardized_gad <-
# Data_child_standardized %>%
# dplyr::select("OpenC", "CloseC", "CESD", "GAD", "CYRM_k") %>%
# tidyr::drop_na()
summary(lm(CESD ~ OpenC + CloseC, data = Data_child_standardized)); # ggstatsplot::ggcoefstats(lm(CESD ~ OpenC + CloseC, data = Data_child_standardized))
Call:
lm(formula = CESD ~ OpenC + CloseC, data = Data_child_standardized)
Residuals:
Min 1Q Median 3Q Max
-1.6203 -0.5811 -0.1272 0.5067 2.7556
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.002541 0.053237 -0.048 0.961968
OpenC -0.232169 0.063279 -3.669 0.000304 ***
CloseC 0.438460 0.062916 6.969 0.0000000000349 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.8038 on 225 degrees of freedom
(2 observations deleted due to missingness)
Multiple R-squared: 0.3561, Adjusted R-squared: 0.3504
F-statistic: 62.23 on 2 and 225 DF, p-value: < 0.00000000000000022
Call:
lm(formula = GAD ~ OpenC + CloseC, data = Data_child_standardized)
Residuals:
Min 1Q Median 3Q Max
-1.5765 -0.6724 -0.1850 0.4993 4.0651
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.002605 0.062437 0.042 0.966760
OpenC -0.173376 0.074503 -2.327 0.020869 *
CloseC 0.253914 0.075269 3.373 0.000877 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9321 on 220 degrees of freedom
(7 observations deleted due to missingness)
Multiple R-squared: 0.1343, Adjusted R-squared: 0.1265
F-statistic: 17.07 on 2 and 220 DF, p-value: 0.0000001286
Call: psych::mediate(y = CESD + GAD ~ OpenC + CloseC + (CYRM_k), data = Data_child_standardized)
Direct effect estimates (traditional regression) (c')
R = 0.65 R2 = 0.42 F = 54.97 on 3 and 226 DF p-value: 0.0000000000000000000000000101
R = 0.36 R2 = 0.13 F = 11.12 on 3 and 226 DF p-value: 0.000000781
Total effect estimates (c)
'a' effect estimates
'b' effect estimates
'ab' effect estimates (through mediators)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
2.5% -0.1268604 0.0356824 -0.03366688 -0.04257002 -0.1268604 0.0356824 -0.03366688 -0.04257002
97.5% -0.0267708 0.1430005 0.04075252 0.04015818 -0.0267708 0.1430005 0.04075252 0.04015818
Data_standardized <-
Data %>%
dplyr::select("CYW", "OpenC", "CloseC", "CESD", "SCARED", "CYRM_a", "CYRM_k", "PD", "GAD", "SepA", "SAD") %>%
dplyr::mutate(CYRM = dplyr::coalesce(CYRM_a, CYRM_k)) %>%
dplyr::select(-CYRM_a, -CYRM_k) %>%
mutate_all(~(scale(.) %>% as.vector))
Data_standardized <- cbind(Data_standardized, gen = Data$gen)
#psych::mediate(CESD + SCARED ~ CYW + CloseC + (CYRM), data = Data_standardized)
mod_adolchild <- psych::mediate(CESD + SCARED ~ OpenC + CloseC + (CYRM), data = Data_standardized)
mod_adolchild %>% summary()
mod_adolchild$boot$ci.ab
bla <-
Data_standardized %>%
dplyr::select("OpenC", "CloseC", "CESD", CYRM, GAD) %>%
drop_na()
–>
path_model <- '
OpenC ~~ CloseC
CESD ~~ SCARED
# CYRM_a ~ gen
# direct effect
CESD ~ c1*OpenC
CESD ~ c2*CloseC
SCARED ~ c3*OpenC
SCARED ~ c4*CloseC
# mediator
CYRM_a ~ a1*OpenC
CYRM_a ~ a2*CloseC
CESD ~ b1*CYRM_a
SCARED ~ b2*CYRM_a
# indirect effect (a*b)
ab1 := a1*b1 # for c1: Open-CESD
ab2 := a2*b1 # for c2: Close-CESD
ab3 := a1*b2 # for c3: Open-SCARED
ab4 := a2*b2 # for c4: Close-SCARED
# total effect
total1 := c1 + (a1*b1)
total2 := c2 + (a2*b1)
total3 := c3 + (a1*b2)
total4 := c4 + (a2*b2)
'
fit_path_model <- lavaan::sem(model = path_model, data = Data_adol, estimator = "ml", se = "bootstrap") # se = "bootstrap"
summary(fit_path_model, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE)
semPaths(fit_path_model, what = "std", title = TRUE, curvePivot = TRUE, layout = "tree")
# significant standardized paths only
lavaanPlot::lavaanPlot(model = fit_path_model,
graph_options = list(layout = "dot"),
node_options = list(shape = "box", fontname = "Helvetica"),
edge_options = list(color = "grey"),
coefs = TRUE, stand = TRUE, covs = TRUE,
sig = 0.05, stars = c("regress", "cov")) # unstandardized: sig = 1.00
path_model <- '
OpenC ~~ CloseC
CESD ~~ SCARED
# CYRM ~ CYW
# CESD ~ CYW
# SCARED ~ CYW
# direct effect
CESD ~ c1*OpenC
CESD ~ c2*CloseC
SCARED ~ c3*OpenC
SCARED ~ c4*CloseC
# mediator
CYRM ~ a1*OpenC
CYRM ~ a2*CloseC
CESD ~ b1*CYRM
SCARED ~ b2*CYRM
# indirect effect (a*b)
ab1 := a1*b1 # for c1: Open-CESD
ab2 := a2*b1 # for c2: Close-CESD
ab3 := a1*b2 # for c3: Open-SCARED
ab4 := a2*b2 # for c4: Close-SCARED
# total effect
total1 := c1 + (a1*b1)
total2 := c2 + (a2*b1)
total3 := c3 + (a1*b2)
total4 := c4 + (a2*b2)
'
fit_path_model <- lavaan::sem(model = path_model, data = Data_standardized, estimator = "ml", se = "bootstrap", test = "boot") # se = "bootstrap"
summary(fit_path_model, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE)
parameterEstimates(fit_path_model, ci = TRUE, level = 0.95, boot.ci.type = "bca.simple", standardized = TRUE)
# significant standardized paths only
lavaanPlot::lavaanPlot(model = fit_path_model,
graph_options = list(layout = "dot"),
node_options = list(shape = "box", fontname = "Helvetica"),
edge_options = list(color = "grey"),
coefs = TRUE, stand = TRUE, covs = TRUE,
sig = 0.05, stars = c("regress", "cov")) # unstandardized: sig = 1.00
–>
R version 3.6.1 (2019-07-05)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 8.1 x64 (build 9600)
Matrix products: default
locale:
[1] LC_COLLATE=Romanian_Romania.1250 LC_CTYPE=Romanian_Romania.1250 LC_MONETARY=Romanian_Romania.1250 LC_NUMERIC=C
[5] LC_TIME=Romanian_Romania.1250
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] patchwork_1.1.1 semPlot_1.1 semTools_0.5-4 lavaan_0.6-8 medmod_1.0.0
[6] car_3.0-10 carData_3.0-2 RColorBrewer_1.1-2 corrplot_0.84 GGally_1.4.0
[11] Hmisc_4.1-1 Formula_1.2-3 survival_2.44-1.1 lattice_0.20-38 rio_0.5.26
[16] scales_1.1.1 ggpubr_0.4.0 PerformanceAnalytics_1.5.2 xts_0.11-2 zoo_1.8-4
[21] tadaatoolbox_0.16.1 summarytools_0.8.8 broom_0.7.6 psycho_0.6.1 psych_2.0.12
[26] plyr_1.8.6 forcats_0.5.1 stringr_1.4.0 dplyr_1.0.6 purrr_0.3.4
[31] readr_1.4.0 tidyr_1.1.3 tibble_3.1.1 ggplot2_3.3.3 tidyverse_1.3.1
[36] papaja_0.1.0.9997 kableExtra_1.3.4 knitr_1.31 pacman_0.5.1
loaded via a namespace (and not attached):
[1] estimability_1.3 coda_0.19-2 acepack_1.4.1 multcomp_1.4-8 wesanderson_0.3.6
[6] data.table_1.14.0 rpart_4.1-15 RCurl_1.95-4.11 generics_0.1.0 TH.data_1.0-9
[11] correlation_0.6.1 webshot_0.5.1 xml2_1.3.2 lubridate_1.7.10 assertthat_0.2.1
[16] d3Network_0.5.2.1 viridis_0.5.1 WRS2_1.1-1 xfun_0.22 hms_1.0.0
[21] evaluate_0.14 fansi_0.4.2 dbplyr_2.1.1 readxl_1.3.1 igraph_1.2.6
[26] DBI_1.0.0 tmvnsim_1.0-2 htmlwidgets_1.5.3 reshape_0.8.8 kSamples_1.2-9
[31] stats4_3.6.1 paletteer_1.3.0 Rmpfr_0.7-1 ellipsis_0.3.2 backports_1.2.1
[36] pbivnorm_0.6.0 insight_0.14.2 prismatic_1.0.0 rapportools_1.0 pwr_1.2-2
[41] jmvcore_1.2.23 vctrs_0.3.8 abind_1.4-5 withr_2.4.1 pryr_0.1.4
[46] checkmate_1.8.5 emmeans_1.5.4 sna_2.4 fdrtool_1.2.15 mnormt_2.0.2
[51] svglite_1.2.1 cluster_2.1.1 mi_1.0 crayon_1.4.1 ellipse_0.4.1
[56] labeling_0.4.2 SuppDists_1.1-9.4 pkgconfig_2.0.3 statsExpressions_1.1.0 nlme_3.1-140
[61] ggm_2.3 nnet_7.3-12 rlang_0.4.11 lifecycle_1.0.0 MatrixModels_0.4-1
[66] sandwich_2.5-0 kutils_1.70 modelr_0.1.8 cellranger_1.1.0 matrixStats_0.54.0
[71] Matrix_1.2-17 mc2d_0.1-18 boot_1.3-22 reprex_2.0.0 base64enc_0.1-3
[76] whisker_0.3-2 png_0.1-7 viridisLite_0.3.0 rjson_0.2.20 PMCMRplus_1.9.0
[81] parameters_0.14.0 rootSolve_1.8.2.1 bitops_1.0-6 pander_0.6.3 multcompView_0.1-7
[86] arm_1.10-1 jpeg_0.1-8 rockchalk_1.8.129 rstatix_0.7.0 ggsignif_0.6.1
[91] memoise_1.1.0 magrittr_2.0.1 compiler_3.6.1 lme4_1.1-26 cli_2.5.0
[96] pbapply_1.3-4 htmlTable_1.12 MASS_7.3-51.4 tidyselect_1.1.0 stringi_1.5.3
[101] lisrelToR_0.1.4 sem_3.1-9 pixiedust_0.9.1 OpenMx_2.11.5 latticeExtra_0.6-28
[106] ggrepel_0.9.1 grid_3.6.1 tools_3.6.1 lmom_2.8 parallel_3.6.1
[111] matrixcalc_1.0-3 rstudioapi_0.13 foreign_0.8-71 gridExtra_2.3 ipmisc_6.0.2
[116] gld_2.6.2 pairwiseComparisons_3.1.6 farver_2.1.0 BDgraph_2.53 digest_0.6.27
[121] BWStest_0.2.2 nortest_1.0-4 quadprog_1.5-5 Rcpp_1.0.6 BayesFactor_0.9.12-4.2
[126] performance_0.7.2 httr_1.4.2 gdtools_0.1.7 likert_1.3.5 effectsize_0.4.5
[131] colorspace_2.0-0 rvest_1.0.0 XML_3.98-1.16 fs_1.5.0 splines_3.6.1
[136] statmod_1.4.35 rematch2_2.1.2 expm_0.999-3 Exact_2.1 xtable_1.8-4
[141] gmp_0.5-13.2 jsonlite_1.7.2 nloptr_1.2.2.2 corpcor_1.6.9 glasso_1.10
[146] zeallot_0.1.0 R6_2.5.0 pillar_1.6.1 htmltools_0.5.1.1 glue_1.4.2
[151] minqa_1.2.4 class_7.3-15 codetools_0.2-16 mvtnorm_1.1-1 utf8_1.2.1
[156] network_1.13.0.1 huge_1.2.7 curl_4.3 DescTools_0.99.40 gtools_3.8.1
[161] zip_1.0.0 openxlsx_4.1.0 rmarkdown_2.7 qgraph_1.5 statnet.common_4.1.4
[166] munsell_0.5.0 e1071_1.7-0 ggstatsplot_0.8.0 haven_2.4.1 reshape2_1.4.4
[171] gtable_0.3.0 bayestestR_0.10.0
A work by Claudiu Papasteri