knitr::opts_chunk$set(
echo = TRUE,
message = FALSE,
warning = FALSE
)
library(psych)
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.0 ──
## ✓ ggplot2 3.3.2 ✓ purrr 0.3.4
## ✓ tibble 3.0.4 ✓ dplyr 1.0.3
## ✓ tidyr 1.1.2 ✓ stringr 1.4.0
## ✓ readr 1.3.1 ✓ forcats 0.5.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## x ggplot2::%+%() masks psych::%+%()
## x ggplot2::alpha() masks psych::alpha()
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(broom)
library(MASS)
##
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
##
## select
library(ggplot2)
library(sjstats)
##
## Attaching package: 'sjstats'
## The following object is masked from 'package:broom':
##
## bootstrap
## The following object is masked from 'package:psych':
##
## phi
library(MuMIn)
library(relaimpo)
## Loading required package: boot
##
## Attaching package: 'boot'
## The following object is masked from 'package:psych':
##
## logit
## Loading required package: survey
## Loading required package: grid
## Loading required package: Matrix
##
## Attaching package: 'Matrix'
## The following objects are masked from 'package:tidyr':
##
## expand, pack, unpack
## Loading required package: survival
##
## Attaching package: 'survival'
## The following object is masked from 'package:boot':
##
## aml
##
## Attaching package: 'survey'
## The following object is masked from 'package:sjstats':
##
## cv
## The following object is masked from 'package:graphics':
##
## dotchart
## Loading required package: mitools
## This is the global version of package relaimpo.
## If you are a non-US user, a version with the interesting additional metric pmvd is available
## from Ulrike Groempings web site at prof.beuth-hochschule.de/groemping.
library(mclogit)
## Registered S3 methods overwritten by 'car':
## method from
## influence.merMod lme4
## cooks.distance.influence.merMod lme4
## dfbeta.influence.merMod lme4
## dfbetas.influence.merMod lme4
library(reshape2)
##
## Attaching package: 'reshape2'
## The following object is masked from 'package:tidyr':
##
## smiths
library(ppcor)
library(rms)
## Loading required package: Hmisc
## Loading required package: lattice
##
## Attaching package: 'lattice'
## The following object is masked from 'package:boot':
##
## melanoma
## Loading required package: Formula
##
## Attaching package: 'Hmisc'
## The following object is masked from 'package:survey':
##
## deff
## The following objects are masked from 'package:dplyr':
##
## src, summarize
## The following object is masked from 'package:psych':
##
## describe
## The following objects are masked from 'package:base':
##
## format.pval, units
## Loading required package: SparseM
##
## Attaching package: 'SparseM'
## The following object is masked from 'package:base':
##
## backsolve
##
## Attaching package: 'rms'
## The following object is masked from 'package:survey':
##
## calibrate
multinom.cat.data <- here::here("dataset/Eguchi_et_al_SSLA_WA_response_type_dataset.csv")%>%
read.csv()
background <- here::here("dataset/Background.csv") %>%
read.csv()
sessionInfo()
## R version 3.6.3 (2020-02-29)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS Catalina 10.15.7
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] grid stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] rms_6.1-0 SparseM_1.78 Hmisc_4.4-1 Formula_1.2-3
## [5] lattice_0.20-41 ppcor_1.1 reshape2_1.4.4 mclogit_0.8.5.1
## [9] relaimpo_2.2-3 mitools_2.4 survey_4.0 survival_3.2-7
## [13] Matrix_1.2-18 boot_1.3-24 MuMIn_1.43.17 sjstats_0.18.0
## [17] MASS_7.3-53 broom_0.7.0 forcats_0.5.0 stringr_1.4.0
## [21] dplyr_1.0.3 purrr_0.3.4 readr_1.3.1 tidyr_1.1.2
## [25] tibble_3.0.4 ggplot2_3.3.2 tidyverse_1.3.0 psych_2.0.12
##
## loaded via a namespace (and not attached):
## [1] TH.data_1.0-10 minqa_1.2.4 colorspace_2.0-0
## [4] ellipsis_0.3.1 rio_0.5.16 rprojroot_2.0.2
## [7] sjlabelled_1.1.7 htmlTable_2.0.1 estimability_1.3
## [10] corpcor_1.6.9 parameters_0.10.1 base64enc_0.1-3
## [13] fs_1.5.0 rstudioapi_0.13 MatrixModels_0.4-1
## [16] fansi_0.4.1 mvtnorm_1.1-1 lubridate_1.7.9
## [19] xml2_1.3.2 codetools_0.2-16 splines_3.6.3
## [22] mnormt_1.5-7 knitr_1.30 sjmisc_2.8.5
## [25] jsonlite_1.7.2 nloptr_1.2.2.2 cluster_2.1.0
## [28] dbplyr_1.4.4 png_0.1-7 effectsize_0.4.1.1
## [31] compiler_3.6.3 httr_1.4.2 emmeans_1.5.3
## [34] backports_1.1.10 assertthat_0.2.1 cli_2.2.0
## [37] quantreg_5.61 htmltools_0.5.0 tools_3.6.3
## [40] coda_0.19-4 gtable_0.3.0 glue_1.4.2
## [43] Rcpp_1.0.5 carData_3.0-4 cellranger_1.1.0
## [46] vctrs_0.3.5 nlme_3.1-144 conquer_1.0.2
## [49] insight_0.11.1.1 xfun_0.19 openxlsx_4.1.5
## [52] lme4_1.1-23 rvest_0.3.6 lifecycle_0.2.0
## [55] statmod_1.4.34 polspline_1.1.19 zoo_1.8-8
## [58] scales_1.1.1 hms_0.5.3 parallel_3.6.3
## [61] sandwich_2.5-1 RColorBrewer_1.1-2 yaml_2.2.1
## [64] curl_4.3 gridExtra_2.3 rpart_4.1-15
## [67] latticeExtra_0.6-29 stringi_1.5.3 bayestestR_0.8.0.1
## [70] memisc_0.99.25.6 checkmate_2.0.0 zip_2.1.1
## [73] repr_1.1.0 matrixStats_0.57.0 rlang_0.4.9
## [76] pkgconfig_2.0.3 evaluate_0.14 htmlwidgets_1.5.3
## [79] tidyselect_1.1.0 here_0.1 plyr_1.8.6
## [82] magrittr_2.0.1 R6_2.5.0 generics_0.1.0
## [85] multcomp_1.4-14 DBI_1.1.0 pillar_1.4.7
## [88] haven_2.3.1 foreign_0.8-75 withr_2.3.0
## [91] nnet_7.3-12 abind_1.4-5 performance_0.6.1
## [94] modelr_0.1.8 crayon_1.3.4 car_3.0-10
## [97] rmarkdown_2.3 jpeg_0.1-8.1 readxl_1.3.1
## [100] data.table_1.12.8 blob_1.2.1 reprex_0.3.0
## [103] digest_0.6.27 xtable_1.8-4 stats4_3.6.3
## [106] munsell_0.5.0
head(multinom.cat.data)
multinom.cat.data_sub <- multinom.cat.data[-18,] # Exclusively form oriented, may be using strategy
multinom.cat.data_sub <- multinom.cat.data_sub[-88,] # Exclusively Erratic association oriented, may be using strategy
res_sem <- lm(Priming_Semantic_Cleaned ~ LDT_Unrelated_Cleaned, data = multinom.cat.data_sub)
summary(res_sem)
##
## Call:
## lm(formula = Priming_Semantic_Cleaned ~ LDT_Unrelated_Cleaned,
## data = multinom.cat.data_sub)
##
## Residuals:
## Min 1Q Median 3Q Max
## -124.80 -23.98 -1.24 29.37 133.57
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -30.19512 29.02164 -1.040 0.300
## LDT_Unrelated_Cleaned 0.05209 0.03820 1.364 0.176
##
## Residual standard error: 50.13 on 107 degrees of freedom
## Multiple R-squared: 0.01708, Adjusted R-squared: 0.007894
## F-statistic: 1.859 on 1 and 107 DF, p-value: 0.1756
multinom.cat.data_sub$Priming_semantic_residual <- res_sem$residuals
res_col <- lm(Priming_Collocation_Cleaned ~ LDT_Unrelated_Cleaned, data = multinom.cat.data_sub)
summary(res_col)
##
## Call:
## lm(formula = Priming_Collocation_Cleaned ~ LDT_Unrelated_Cleaned,
## data = multinom.cat.data_sub)
##
## Residuals:
## Min 1Q Median 3Q Max
## -154.409 -21.648 -2.213 25.396 123.425
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -75.64208 24.56085 -3.080 0.00263 **
## LDT_Unrelated_Cleaned 0.18625 0.03233 5.762 8.1e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 42.43 on 107 degrees of freedom
## Multiple R-squared: 0.2368, Adjusted R-squared: 0.2297
## F-statistic: 33.2 on 1 and 107 DF, p-value: 8.104e-08
multinom.cat.data_sub$Priming_collocation_residual <- res_col$residuals
res_LDT <- lm(LDT_Unrelated_Cleaned ~ PVLT_LDS , data = multinom.cat.data_sub)
summary(res_LDT)
##
## Call:
## lm(formula = LDT_Unrelated_Cleaned ~ PVLT_LDS, data = multinom.cat.data_sub)
##
## Residuals:
## Min 1Q Median 3Q Max
## -266.53 -73.38 -8.18 67.73 374.07
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 946.640 40.297 23.492 < 2e-16 ***
## PVLT_LDS -8.188 1.610 -5.087 1.56e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 113.9 on 107 degrees of freedom
## Multiple R-squared: 0.1947, Adjusted R-squared: 0.1872
## F-statistic: 25.88 on 1 and 107 DF, p-value: 1.563e-06
multinom.cat.data_sub$LDT_Unrelated_residual <- res_LDT$residuals
attach(multinom.cat.data_sub)
multinom.cat.data_sub2 <- multinom.cat.data_sub[ which(scale(mtld_original_aw.y) >= -3 & scale(mtld_original_aw.y) <= 3),] #deleted 2 109
multinom.cat.data_sub2 <- multinom.cat.data_sub2[ which(scale(multinom.cat.data_sub2$Priming_semantic_residual) >= -3 & scale(multinom.cat.data_sub2$Priming_semantic_residual) <= 3),] # two deleted => 109
multinom.cat.data_sub2 <- multinom.cat.data_sub2[ which(scale(multinom.cat.data_sub2$Priming_collocation_residual) >= -3 & scale(multinom.cat.data_sub2$Priming_collocation_residual) <= 3),] # one deleted => 108
multinom.cat.data_sub2 <- multinom.cat.data_sub2[ which(scale(multinom.cat.data_sub2$Brysbaert_Concreteness_Combined_CW.y) >= -3 & scale(multinom.cat.data_sub2$Brysbaert_Concreteness_Combined_CW.y) <= 3),] # no one deleted => 107
multinom.cat.data_sub2 <- multinom.cat.data_sub2[ which(scale(multinom.cat.data_sub2$PVLT_LDS) >= -3 & scale(multinom.cat.data_sub2$PVLT_LDS) <= 3),] # no one deleted => 107
multinom.cat.data_sub2 <- multinom.cat.data_sub2[ which(scale(multinom.cat.data_sub2$LDT_Unrelated_Cleaned) >= -3 & scale(multinom.cat.data_sub2$LDT_Unrelated_Cleaned) <= 3),] # no one deleted => 107
## Changing the category name for clarity
multinom.cat.data_sub2 %>%
rename(
"Lexical Set" = Direct_meaning,
"Other Conceptual" = Indirect_meaning,
"Free Combination" = Free_combination,
"No Response" = No_response,
"Form and Meaning" = Form_and_Meaning,
"Position and Meaning" = Position_and_Meaning
) -> multinom.cat.data_sub2
desc_vocab <- cbind(PVLT_LDS, LDT_Unrelated_Cleaned, Priming_Semantic_Cleaned, Priming_Collocation_Cleaned, mtld_original_aw.y, Brysbaert_Concreteness_Combined_CW.y, COCA_spoken_bi_MI.y, WA_RT_M_3SD, Priming_semantic_residual, Priming_collocation_residual) %>%
psych::describe()
print(desc_vocab, digit = 3)
## vars n mean sd median trimmed
## PVLT_LDS 1 109 24.101 6.807 25.000 24.382
## LDT_Unrelated_Cleaned 2 109 749.303 126.295 730.112 744.485
## Priming_Semantic_Cleaned 3 109 8.833 50.333 8.237 9.377
## Priming_Collocation_Cleaned 4 109 63.917 48.341 60.300 61.496
## mtld_original_aw.y 5 109 24.570 5.091 23.982 24.423
## Brysbaert_Concreteness_Combined_CW.y 6 109 3.343 0.209 3.363 3.348
## COCA_spoken_bi_MI.y 7 109 1.205 0.190 1.225 1.214
## WA_RT_M_3SD 8 107 2.858 0.590 2.821 2.849
## Priming_semantic_residual 9 109 0.000 49.902 -1.240 1.362
## Priming_collocation_residual 10 109 0.000 42.231 -2.213 0.500
## mad min max range skew
## PVLT_LDS 7.413 6.000 38.000 32.000 -0.386
## LDT_Unrelated_Cleaned 132.230 473.970 1107.824 633.854 0.383
## Priming_Semantic_Cleaned 41.175 -110.747 157.902 268.648 0.016
## Priming_Collocation_Cleaned 37.909 -65.125 254.118 319.243 0.810
## mtld_original_aw.y 5.657 14.250 37.067 22.817 0.282
## Brysbaert_Concreteness_Combined_CW.y 0.224 2.678 3.900 1.222 -0.264
## COCA_spoken_bi_MI.y 0.187 0.675 1.560 0.886 -0.449
## WA_RT_M_3SD 0.613 1.682 4.240 2.558 0.097
## Priming_semantic_residual 40.142 -124.795 133.575 258.370 -0.189
## Priming_collocation_residual 33.449 -154.409 123.425 277.835 -0.215
## kurtosis se
## PVLT_LDS -0.436 0.652
## LDT_Unrelated_Cleaned -0.326 12.097
## Priming_Semantic_Cleaned 0.405 4.821
## Priming_Collocation_Cleaned 2.354 4.630
## mtld_original_aw.y -0.682 0.488
## Brysbaert_Concreteness_Combined_CW.y 0.169 0.020
## COCA_spoken_bi_MI.y -0.175 0.018
## WA_RT_M_3SD -0.489 0.057
## Priming_semantic_residual 0.307 4.780
## Priming_collocation_residual 1.878 4.045
#write.csv(desc_vocab, "descriptive_vocab_190719.csv")
desc_vocab_ci <- cbind(desc_vocab, (desc_vocab$mean - (desc_vocab$se * 1.96)), (desc_vocab$mean + desc_vocab$se * 1.96))
desc_vocab_ci
#write.csv(desc_vocab_ci, "descriptive_vocab_190719.csv")
multinom.cat.data_sub2 <- merge(multinom.cat.data_sub2, background, by = "ID")
head(multinom.cat.data_sub2)
attach(multinom.cat.data_sub2)
attach(multinom.cat.data_sub2)
wa_resp <- as.data.frame(cbind(ID, `Lexical Set`, `Other Conceptual`, Collocation, `Free Combination`, Form, Erratic, `No Response`, `Form and Meaning`, `Position and Meaning`))
wa_long <- melt(wa_resp, value.name = "Frequency", variable.name = "Response type", id.vars= 'ID')
colnames(wa_long)[2] <- "Response type"
boxplot_wa <- ggplot(wa_long, aes(x = `Response type`, y = Frequency, color = `Response type`)) +
geom_boxplot(outlier.shape = NA) +
geom_jitter(alpha = .4) +
theme_bw()+
theme(axis.text.x = element_text(color = "black",angle = 30, hjust = 1,size = 10), axis.text.y = element_text(size = 10), legend.position = 'None') +
scale_x_discrete(name = "Response Type", labels = c("Lexical Set", "Other Conceptual", "Collocation", "Free combination", "Form", "Erratic", "No response","Form and Meaning", "Position and meaning"))
desc_plot <- boxplot_wa +
scale_y_continuous(
name = "Frequency",
sec.axis = sec_axis(trans = ~./96, name = "Proportion (Frequency / 96)")
)
desc_plot
#ggsave('Fig.boxplot_of_WA.png', desc_plot, width = 9,height = 6, unit = 'in')
RQ1: To what extent are WA task response type profiles predicted by (a) knowledge of form-meaning mappings, (b) semantic and collocational priming, (c) lexical decision time, and (d) lexical richness?
ID_mod.null <- mblogit(cbind(`Other Conceptual`, `Lexical Set`, Collocation, `Free Combination`, Form, Erratic, `Form and Meaning`, `Position and Meaning`) ~ 1, data=multinom.cat.data_sub2, random=NULL, dispersion = TRUE, na.action = "na.fail")
##
## Iteration 1 - Deviance = 2516.741
## Iteration 2 - Deviance = 2455.381
## Iteration 3 - Deviance = 2454.468
## Iteration 4 - Deviance = 2454.458
## Iteration 5 - Deviance = 2454.458
## converged
summary(ID_mod.null)
##
## Call:
## mblogit(formula = cbind(`Other Conceptual`, `Lexical Set`, Collocation,
## `Free Combination`, Form, Erratic, `Form and Meaning`, `Position and Meaning`) ~
## 1, data = multinom.cat.data_sub2, random = NULL, na.action = "na.fail",
## dispersion = TRUE)
##
## Equation for Lexical Set vs Other Conceptual:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.49067 0.05782 -8.486 <2e-16 ***
##
## Equation for Collocation vs Other Conceptual:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.28732 0.05442 -5.279 1.71e-07 ***
##
## Equation for Free Combination vs Other Conceptual:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.73937 0.06268 -11.79 <2e-16 ***
##
## Equation for Form vs Other Conceptual:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.93067 0.06701 -13.89 <2e-16 ***
##
## Equation for Erratic vs Other Conceptual:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.84330 0.09639 -19.12 <2e-16 ***
##
## Equation for Form and Meaning vs Other Conceptual:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -3.1548 0.1762 -17.91 <2e-16 ***
##
## Equation for Position and Meaning vs Other Conceptual:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -5.3606 0.5211 -10.29 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Dispersion: 3.51328 on 742 degrees of freedom
## Null Deviance: 9183
## Residual Deviance: 2454
## Number of Fisher Scoring iterations: 5
## Number of observations: 107
BIC(ID_mod.null)
## [1] 2487.168
ID_mod.full <- mblogit(cbind(`Other Conceptual`, `Lexical Set`, Collocation, `Free Combination`, Form, Erratic, `Form and Meaning`, `Position and Meaning`) ~ PVLT_LDS + LDT_Unrelated_Cleaned + Priming_collocation_residual + Priming_semantic_residual + mtld_original_aw.y + Brysbaert_Concreteness_Combined_CW.y + COCA_spoken_bi_MI.y + COCA_spoken_Frequency_Log_CW.y, data=multinom.cat.data_sub2, random=NULL, dispersion = TRUE, estimator = "ML",na.action = "na.fail")
##
## Iteration 1 - Deviance = 2229.591
## Iteration 2 - Deviance = 2163.54
## Iteration 3 - Deviance = 2161.526
## Iteration 4 - Deviance = 2161.389
## Iteration 5 - Deviance = 2161.388
## Iteration 6 - Deviance = 2161.388
## converged
summary(ID_mod.full)
##
## Call:
## mblogit(formula = cbind(`Other Conceptual`, `Lexical Set`, Collocation,
## `Free Combination`, Form, Erratic, `Form and Meaning`, `Position and Meaning`) ~
## PVLT_LDS + LDT_Unrelated_Cleaned + Priming_collocation_residual +
## Priming_semantic_residual + mtld_original_aw.y + Brysbaert_Concreteness_Combined_CW.y +
## COCA_spoken_bi_MI.y + COCA_spoken_Frequency_Log_CW.y,
## data = multinom.cat.data_sub2, random = NULL, na.action = "na.fail",
## estimator = "ML", dispersion = TRUE)
##
## Equation for Lexical Set vs Other Conceptual:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.2034196 2.5703763 0.079 0.937
## PVLT_LDS 0.0180040 0.0110060 1.636 0.102
## LDT_Unrelated_Cleaned -0.0001169 0.0004892 -0.239 0.811
## Priming_collocation_residual 0.0016811 0.0015256 1.102 0.271
## Priming_semantic_residual -0.0005039 0.0012433 -0.405 0.685
## mtld_original_aw.y -0.0139163 0.0120430 -1.156 0.248
## Brysbaert_Concreteness_Combined_CW.y -0.0740592 0.3947442 -0.188 0.851
## COCA_spoken_bi_MI.y 0.0980892 0.3516858 0.279 0.780
## COCA_spoken_Frequency_Log_CW.y -0.2335223 0.4837171 -0.483 0.629
##
## Equation for Collocation vs Other Conceptual:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.046e+00 2.400e+00 1.269 0.2048
## PVLT_LDS 5.550e-03 1.031e-02 0.538 0.5907
## LDT_Unrelated_Cleaned -2.000e-04 4.688e-04 -0.427 0.6698
## Priming_collocation_residual -3.353e-03 1.464e-03 -2.289 0.0224 *
## Priming_semantic_residual 4.431e-05 1.170e-03 0.038 0.9698
## mtld_original_aw.y 4.588e-03 1.108e-02 0.414 0.6789
## Brysbaert_Concreteness_Combined_CW.y -8.201e-01 3.676e-01 -2.231 0.0260 *
## COCA_spoken_bi_MI.y 5.507e-03 3.350e-01 0.016 0.9869
## COCA_spoken_Frequency_Log_CW.y -2.769e-01 4.578e-01 -0.605 0.5454
##
## Equation for Free Combination vs Other Conceptual:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.7597434 2.7444985 0.277 0.7820
## PVLT_LDS -0.0046650 0.0116911 -0.399 0.6900
## LDT_Unrelated_Cleaned -0.0004105 0.0005432 -0.756 0.4501
## Priming_collocation_residual -0.0042261 0.0017100 -2.471 0.0137 *
## Priming_semantic_residual 0.0001330 0.0013399 0.099 0.9209
## mtld_original_aw.y 0.0067457 0.0126294 0.534 0.5934
## Brysbaert_Concreteness_Combined_CW.y -0.2425182 0.4235059 -0.573 0.5671
## COCA_spoken_bi_MI.y 0.2020506 0.3859240 0.524 0.6008
## COCA_spoken_Frequency_Log_CW.y -0.2697270 0.5211058 -0.518 0.6049
##
## Equation for Form vs Other Conceptual:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.7679608 2.9709520 1.941 0.0526 .
## PVLT_LDS -0.0185427 0.0124622 -1.488 0.1372
## LDT_Unrelated_Cleaned -0.0001684 0.0005637 -0.299 0.7653
## Priming_collocation_residual 0.0013078 0.0017714 0.738 0.4606
## Priming_semantic_residual -0.0024138 0.0014166 -1.704 0.0888 .
## mtld_original_aw.y -0.0311561 0.0139985 -2.226 0.0264 *
## Brysbaert_Concreteness_Combined_CW.y -0.7100803 0.4563094 -1.556 0.1201
## COCA_spoken_bi_MI.y -0.4450701 0.4025407 -1.106 0.2693
## COCA_spoken_Frequency_Log_CW.y -0.9865541 0.5598997 -1.762 0.0785 .
##
## Equation for Erratic vs Other Conceptual:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.0774290 4.1759549 0.258 0.79648
## PVLT_LDS -0.0494073 0.0167658 -2.947 0.00332 **
## LDT_Unrelated_Cleaned 0.0003434 0.0008219 0.418 0.67621
## Priming_collocation_residual -0.0053832 0.0026478 -2.033 0.04242 *
## Priming_semantic_residual -0.0001321 0.0019653 -0.067 0.94644
## mtld_original_aw.y 0.0174641 0.0184864 0.945 0.34515
## Brysbaert_Concreteness_Combined_CW.y 0.0460459 0.6513888 0.071 0.94367
## COCA_spoken_bi_MI.y 0.0012020 0.5891591 0.002 0.99837
## COCA_spoken_Frequency_Log_CW.y -1.0578056 0.7825394 -1.352 0.17690
##
## Equation for Form and Meaning vs Other Conceptual:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 9.7584134 7.9697990 1.224 0.221
## PVLT_LDS -0.0033130 0.0329663 -0.100 0.920
## LDT_Unrelated_Cleaned 0.0004780 0.0014625 0.327 0.744
## Priming_collocation_residual 0.0012327 0.0045729 0.270 0.788
## Priming_semantic_residual 0.0006282 0.0037479 0.168 0.867
## mtld_original_aw.y -0.0296824 0.0369757 -0.803 0.422
## Brysbaert_Concreteness_Combined_CW.y -1.5879551 1.2226528 -1.299 0.194
## COCA_spoken_bi_MI.y -1.0033097 1.0462551 -0.959 0.338
## COCA_spoken_Frequency_Log_CW.y -2.3883575 1.4628738 -1.633 0.103
##
## Equation for Position and Meaning vs Other Conceptual:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 9.676114 23.955184 0.404 0.686
## PVLT_LDS -0.068494 0.091897 -0.745 0.456
## LDT_Unrelated_Cleaned -0.003728 0.004461 -0.836 0.404
## Priming_collocation_residual 0.009921 0.014672 0.676 0.499
## Priming_semantic_residual 0.010378 0.013159 0.789 0.431
## mtld_original_aw.y -0.013324 0.104484 -0.128 0.899
## Brysbaert_Concreteness_Combined_CW.y -1.974680 3.641861 -0.542 0.588
## COCA_spoken_bi_MI.y -0.385241 3.182993 -0.121 0.904
## COCA_spoken_Frequency_Log_CW.y -1.398382 4.435118 -0.315 0.753
##
## Dispersion: 3.193018 on 686 degrees of freedom
## Null Deviance: 9183
## Residual Deviance: 2161
## Number of Fisher Scoring iterations: 6
## Number of observations: 107
BIC[1:10]
AIC_ID[1:6]
ID_mod.best_d <- mblogit(cbind(`Other Conceptual`, `Lexical Set`, Collocation, `Free Combination`, Form, Erratic, `Form and Meaning`, `Position and Meaning`) ~ scale(PVLT_LDS) + scale(Priming_collocation_residual) + scale(mtld_original_aw.y) + scale(Brysbaert_Concreteness_Combined_CW.y), data=multinom.cat.data_sub2, random=NULL, dispersion = TRUE, estimator = "REML", na.action = "na.fail")
##
## Iteration 1 - Deviance = 2273.86
## Iteration 2 - Deviance = 2208.262
## Iteration 3 - Deviance = 2207.032
## Iteration 4 - Deviance = 2207.007
## Iteration 5 - Deviance = 2207.007
## converged
summary(ID_mod.best_d)
##
## Call:
## mblogit(formula = cbind(`Other Conceptual`, `Lexical Set`, Collocation,
## `Free Combination`, Form, Erratic, `Form and Meaning`, `Position and Meaning`) ~
## scale(PVLT_LDS) + scale(Priming_collocation_residual) + scale(mtld_original_aw.y) +
## scale(Brysbaert_Concreteness_Combined_CW.y), data = multinom.cat.data_sub2,
## random = NULL, na.action = "na.fail", estimator = "REML",
## dispersion = TRUE)
##
## Equation for Lexical Set vs Other Conceptual:
## Estimate Std. Error t value
## (Intercept) -0.505033 0.055356 -9.123
## scale(PVLT_LDS) 0.140008 0.063385 2.209
## scale(Priming_collocation_residual) 0.058151 0.056228 1.034
## scale(mtld_original_aw.y) -0.062247 0.058756 -1.059
## scale(Brysbaert_Concreteness_Combined_CW.y) -0.006992 0.060255 -0.116
## Pr(>|t|)
## (Intercept) <2e-16 ***
## scale(PVLT_LDS) 0.0275 *
## scale(Priming_collocation_residual) 0.3014
## scale(mtld_original_aw.y) 0.2898
## scale(Brysbaert_Concreteness_Combined_CW.y) 0.9077
##
## Equation for Collocation vs Other Conceptual:
## Estimate Std. Error t value
## (Intercept) -0.29893 0.05198 -5.751
## scale(PVLT_LDS) 0.06371 0.05928 1.075
## scale(Priming_collocation_residual) -0.13418 0.05381 -2.494
## scale(mtld_original_aw.y) 0.02959 0.05455 0.542
## scale(Brysbaert_Concreteness_Combined_CW.y) -0.13663 0.05643 -2.421
## Pr(>|t|)
## (Intercept) 1.32e-08 ***
## scale(PVLT_LDS) 0.2829
## scale(Priming_collocation_residual) 0.0129 *
## scale(mtld_original_aw.y) 0.5877
## scale(Brysbaert_Concreteness_Combined_CW.y) 0.0157 *
##
## Equation for Free Combination vs Other Conceptual:
## Estimate Std. Error t value
## (Intercept) -0.74488 0.05970 -12.478
## scale(PVLT_LDS) 0.01507 0.06729 0.224
## scale(Priming_collocation_residual) -0.16253 0.06207 -2.618
## scale(mtld_original_aw.y) 0.04438 0.06242 0.711
## scale(Brysbaert_Concreteness_Combined_CW.y) -0.03269 0.06479 -0.505
## Pr(>|t|)
## (Intercept) < 2e-16 ***
## scale(PVLT_LDS) 0.82282
## scale(Priming_collocation_residual) 0.00902 **
## scale(mtld_original_aw.y) 0.47730
## scale(Brysbaert_Concreteness_Combined_CW.y) 0.61403
##
## Equation for Form vs Other Conceptual:
## Estimate Std. Error t value
## (Intercept) -0.9447205 0.0642143 -14.712
## scale(PVLT_LDS) -0.1132575 0.0718623 -1.576
## scale(Priming_collocation_residual) 0.0003976 0.0651658 0.006
## scale(mtld_original_aw.y) -0.1509702 0.0682033 -2.214
## scale(Brysbaert_Concreteness_Combined_CW.y) -0.0665081 0.0696659 -0.955
## Pr(>|t|)
## (Intercept) <2e-16 ***
## scale(PVLT_LDS) 0.1155
## scale(Priming_collocation_residual) 0.9951
## scale(mtld_original_aw.y) 0.0272 *
## scale(Brysbaert_Concreteness_Combined_CW.y) 0.3401
##
## Equation for Erratic vs Other Conceptual:
## Estimate Std. Error t value
## (Intercept) -1.92384 0.09741 -19.749
## scale(PVLT_LDS) -0.31074 0.09797 -3.172
## scale(Priming_collocation_residual) -0.20765 0.09508 -2.184
## scale(mtld_original_aw.y) 0.10691 0.09170 1.166
## scale(Brysbaert_Concreteness_Combined_CW.y) 0.08940 0.09961 0.897
## Pr(>|t|)
## (Intercept) < 2e-16 ***
## scale(PVLT_LDS) 0.00158 **
## scale(Priming_collocation_residual) 0.02930 *
## scale(mtld_original_aw.y) 0.24407
## scale(Brysbaert_Concreteness_Combined_CW.y) 0.36976
##
## Equation for Form and Meaning vs Other Conceptual:
## Estimate Std. Error t value
## (Intercept) -3.16370 0.16858 -18.767
## scale(PVLT_LDS) 0.02509 0.19285 0.130
## scale(Priming_collocation_residual) 0.05971 0.16985 0.352
## scale(mtld_original_aw.y) -0.12324 0.18030 -0.684
## scale(Brysbaert_Concreteness_Combined_CW.y) -0.05806 0.18310 -0.317
## Pr(>|t|)
## (Intercept) <2e-16 ***
## scale(PVLT_LDS) 0.897
## scale(Priming_collocation_residual) 0.725
## scale(mtld_original_aw.y) 0.494
## scale(Brysbaert_Concreteness_Combined_CW.y) 0.751
##
## Equation for Position and Meaning vs Other Conceptual:
## Estimate Std. Error t value
## (Intercept) -5.45411 0.53575 -10.180
## scale(PVLT_LDS) -0.14870 0.56541 -0.263
## scale(Priming_collocation_residual) 0.36651 0.46933 0.781
## scale(mtld_original_aw.y) -0.06047 0.51696 -0.117
## scale(Brysbaert_Concreteness_Combined_CW.y) -0.10220 0.54727 -0.187
## Pr(>|t|)
## (Intercept) <2e-16 ***
## scale(PVLT_LDS) 0.793
## scale(Priming_collocation_residual) 0.435
## scale(mtld_original_aw.y) 0.907
## scale(Brysbaert_Concreteness_Combined_CW.y) 0.852
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Dispersion: 3.149546 on 714 degrees of freedom
## Null Deviance: 9183
## Residual Deviance: 2207
## Number of Fisher Scoring iterations: 5
## Number of observations: 107
# Constructing function for psuwo R squared
Nag_R2 <- function(mod0, mod1){
n <- mod1$N
M1 <- deviance(mod0) - deviance(mod1)
M2 <- deviance(mod0) - deviance(mod0)
M3 <- abs(M2 - M1)
R2 <- as.numeric((1 - exp(- M3/ n ))/(1 - exp(2*as.numeric(logLik(mod0)/ n ))))
return(R2)
}
Nag_R2(ID_mod.null, ID_mod.best_d)
## [1] 0.9009988
#confirming with external package
r = r.squaredLR(ID_mod.best_d, evaluate = TRUE)
##
## Iteration 1 - Deviance = 2516.741
## Iteration 2 - Deviance = 2455.381
## Iteration 3 - Deviance = 2454.468
## Iteration 4 - Deviance = 2454.458
## Iteration 5 - Deviance = 2454.458
## converged
r
## [1] 0.9009988
## attr(,"adj.r.squared")
## [1] 0.9009988
– First define a function that allows to extract prediction and their Confidence intervals from the mblogit model. This was necessary because the package does not currently provide visualization for CIs.
## rescale the variables
multinom.cat.data_sub2 %>%
mutate(
PVLT_LDS_scale = scale(PVLT_LDS),
Priming_collocation_residual_scale = scale(Priming_collocation_residual),
mtld_original_aw.y_scale = scale(mtld_original_aw.y),
Brysbaert_Concreteness_Combined_CW.y_scale = scale(Brysbaert_Concreteness_Combined_CW.y),
COCA_lemma_spoken_bi_MI.y_scale = scale(COCA_lemma_spoken_bi_MI.y)
) -> multinom.cat.data_sub2_scale
attach(multinom.cat.data_sub2_scale)
multinomial_prediction <- function(mbmodel, new_dataset) {
pred.data_temp <- predict(mbmodel, type = "response", newdata = new_dataset, se.fit = T)
pred_upper <- pred.data_temp[[1]] + (1.96 * pred.data_temp[[2]])
pred_lower <- pred.data_temp[[1]] - (1.96 * pred.data_temp[[2]])
pred.mid.data <- as.data.frame(cbind(new_dataset, pred.data_temp[[1]]))
pred_upper.data <- as.data.frame(cbind(new_dataset, pred_upper))
pred_lower.data <- as.data.frame(cbind(new_dataset, pred_lower))
pred_long_mid <- melt(pred.mid.data, id.vars = c("PVLT_LDS_scale", "mtld_original_aw.y_scale", "Priming_collocation_residual_scale", "Brysbaert_Concreteness_Combined_CW.y_scale"),
variable.name = "Response.type",
value.name = "Predicted.Proportion")
pred_long_upper <- melt(pred_upper.data, id.vars = c("PVLT_LDS_scale", "mtld_original_aw.y_scale", "Priming_collocation_residual_scale", "Brysbaert_Concreteness_Combined_CW.y_scale"),
variable.name = "Response.type",
value.name = "upper")
pred_long_lower <- melt(pred_lower.data, id.vars = c( "PVLT_LDS_scale", "mtld_original_aw.y_scale", "Priming_collocation_residual_scale", "Brysbaert_Concreteness_Combined_CW.y_scale"),
variable.name = "Response.type",
value.name = "lower")
pred_long <- as.data.frame(cbind(pred_long_mid,
pred_long_upper$upper,
pred_long_lower$lower))
colnames(pred_long)[7] <- "upper"
colnames(pred_long)[8] <- "lower"
return (pred_long)
}
multinomial_prediction2 <- function(mbmodel, new_dataset) {
pred.data_temp <- predict(mbmodel, type = "response", newdata = new_dataset, se.fit = T)
pred_upper <- pred.data_temp[[1]] + (1.96 * pred.data_temp[[2]])
pred_lower <- pred.data_temp[[1]] - (1.96 * pred.data_temp[[2]])
pred.mid.data <- as.data.frame(cbind(new_dataset, pred.data_temp[[1]]))
pred_upper.data <- as.data.frame(cbind(new_dataset, pred_upper))
pred_lower.data <- as.data.frame(cbind(new_dataset, pred_lower))
pred_long_mid <- melt(pred.mid.data, id.vars = c("PVLT_LDS_scale", "mtld_original_aw.y_scale", "Priming_collocation_residual_scale", "Brysbaert_Concreteness_Combined_CW.y_scale", "COCA_lemma_spoken_bi_MI.y_scale"),
variable.name = "Response.type",
value.name = "Predicted.Proportion")
pred_long_upper <- melt(pred_upper.data, id.vars = c("PVLT_LDS_scale", "mtld_original_aw.y_scale", "Priming_collocation_residual_scale", "Brysbaert_Concreteness_Combined_CW.y_scale" , "COCA_lemma_spoken_bi_MI.y_scale"),
variable.name = "Response.type",
value.name = "upper")
pred_long_lower <- melt(pred_lower.data, id.vars = c( "PVLT_LDS_scale", "mtld_original_aw.y_scale", "Priming_collocation_residual_scale", "Brysbaert_Concreteness_Combined_CW.y_scale" , "COCA_lemma_spoken_bi_MI.y_scale"),
variable.name = "Response.type",
value.name = "lower")
pred_long <- as.data.frame(cbind(pred_long_mid,
pred_long_upper$upper,
pred_long_lower$lower))
colnames(pred_long)[8] <- "upper"
colnames(pred_long)[9] <- "lower"
return (pred_long)
}
best_mod_scale <- mblogit(cbind(`Other Conceptual`, `Lexical Set`, Collocation, `Free Combination`, Form, Erratic, `Form and Meaning`, `Position and Meaning`) ~ PVLT_LDS_scale + Priming_collocation_residual_scale + mtld_original_aw.y_scale + Brysbaert_Concreteness_Combined_CW.y_scale, data=multinom.cat.data_sub2_scale, random=NULL, dispersion = TRUE, estimator = "REML", na.action = "na.fail")
##
## Iteration 1 - Deviance = 2273.86
## Iteration 2 - Deviance = 2208.262
## Iteration 3 - Deviance = 2207.032
## Iteration 4 - Deviance = 2207.007
## Iteration 5 - Deviance = 2207.007
## converged
summary(best_mod_scale)
##
## Call:
## mblogit(formula = cbind(`Other Conceptual`, `Lexical Set`, Collocation,
## `Free Combination`, Form, Erratic, `Form and Meaning`, `Position and Meaning`) ~
## PVLT_LDS_scale + Priming_collocation_residual_scale + mtld_original_aw.y_scale +
## Brysbaert_Concreteness_Combined_CW.y_scale, data = multinom.cat.data_sub2_scale,
## random = NULL, na.action = "na.fail", estimator = "REML",
## dispersion = TRUE)
##
## Equation for Lexical Set vs Other Conceptual:
## Estimate Std. Error t value
## (Intercept) -0.505033 0.055356 -9.123
## PVLT_LDS_scale 0.140008 0.063385 2.209
## Priming_collocation_residual_scale 0.058151 0.056228 1.034
## mtld_original_aw.y_scale -0.062247 0.058756 -1.059
## Brysbaert_Concreteness_Combined_CW.y_scale -0.006992 0.060255 -0.116
## Pr(>|t|)
## (Intercept) <2e-16 ***
## PVLT_LDS_scale 0.0275 *
## Priming_collocation_residual_scale 0.3014
## mtld_original_aw.y_scale 0.2898
## Brysbaert_Concreteness_Combined_CW.y_scale 0.9077
##
## Equation for Collocation vs Other Conceptual:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.29893 0.05198 -5.751 1.32e-08
## PVLT_LDS_scale 0.06371 0.05928 1.075 0.2829
## Priming_collocation_residual_scale -0.13418 0.05381 -2.494 0.0129
## mtld_original_aw.y_scale 0.02959 0.05455 0.542 0.5877
## Brysbaert_Concreteness_Combined_CW.y_scale -0.13663 0.05643 -2.421 0.0157
##
## (Intercept) ***
## PVLT_LDS_scale
## Priming_collocation_residual_scale *
## mtld_original_aw.y_scale
## Brysbaert_Concreteness_Combined_CW.y_scale *
##
## Equation for Free Combination vs Other Conceptual:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.74488 0.05970 -12.478 < 2e-16
## PVLT_LDS_scale 0.01507 0.06729 0.224 0.82282
## Priming_collocation_residual_scale -0.16253 0.06207 -2.618 0.00902
## mtld_original_aw.y_scale 0.04438 0.06242 0.711 0.47730
## Brysbaert_Concreteness_Combined_CW.y_scale -0.03269 0.06479 -0.505 0.61403
##
## (Intercept) ***
## PVLT_LDS_scale
## Priming_collocation_residual_scale **
## mtld_original_aw.y_scale
## Brysbaert_Concreteness_Combined_CW.y_scale
##
## Equation for Form vs Other Conceptual:
## Estimate Std. Error t value
## (Intercept) -0.9447205 0.0642143 -14.712
## PVLT_LDS_scale -0.1132575 0.0718623 -1.576
## Priming_collocation_residual_scale 0.0003976 0.0651658 0.006
## mtld_original_aw.y_scale -0.1509702 0.0682033 -2.214
## Brysbaert_Concreteness_Combined_CW.y_scale -0.0665081 0.0696659 -0.955
## Pr(>|t|)
## (Intercept) <2e-16 ***
## PVLT_LDS_scale 0.1155
## Priming_collocation_residual_scale 0.9951
## mtld_original_aw.y_scale 0.0272 *
## Brysbaert_Concreteness_Combined_CW.y_scale 0.3401
##
## Equation for Erratic vs Other Conceptual:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.92384 0.09741 -19.749 < 2e-16
## PVLT_LDS_scale -0.31074 0.09797 -3.172 0.00158
## Priming_collocation_residual_scale -0.20765 0.09508 -2.184 0.02930
## mtld_original_aw.y_scale 0.10691 0.09170 1.166 0.24407
## Brysbaert_Concreteness_Combined_CW.y_scale 0.08940 0.09961 0.897 0.36976
##
## (Intercept) ***
## PVLT_LDS_scale **
## Priming_collocation_residual_scale *
## mtld_original_aw.y_scale
## Brysbaert_Concreteness_Combined_CW.y_scale
##
## Equation for Form and Meaning vs Other Conceptual:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -3.16370 0.16858 -18.767 <2e-16
## PVLT_LDS_scale 0.02509 0.19285 0.130 0.897
## Priming_collocation_residual_scale 0.05971 0.16985 0.352 0.725
## mtld_original_aw.y_scale -0.12324 0.18030 -0.684 0.494
## Brysbaert_Concreteness_Combined_CW.y_scale -0.05806 0.18310 -0.317 0.751
##
## (Intercept) ***
## PVLT_LDS_scale
## Priming_collocation_residual_scale
## mtld_original_aw.y_scale
## Brysbaert_Concreteness_Combined_CW.y_scale
##
## Equation for Position and Meaning vs Other Conceptual:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -5.45411 0.53575 -10.180 <2e-16
## PVLT_LDS_scale -0.14870 0.56541 -0.263 0.793
## Priming_collocation_residual_scale 0.36651 0.46933 0.781 0.435
## mtld_original_aw.y_scale -0.06047 0.51696 -0.117 0.907
## Brysbaert_Concreteness_Combined_CW.y_scale -0.10220 0.54727 -0.187 0.852
##
## (Intercept) ***
## PVLT_LDS_scale
## Priming_collocation_residual_scale
## mtld_original_aw.y_scale
## Brysbaert_Concreteness_Combined_CW.y_scale
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Dispersion: 3.149546 on 714 degrees of freedom
## Null Deviance: 9183
## Residual Deviance: 2207
## Number of Fisher Scoring iterations: 5
## Number of observations: 107
#show summary first
length(seq(min(PVLT_LDS_scale), max(PVLT_LDS_scale), by= .1))
## [1] 47
pvlt_sim <- data.frame(
PVLT_LDS_scale = seq(min(PVLT_LDS_scale), max(PVLT_LDS_scale), by= .1),
Priming_collocation_residual_scale = rep(0, 47),
mtld_original_aw.y_scale = rep(0, 47),
Brysbaert_Concreteness_Combined_CW.y_scale = rep(0, 47)
)
pvlt_sim
pred_pvlt_sim <- multinomial_prediction(best_mod_scale, pvlt_sim)
PVLT_marginal <- ggplot(pred_pvlt_sim, aes(x = PVLT_LDS_scale, y = Predicted.Proportion, color = Response.type, linetype = Response.type)) +
geom_smooth(se = F) +
geom_ribbon(aes(y = NULL, ymin = lower, ymax = upper, color = NULL, fill = Response.type), alpha = .15) +
xlab("Productive Vocabulary Levels Test (z-score)") +
ylab("Predicted probabilities") +
scale_linetype_discrete(name = "Response Type", labels = c("Other Conceptual", "Lexical Set", "Collocation", "Free combination", "Form", "Erratic", "Form and Meaning", "Position and meaning")) +
scale_color_discrete(name = "Response Type", labels = c("Other Conceptual", "Lexical Set", "Collocation", "Free combination", "Form", "Erratic", "Form and Meaning", "Position and meaning")) +
scale_fill_discrete(name = "Response Type", labels = c("Other Conceptual", "Lexical Set", "Collocation", "Free combination", "Form", "Erratic", "Form and Meaning", "Position and meaning")) +
theme_bw()
PVLT_marginal
#ggsave('Fig_PVLT_marginal.png', PVLT_marginal, width = 6,height = 4, unit = 'in')
length(seq(min(Priming_collocation_residual_scale), max(Priming_collocation_residual_scale), by= .1))
## [1] 61
col_prime_sim <- data.frame(
PVLT_LDS_scale = rep(0,61),
Priming_collocation_residual_scale = seq(min(Priming_collocation_residual_scale), max(Priming_collocation_residual_scale), by= .1),
mtld_original_aw.y_scale = rep(0, 61),
Brysbaert_Concreteness_Combined_CW.y_scale = rep(0, 61)
)
pred_col_prime_sim <- multinomial_prediction(best_mod_scale, col_prime_sim)
col_prime_marginal <- ggplot(pred_col_prime_sim, aes(x = Priming_collocation_residual_scale, y = Predicted.Proportion, color = Response.type, linetype = Response.type)) +
geom_smooth(se = F) +
geom_ribbon(aes(y = Predicted.Proportion, ymin = lower, ymax = upper, color = NULL, fill = Response.type), alpha = .15) +
xlab("Collocation Priming (z-score)") +
ylab("Predicted probabilities") +
scale_linetype_discrete(name = "Response Type", labels = c("Other Conceptual", "Lexical Set", "Collocation", "Free combination", "Form", "Erratic", "Form and Meaning", "Position and meaning")) +
scale_color_discrete(name = "Response Type", labels = c("Other Conceptual", "Lexical Set", "Collocation", "Free combination", "Form", "Erratic", "Form and Meaning", "Position and meaning")) +
scale_fill_discrete(name = "Response Type", labels = c("Other Conceptual", "Lexical Set", "Collocation", "Free combination", "Form", "Erratic", "Form and Meaning", "Position and meaning")) +
theme_bw()
col_prime_marginal
#ggsave('Fig_Colprime_marginal.png', col_prime_marginal, width = 6,height = 4, unit = 'in')
length(seq(min(mtld_original_aw.y_scale), max(mtld_original_aw.y_scale), by= .1))
## [1] 45
mtld_sim <- data.frame(
PVLT_LDS_scale = rep(0,45),
Priming_collocation_residual_scale = rep(0,45),
mtld_original_aw.y_scale = seq(min(mtld_original_aw.y_scale), max(mtld_original_aw.y_scale), by= .1),
Brysbaert_Concreteness_Combined_CW.y_scale = rep(0, 45)
)
pred_mtld_sim <- multinomial_prediction(best_mod_scale, mtld_sim)
mtld_marginal <- ggplot(pred_mtld_sim, aes(x = mtld_original_aw.y_scale, y = Predicted.Proportion, color = Response.type, linetype = Response.type)) +
geom_smooth(se = F) +
geom_ribbon(aes(y = Predicted.Proportion, ymin = lower, ymax = upper, color = NULL, fill = Response.type), alpha = .15) +
xlab("the Measure of Textual Lexical Diversity (z-score)") +
ylab("Predicted probabilities") +
scale_linetype_discrete(name = "Response Type", labels = c("Other Conceptual", "Lexical Set", "Collocation", "Free combination", "Form", "Erratic", "Form and Meaning", "Position and meaning")) +
scale_color_discrete(name = "Response Type", labels = c("Other Conceptual", "Lexical Set", "Collocation", "Free combination", "Form", "Erratic", "Form and Meaning", "Position and meaning")) +
scale_fill_discrete(name = "Response Type", labels = c("Other Conceptual", "Lexical Set", "Collocation", "Free combination", "Form", "Erratic", "Form and Meaning", "Position and meaning")) +
theme_bw()
mtld_marginal
#ggsave('Fig_MTLD_marginal.png', mtld_marginal, width = 6,height = 4, unit = 'in')
length(seq(min(Brysbaert_Concreteness_Combined_CW.y_scale), max(Brysbaert_Concreteness_Combined_CW.y_scale), by= .1))
## [1] 50
concreteness_sim <- data.frame(
PVLT_LDS_scale = rep(0,50),
Priming_collocation_residual_scale = rep(0,50),
mtld_original_aw.y_scale = rep(0,50),
Brysbaert_Concreteness_Combined_CW.y_scale = seq(min(Brysbaert_Concreteness_Combined_CW.y_scale), max(Brysbaert_Concreteness_Combined_CW.y_scale), by= .1)
)
pred_concreteness_sim_sim <- multinomial_prediction(best_mod_scale, concreteness_sim)
conc_marginal <- ggplot(pred_concreteness_sim_sim, aes(x = Brysbaert_Concreteness_Combined_CW.y_scale, y = Predicted.Proportion, color = Response.type, linetype = Response.type)) +
geom_smooth(se = F) +
geom_ribbon(aes(y = Predicted.Proportion, ymin = lower, ymax = upper, color = NULL, fill = Response.type), alpha = .15) +
xlab("Brysbaert Concreteness Content Word (z-score)") +
ylab("Predicted probabilities") +
scale_linetype_discrete(name = "Response Type", labels = c("Other Conceptual", "Lexical Set", "Collocation", "Free combination", "Form", "Erratic", "Form and Meaning", "Position and meaning")) +
scale_color_discrete(name = "Response Type", labels = c("Other Conceptual", "Lexical Set", "Collocation", "Free combination", "Form", "Erratic", "Form and Meaning", "Position and meaning")) +
scale_fill_discrete(name = "Response Type", labels = c("Other Conceptual", "Lexical Set", "Collocation", "Free combination", "Form", "Erratic", "Form and Meaning", "Position and meaning")) +
scale_x_reverse() +
theme_bw()
conc_marginal
#ggsave('Fig_concreteness_marginal.png', conc_marginal, width = 6,height = 4, unit = 'in')
bi_scale <- mblogit(cbind(`Other Conceptual`, `Lexical Set`, Collocation, `Free Combination`, Form, Erratic, `Form and Meaning`, `Position and Meaning`) ~ PVLT_LDS_scale +COCA_lemma_spoken_bi_MI.y_scale , data=multinom.cat.data_sub2_scale, random=NULL, dispersion = TRUE, estimator = "REML", na.action = "na.fail")
##
## Iteration 1 - Deviance = 2378.164
## Iteration 2 - Deviance = 2318.831
## Iteration 3 - Deviance = 2317.865
## Iteration 4 - Deviance = 2317.854
## Iteration 5 - Deviance = 2317.854
## converged
attach(multinom.cat.data_sub2_scale)
length(seq(min(COCA_lemma_spoken_bi_MI.y_scale), max(COCA_lemma_spoken_bi_MI.y_scale), by= .1))
## [1] 56
pvlt_sim <- data.frame(
PVLT_LDS_scale = seq(min(PVLT_LDS_scale), max(PVLT_LDS_scale), by= .1),
Priming_collocation_residual_scale = rep(0, 47),
mtld_original_aw.y_scale = rep(0, 47),
Brysbaert_Concreteness_Combined_CW.y_scale = rep(0, 47)
)
bigram <- data.frame(
PVLT_LDS_scale = rep(0, 56),
Priming_collocation_residual_scale = rep(0, 56),
mtld_original_aw.y_scale = rep(0, 56),
Brysbaert_Concreteness_Combined_CW.y_scale = rep(0, 56),
COCA_lemma_spoken_bi_MI.y_scale= seq(min(COCA_lemma_spoken_bi_MI.y_scale), max(COCA_lemma_spoken_bi_MI.y_scale), by= .1)
)
pred_bi_sim <- multinomial_prediction2(bi_scale, bigram)
bigram_plot <- ggplot(pred_bi_sim, aes(x = COCA_lemma_spoken_bi_MI.y_scale, y = Predicted.Proportion, color = Response.type, linetype = Response.type)) +
geom_smooth(se = F) +
geom_ribbon(aes(y = NULL, ymin = lower, ymax = upper, color = NULL, fill = Response.type), alpha = .15) +
xlab("COCA spoken Bigrams (z-score)") +
ylab("Predicted probabilities") +
scale_linetype_discrete(name = "Response Type", labels = c("Other Conceptual", "Lexical Set", "Collocation", "Free combination", "Form", "Erratic", "Form and Meaning", "Position and meaning")) +
scale_color_discrete(name = "Response Type", labels = c("Other Conceptual", "Lexical Set", "Collocation", "Free combination", "Form", "Erratic", "Form and Meaning", "Position and meaning")) +
scale_fill_discrete(name = "Response Type", labels = c("Other Conceptual", "Lexical Set", "Collocation", "Free combination", "Form", "Erratic", "Form and Meaning", "Position and meaning")) +
theme_bw()
bigram_plot
ggsave('Fig_bigram_marginal.png', bigram_plot, width = 6,height = 4, unit = 'in')
multinom.cat.data_sub_rt <- data.frame(cbind(WA_RT_M_3SD, PVLT_LDS, Priming_collocation_residual, Priming_semantic_residual, LDT_Unrelated_Cleaned, LDT_Unrelated_residual, mtld_original_aw.y, Brysbaert_Concreteness_Combined_CW.y, COCA_lemma_spoken_bi_MI.y, COCA_spoken_Frequency_Log_CW.y)) %>%
na.omit()
attach(multinom.cat.data_sub_rt)
WA_RT.mod.residual <- lm(WA_RT_M_3SD ~ PVLT_LDS + Priming_collocation_residual + Priming_semantic_residual + LDT_Unrelated_residual + mtld_original_aw.y + Brysbaert_Concreteness_Combined_CW.y, data = multinom.cat.data_sub_rt, na.action = "na.fail")
WA_RT.mod.BIC2 <- dredge(WA_RT.mod.residual, rank = "BIC")
WA_RT.mod.BIC2[1:10]
WA_RT.mod.AICc2 <- dredge(WA_RT.mod.residual, rank = "AICc")
WA_RT.mod.AICc2[1:10]
WA_RT.best <- lm(WA_RT_M_3SD ~ LDT_Unrelated_Cleaned + PVLT_LDS , data = multinom.cat.data_sub_rt, na.action = "na.fail")
summary(WA_RT.best)
##
## Call:
## lm(formula = WA_RT_M_3SD ~ LDT_Unrelated_Cleaned + PVLT_LDS,
## data = multinom.cat.data_sub_rt, na.action = "na.fail")
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.28873 -0.36312 -0.00174 0.38363 1.39390
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.896555 0.444421 6.518 2.76e-09 ***
## LDT_Unrelated_Cleaned 0.001079 0.000430 2.510 0.0136 *
## PVLT_LDS -0.034879 0.007964 -4.380 2.89e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5024 on 102 degrees of freedom
## Multiple R-squared: 0.2992, Adjusted R-squared: 0.2854
## F-statistic: 21.77 on 2 and 102 DF, p-value: 1.339e-08
1/vif(WA_RT.best)
## LDT_Unrelated_Cleaned PVLT_LDS
## 0.8071218 0.8071218
lm.beta::lm.beta(WA_RT.best)
##
## Call:
## lm(formula = WA_RT_M_3SD ~ LDT_Unrelated_Cleaned + PVLT_LDS,
## data = multinom.cat.data_sub_rt, na.action = "na.fail")
##
## Standardized Coefficients::
## (Intercept) LDT_Unrelated_Cleaned PVLT_LDS
## 0.0000000 0.2316216 -0.4040972
calc.relimp(WA_RT.best)
## Response variable: WA_RT_M_3SD
## Total response variance: 0.3531745
## Analysis based on 105 observations
##
## 2 Regressors:
## LDT_Unrelated_Cleaned PVLT_LDS
## Proportion of variance explained by model: 29.92%
## Metrics are not normalized (rela=FALSE).
##
## Relative importance metrics:
##
## lmg
## LDT_Unrelated_Cleaned 0.1053288
## PVLT_LDS 0.1938265
##
## Average coefficients for different model sizes:
##
## 1X 2Xs
## LDT_Unrelated_Cleaned 0.001906348 0.001079343
## PVLT_LDS -0.043659472 -0.034879310
cor(PVLT_LDS, LDT_Unrelated_Cleaned)
## [1] -0.439179
ggplot(multinom.cat.data_sub_rt, aes(x = PVLT_LDS, y = WA_RT_M_3SD* 1000)) +
geom_smooth(method = 'lm') +
geom_point() +
theme_bw() +
labs(title = " ",
x = "Productive Vocabulary Levels Test (Original scale)",
y = 'Average WA Response Time (ms)')
ggplot(multinom.cat.data_sub_rt, aes(x = LDT_Unrelated_Cleaned, y = WA_RT_M_3SD * 1000)) +
geom_smooth(method = 'lm') +
geom_point() +
theme_bw() +
labs(title = " ",
x = "Average Lexical Decision Time (ms)",
y = 'Average WA Response Time (ms)')
WA_RT.pvlt <- lm(WA_RT_M_3SD ~ PVLT_LDS, data = multinom.cat.data_sub_rt, na.action = "na.fail")
summary(WA_RT.pvlt)
##
## Call:
## lm(formula = WA_RT_M_3SD ~ PVLT_LDS, data = multinom.cat.data_sub_rt,
## na.action = "na.fail")
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.2921 -0.3867 -0.0372 0.3619 1.5462
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.917175 0.184054 21.283 < 2e-16 ***
## PVLT_LDS -0.043659 0.007337 -5.951 3.71e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5151 on 103 degrees of freedom
## Multiple R-squared: 0.2559, Adjusted R-squared: 0.2486
## F-statistic: 35.41 on 1 and 103 DF, p-value: 3.711e-08
WA_RT.ldt <- lm(WA_RT_M_3SD ~ LDT_Unrelated_Cleaned, data = multinom.cat.data_sub_rt, na.action = "na.fail")
summary(WA_RT.ldt)
##
## Call:
## lm(formula = WA_RT_M_3SD ~ LDT_Unrelated_Cleaned, data = multinom.cat.data_sub_rt,
## na.action = "na.fail")
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.08530 -0.36841 0.01856 0.36884 1.43513
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.435146 0.318402 4.507 1.74e-05 ***
## LDT_Unrelated_Cleaned 0.001906 0.000419 4.550 1.47e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5449 on 103 degrees of freedom
## Multiple R-squared: 0.1674, Adjusted R-squared: 0.1593
## F-statistic: 20.7 on 1 and 103 DF, p-value: 1.471e-05
WA_RT.best2 <- lm(WA_RT_M_3SD ~ PVLT_LDS + LDT_Unrelated_Cleaned + Brysbaert_Concreteness_Combined_CW.y, data = multinom.cat.data_sub_rt, na.action = "na.fail")
summary(WA_RT.best2)
##
## Call:
## lm(formula = WA_RT_M_3SD ~ PVLT_LDS + LDT_Unrelated_Cleaned +
## Brysbaert_Concreteness_Combined_CW.y, data = multinom.cat.data_sub_rt,
## na.action = "na.fail")
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.28191 -0.37567 0.00085 0.38547 1.36063
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.1596509 1.1109045 1.944 0.054672 .
## PVLT_LDS -0.0325803 0.0085907 -3.793 0.000254 ***
## LDT_Unrelated_Cleaned 0.0011039 0.0004323 2.554 0.012158 *
## Brysbaert_Concreteness_Combined_CW.y 0.1978171 0.2731897 0.724 0.470677
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5035 on 101 degrees of freedom
## Multiple R-squared: 0.3028, Adjusted R-squared: 0.2821
## F-statistic: 14.62 on 3 and 101 DF, p-value: 5.593e-08
anova(WA_RT.best, WA_RT.best2, test = "Chi")
calc.relimp(WA_RT.best2)
## Response variable: WA_RT_M_3SD
## Total response variance: 0.3531745
## Analysis based on 105 observations
##
## 3 Regressors:
## PVLT_LDS LDT_Unrelated_Cleaned Brysbaert_Concreteness_Combined_CW.y
## Proportion of variance explained by model: 30.28%
## Metrics are not normalized (rela=FALSE).
##
## Relative importance metrics:
##
## lmg
## PVLT_LDS 0.1745220
## LDT_Unrelated_Cleaned 0.1031348
## Brysbaert_Concreteness_Combined_CW.y 0.0251181
##
## Average coefficients for different model sizes:
##
## 1X 2Xs 3Xs
## PVLT_LDS -0.043659472 -0.038509683 -0.032580323
## LDT_Unrelated_Cleaned 0.001906348 0.001448831 0.001103867
## Brysbaert_Concreteness_Combined_CW.y 0.698051552 0.361944905 0.197817061
plot(WA_RT.best)
Our results concur with those in Fitzpatrick (2006), who found weak correlations between Yes/No Vocabulary test and WA responses.To formally test the hypothesis that our data shows the similar results to Fitzpatrick (2006) under the simple Pearson correlations, we conducted Fisher’s r-to-z transformation. The result showed that our correlation coeffieicnts were not statistically different from theirs for any type of association (based on Fisher’s r-to-z transformation performed with the cocor package; Diedenhofen & Musch, 2015): meaning-based (z = 0.175; p = .861), position-based (z = .504; p = .614), and form-based responses (z = .252; p = .801).
pairs.panels(cbind(PVLT_LDS, `Lexical Set`, Collocation, Form), stars = T, ci = T)
cor(cbind(PVLT_LDS, `Lexical Set`, Collocation, Form))
## PVLT_LDS Lexical Set Collocation Form
## PVLT_LDS 1.00000000 0.23021034 0.2829667 -0.08145828
## Lexical Set 0.23021034 1.00000000 -0.5026281 -0.09978168
## Collocation 0.28296666 -0.50262814 1.0000000 -0.36693475
## Form -0.08145828 -0.09978168 -0.3669348 1.00000000
cor(cbind(PVLT_LDS, Form))
## PVLT_LDS Form
## PVLT_LDS 1.00000000 -0.08145828
## Form -0.08145828 1.00000000
library(cocor)
cocor.indep.groups(-.088, -0.1352041, 40, 113, alternative = "two.sided",
test = "all", alpha = 0.05, conf.level = 0.95, null.value = 0,
data.name = NULL, var.labels = NULL, return.htest = FALSE)
##
## Results of a comparison of two correlations based on independent groups
##
## Comparison between r1.jk = -0.088 and r2.hm = -0.1352
## Difference: r1.jk - r2.hm = 0.0472
## Group sizes: n1 = 40, n2 = 113
## Null hypothesis: r1.jk is equal to r2.hm
## Alternative hypothesis: r1.jk is not equal to r2.hm (two-sided)
## Alpha: 0.05
##
## fisher1925: Fisher's z (1925)
## z = 0.2516, p-value = 0.8014
## Null hypothesis retained
##
## zou2007: Zou's (2007) confidence interval
## 95% confidence interval for r1.jk - r2.hm: -0.3065 0.4109
## Null hypothesis retained (Interval includes 0)
cocor.indep.groups(.244, 0.230210336, 40, 113, alternative = "two.sided",
test = "all", alpha = 0.05, conf.level = 0.95, null.value = 0,
data.name = NULL, var.labels = NULL, return.htest = FALSE)
##
## Results of a comparison of two correlations based on independent groups
##
## Comparison between r1.jk = 0.244 and r2.hm = 0.2302
## Difference: r1.jk - r2.hm = 0.0138
## Group sizes: n1 = 40, n2 = 113
## Null hypothesis: r1.jk is equal to r2.hm
## Alternative hypothesis: r1.jk is not equal to r2.hm (two-sided)
## Alpha: 0.05
##
## fisher1925: Fisher's z (1925)
## z = 0.0769, p-value = 0.9387
## Null hypothesis retained
##
## zou2007: Zou's (2007) confidence interval
## 95% confidence interval for r1.jk - r2.hm: -0.3449 0.3417
## Null hypothesis retained (Interval includes 0)
cocor.indep.groups(.305, 0.282966658, 40, 107, alternative = "two.sided",
test = "all", alpha = 0.05, conf.level = 0.95, null.value = 0,
data.name = NULL, var.labels = NULL, return.htest = FALSE)
##
## Results of a comparison of two correlations based on independent groups
##
## Comparison between r1.jk = 0.305 and r2.hm = 0.283
## Difference: r1.jk - r2.hm = 0.022
## Group sizes: n1 = 40, n2 = 107
## Null hypothesis: r1.jk is equal to r2.hm
## Alternative hypothesis: r1.jk is not equal to r2.hm (two-sided)
## Alpha: 0.05
##
## fisher1925: Fisher's z (1925)
## z = 0.1260, p-value = 0.8997
## Null hypothesis retained
##
## zou2007: Zou's (2007) confidence interval
## 95% confidence interval for r1.jk - r2.hm: -0.3314 0.3393
## Null hypothesis retained (Interval includes 0)