library(knitr)

opts_chunk$set(echo = T, message = F, warning = F, 
               error = F, cache = F, tidy = F)

library(tidyverse)
library(feather)
library(langcog)
library(modelr)
library(broom)
library(corrplot)


theme_set(theme_classic(base_size = 10))

Predicting cdi percentile change

MODEL: “perc_diff ~ know_word_at_t1 + age_t1 + age_diff +perc_t1”

word_coeffs_min5_t2 <- read_csv("data/word_coeffs_cdi_24_30.csv") %>%
  filter(n_know > 2)

ggplot(word_coeffs_min5_t2, aes(t)) +
  geom_histogram() +
  ggtitle("t-distribution ") +
  geom_vline(aes(xintercept = 2), color = "red") +
  geom_vline(aes(xintercept = -2), color = "red") +
  theme_classic()

 word_coeffs_min5_t2 %>%
  arrange(-t) %>%
  DT::datatable()

Predicting t-value of a word with other measures

freq <- read_csv("/Users/mollylewis/Documents/research/Projects/1_in_progress/VOCAB_SEEDS/analyses/3_kid_vocabs/data/childes_adult_word_freq.csv") %>%
  select(-n)

density_norms <- read_csv("/Users/mollylewis/Documents/research/Projects/1_in_progress/VOCAB_SEEDS/analyses/3_kid_vocabs/data/bills_density_norms.csv")

aoa_norms <- read_csv("/Users/mollylewis/Documents/research/Projects/1_in_progress/next_kids/stimuli_selection/AoA_ratings_Kuperman_et_al_BRM.csv") %>%
  select(Word, Rating.Mean) %>%
  rename(word = Word,
         adult_aoa_estimate = Rating.Mean)

embedding_dist <- read_csv("/Users/mollylewis/Documents/research/Projects/1_in_progress/VOCAB_SEEDS/analyses/6_by_word_analyses/data/wiki_embedding_dist_by_word.csv") %>%
  rename(mean_dist = mean_dist_wiki)

concreteness <- read_csv("/Users/mollylewis/Documents/research/Projects/2_published/ref_complex/corpus/brysbaert_database/brysbaert_corpus.csv") %>%
  rename(word = Word) %>%
  select(word, Conc.M)

concepts <- read_tsv("/Users/mollylewis/Documents/research/Projects/1_in_progress/VOCAB_SEEDS/analyses/3_kid_vocabs/data/CONCS_brm.txt") %>%
  select(Concept, Familiarity, Length_Syllables, Bigram, 14:33) %>%
  mutate(Concept = tolower(Concept),
         Concept = map_chr(Concept, ~ pluck(str_split(., "_"),1,1))) %>%
  rename(word = Concept) %>%
  select(word, Mean_Distinct_No_Tax)

pos <- read_tsv("/Users/mollylewis/Documents/research/Projects/1_in_progress/VOCAB_SEEDS/analyses/3_kid_vocabs/data/SUBTLEX-US\ frequency\ list\ with\ PoS\ information\ text\ version.txt") %>%
  select(Word, Dom_PoS_SUBTLEX) %>%
  rename(word = Word,
         pos = Dom_PoS_SUBTLEX) %>%
  mutate(pos = ifelse(pos == "Verb", "v", "o"))

glasgow <- read_csv("/Users/mollylewis/Documents/research/Projects/1_in_progress/IATLANG/data/study1a/raw/GlasgowNorms.csv") %>%
  select(word, contains("_M")) %>%
  select(-AOA_M, -CNC_M)

ar_va <- read_csv("/Users/mollylewis/Documents/research/Projects/1_in_progress/VOCAB_SEEDS/analyses/6_by_word_analyses/data/Ratings_Warriner_et_al.csv") %>%
  select(Word, V.Mean.Sum, A.Mean.Sum, D.Mean.Sum) %>%
  rename(word = Word)

complexity <- read_csv("/Users/mollylewis/Documents/research/Projects/2_published/ref_complex/corpus/MRC_database/complexity_norms.csv") %>%
  select(word, complexity)

word_coeffs_min5_t2_with_vars <- word_coeffs_min5_t2 %>%
  mutate(word = tolower(word)) %>%
  left_join(density_norms) %>%
  left_join(freq) %>%
  left_join(embedding_dist) %>%
  left_join(concepts) %>%
  left_join(concreteness) %>%
  left_join(aoa_norms) %>%
  left_join(pos) %>%
  left_join(ar_va) %>%
  left_join(glasgow) %>%
  left_join(complexity) %>%
  mutate(word_length = nchar(word)) %>%
  filter(n_know >= 5)
df_corrs <- word_coeffs_min5_t2_with_vars %>%
  select(-word, -Estimate, -SE, -pos) 
  #filter_all(all_vars(!is.na(.)))

corr_mat <- cor(df_corrs, 
                use = "pairwise.complete.obs")

p.mat <- corrplot::cor.mtest(df_corrs, 
                  conf.level = .95,  
                  use = "pairwise.complete.obs")$p

cols <- rev(colorRampPalette(c("red", "white", "blue"))(100))

corrplot::corrplot(corr_mat, method = "color",  col = cols,
         type = "full", order = "hclust", number.cex = .7,
         addCoef.col = "black", insig = "blank",
         p.mat = p.mat, sig.level = .05, 
         tl.col = "black", tl.srt = 90,
         diag = FALSE)

lm(t ~ adult_aoa_estimate + pos + V.Mean.Sum + log_freq, word_coeffs_min5_t2_with_vars) %>%
  summary()
## 
## Call:
## lm(formula = t ~ adult_aoa_estimate + pos + V.Mean.Sum + log_freq, 
##     data = word_coeffs_min5_t2_with_vars)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.3232 -0.6643 -0.0082  0.6443  3.5011 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)  
## (Intercept)         0.22012    0.47769   0.461   0.6451  
## adult_aoa_estimate -0.13154    0.05332  -2.467   0.0140 *
## posv               -0.02658    0.11919  -0.223   0.8236  
## V.Mean.Sum          0.09312    0.04150   2.244   0.0253 *
## log_freq            0.03772    0.03748   1.006   0.3148  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9598 on 465 degrees of freedom
##   (209 observations deleted due to missingness)
## Multiple R-squared:  0.04044,    Adjusted R-squared:  0.03219 
## F-statistic:   4.9 on 4 and 465 DF,  p-value: 0.0007056