Left off formatting at the beginning of the consistency section maybe make some sort of reference for the footnotes

Workspace

Packages

library(lavaan)
library(qgraph)
library(igraph)
library(glasso)
library(mlVAR)
library(graphicalVAR)
library(gimme)
library(knitr)
library(kableExtra)
library(gridExtra)
library(Rmisc)
library(psych)
library(stargazer)
library(Matrix)
library(papaja)
library(pander)
library(RColorBrewer)
library(stringr)
library(magrittr)
library(data.table)
library(plyr)
library(tidyverse)

res_path <- "https://github.com/emoriebeck/Idiographic-Network-Consistency"
esm_codebook <- tbl_df(readr::read_csv(sprintf("%s/raw/master/data/Codebook.csv", res_path)))
meanSD_r2z2r <- function(x) {
  z <- fisherz(x)
  z[is.infinite(z)] <- NA
  x_bar <- mean(z, na.rm = T)
  x_sd <- sd(z, na.rm = T)
  r_bar <- fisherz2r(x_bar)
  r_sd <- fisherz2r(x_sd)
  return(c(r_bar, r_sd))
}

Prepare Data

The data include three waves of experience sampling method data from the Personality and Intimate Relationship Study. Data were previously cleaned to remove data points that did not meet inclusion criteria.

Load Data

wave1_all <- readr::read_csv(sprintf("%s/raw/master/data/esm_w1_redacted.csv", res_path)) %>% tbl_df
wave4_all <- readr::read_csv(sprintf("%s/raw/master/data/esm_w4_redacted.csv", res_path)) %>% tbl_df
wave7_all <- readr::read_csv(sprintf("%s/raw/master/data/esm_w7_redacted.csv", res_path)) %>% tbl_df

Clean Data

Because the data sets include data that are not being used in this study, we extract the relevant columns (Subject ID, frequency, hour block, day of study, measurement point, and personality items) from the original data frames. Next, we rename the columns for later ease of use and visualization. Finally, because of the small sample size for waves 4 and 7, we merge those data sets.

old.names <- esm_codebook$old_name
new.names <- esm_codebook$new_name

#Getting necessary columns
#Keeping subject ID and all esm.BFI items
w1 <- wave1_all %>%
  select(one_of(paste(old.names, "w1", sep = "."))) %>%
  setNames(new.names) %>% # change column names
  mutate(wave = "1") 
w4 <- wave4_all %>%
  select(one_of(paste(old.names, "w4", sep = "."))) %>%
  setNames(new.names) %>% # change column names
  mutate(wave = "4")
w7 <- wave7_all %>%
  select(one_of(paste(old.names, "w7", sep = "."))) %>%
  setNames(new.names) %>% # change column names
  mutate(wave = "7")

# merge wave 4 and 7 data sets
w2 <- w4 %>% full_join(w7) 

head(w1)
head(w2)
Variable New Name Description
esm.IDnum.w1 SID numeric variable; identification number
esm.BFI37.w1 A_rude agreeablness, negative; “During the last hour, how rude were you?” Likert scale from 1 to 5; 1 = Not a lot, 3 = Somewhat, 5 = Very
esm.BFI21.w1 E_quiet extraversion, negative; “During the last hour, how quiet were you?” Likert scale from 1 to 5; 1 = Not a lot, 3 = Somewhat, 5 = Very
esm.BFI23.w1 C_lazy conscientiousness, negative; “During the last hour, how lazy were you?” Likert scale from 1 to 5; 1 = Not a lot, 3 = Somewhat, 5 = Very
esm.BFI09.w1 N_relaxed neuroticism, positive; “During the last hour, how relaxed were you?” Likert scale from 1 to 5; 1 = Not a lot, 3 = Somewhat, 5 = Very
esm.BFI04.w1 N_depressed neuroticism, positive; “During the last hour, did you feel ‘depressed, blue’?” Likert scale from 1 to 5; 1 = Not a lot, 3 = Somewhat, 5 = Very
esm.BFI36.w1 E_outgoing extraversion, positive; “During the last hour, how ‘outgoing, sociable’ were you?” Likert scale from 1 to 5; 1 = Not a lot, 3 = Somewhat, 5 = Very
esm.BFI32.w1 A_kind agreeablness, positive; “During the last hour, how ‘considerate, kind’ were you?” Likert scale from 1 to 5; 1 = Not a lot, 3 = Somewhat, 5 = Very
esm.BFI13.w1 C_reliable conscientiousness, positive; “During the last hour, how reliable were you?” Likert scale from 1 to 5; 1 = Not a lot, 3 = Somewhat, 5 = Very
esm.BFI19.w1 N_worried neuroticism, positive; “During the last hour, how worried were you?” Likert scale from 1 to 5; 1 = Not a lot, 3 = Somewhat, 5 = Very

Missing Data Handling

Participants in the study only answered Agreeableness items if they indicated they were interacting with another person during the hour block previous to responding. To retain those measurement points for use in models later, we fill in gaps using within-person means of Agreeabless items.

for (i in unique(w1$SID)){
  mean_A_rude <- mean(w1$A_rude[w1$SID == i], na.rm = T)
  w1$A_rude[is.na(w1$A_rude) & w1$SID == i] <- mean_A_rude
  mean_A_kind <- mean(w1$A_kind[w1$SID == i], na.rm = T)
  w1$A_kind[is.na(w1$A_kind) & w1$SID == i] <- mean_A_kind
}

for (i in unique(w2$SID)){
  mean_A_rude <- mean(w2$A_rude[w2$SID == i], na.rm = T)
  w2$A_rude[is.na(w2$A_rude) & w2$SID == i] <- mean_A_rude
  mean_A_kind <- mean(w2$A_kind[w2$SID == i], na.rm = T)
  w2$A_kind[is.na(w2$A_kind) & w2$SID == i] <- mean_A_kind
}

Response Order & Screening Participants

Because we want to know the precise order of responses of actually collected responses, we make a column with sequential numbering. Then we calculate composites for at item for later use.
To be able to construct individual networks for participants, we ideally need approximately 50 measurement points. However, for current purposes, we will keep all participants who have at least 10 responses, lest we eliminate a large portion of our subjects.

w1 <- w1 %>%
  filter(complete.cases(.)) %>%
  group_by(SID) %>%
  arrange(day, hourBlock) %>%
  mutate(beep_seq = seq(1, n(), 1)) %>%
  group_by(SID) %>%
  mutate_at(vars(A_rude:N_worried), funs(comp = mean)) %>%
  ungroup() 

w2 <- w2 %>%
  filter(complete.cases(.)) %>%
  group_by(SID) %>%
  arrange(wave, day, hourBlock) %>%
  mutate(beep_seq = seq(1, n(), 1)) %>%
  group_by(SID) %>%
  mutate_at(vars(A_rude:N_worried), funs(comp = mean)) %>%
  ungroup() 

jitter_fun <- function(df){
  sd_fun <- function(x){if(sd(x, na.rm = T) == 0 | (length(unique(x)) == 2 & any(table(x) < 2))) jitter(x, amount = runif(1,0,.05)) else x}
  df2 <- data.frame(apply(df, 2, sd_fun))
  colnames(df2) <- colnames(df2)
  return(df2)
}

# filter out people who had < 10 responses and 
#calculate SD's to find people with no variance in responses
w1 <- w1 %>%
  select(SID, wave, beep_seq, A_rude:N_worried) %>%
  group_by(SID) %>%
  mutate_if(is.integer, as.numeric) %>%
  mutate(count = n()) %>%
  filter(count > 10) %>%
  group_by(SID, count, wave) %>% 
  nest() %>%
  mutate(data2 = map(data, jitter_fun)) %>%
  unnest(data2, .drop = T)

w2 <- w2 %>%
  select(SID, beep_seq, A_rude:N_worried) %>%
  group_by(SID) %>%
  mutate_if(is.integer, as.numeric) %>%
  mutate(count = n(), wave = "2") %>%
  filter(count > 10) %>%
  group_by(SID, count, wave) %>% 
  nest() %>%
  mutate(data2 = map(data, jitter_fun)) %>%
  unnest(data2, .drop = T)

head(w1)
head(w2)

Descriptive Statistics of ESM Items (Table 1)

### Table 1 ###
w1 %>% full_join(w2) %>% 
  gather(key = new_name, value = value, A_rude:N_worried, na.rm = T) %>%
  left_join(esm_codebook %>% select(new_name, item_text)) %>%
  group_by(SID, wave, new_name, item_text) %>%
  summarize(mean = mean(value, na.rm = T)) %>%
  group_by(wave, new_name, item_text) %>%
  summarize(M = mean(mean, na.rm = T), 
            SD = sd(mean, na.rm = T)) %>%
  ungroup() %>%
  mutate(item_text = Hmisc::capitalize(str_remove_all(item_text, 
            "During the last hour, "))) %>%
  gather(est, value, M, SD) %>%
  unite(tmp, wave, est, sep = ".") %>%
  spread(tmp, value) %>%
  kable(., "html", escape = F, booktabs = T, digits = 2,
        col.names = c("Variable Name", "Item Text", rep(c("M", "SD"), times = 2)),
        caption = "Item Text and Descriptive Statistics of ESM Items for Waves 1 and 2",
        align = c("l", "r", rep("c", 4))) %>%
  kable_styling(full_width = F) %>%
  add_header_above(c(" " = 2, "Wave 1" = 2, "Wave 2" = 2))
Item Text and Descriptive Statistics of ESM Items for Waves 1 and 2
Wave 1
Wave 2
Variable Name Item Text M SD M SD
A_kind How ‘considerate, kind’ were you? 3.42 0.60 3.37 0.63
A_rude How rude were you? 1.46 0.37 1.51 0.40
C_lazy How lazy were you? 2.48 0.53 2.40 0.56
C_reliable How reliable were you? 3.69 0.56 3.69 0.55
E_outgoing How ‘outgoing, sociable’ were you? 2.79 0.50 2.66 0.52
E_quiet How quiet were you? 3.23 0.44 3.34 0.45
N_depressed Did you feel ‘depressed, blue’? 1.64 0.53 1.60 0.48
N_relaxed How relaxed were you? 3.44 0.49 3.33 0.49
N_worried How worried were you? 2.27 0.60 2.31 0.59

Question 1: Idiographic Network Structure

Although mlVAR includes both population and subject level effects, it represents subject level effects as deviations from population effects rather than exmaning unique subject-level patterns. To assess such unique effects, below we construct individual networks for all subjects at each wave.

Run Models

For idiographic networks, we estimate a Gaussian graphical model (GGM) variation of the vector autoregressive model (VAR), which estimates a partial correlation network in which correlations represent the correlation between variables after conditioning on all other variables. These models are regularized using a variant of the least absolute shrinkage and selection operator (LASSO), graphical LASSO (glasso). In addition, glasso includes a tuning parameter that can be set to control the sparsity of the network. Different values of the parameter can be chosen to optimize prediction accuracy to minimize an information criterion, such as the Bayesian information criterion (BIC) or the extended BIC (EBIC; Chen & Chen, 2008).

Note that a few subjects are manually removed below because the graphicalVAR function is still developmental and crashes R when run on their data.

load(url(sprintf("%s/blob/master/results/graphicalVAR_allvariations.RData?raw=true", res_path)))
# save those subjects to a vector
gVAR_fun <- function(sid, Wave, lambda_scale){
  gamma <- 0
  x <- all_dat %>% filter(SID == sid & wave == Wave) %>% select(A_rude:N_worried)
  n <- nrow(x)
  print(sprintf("%s Wave %s %s", sid, Wave, lambda_scale))
  if(!lambda_scale %in% c("association", "mlVAR_EB")){
    if(lambda_scale == ".25"){lambda <- seq(.025, .25, .025)}
    else if(lambda_scale == ".5"){lambda <- seq(.025, .5, .025)}
    else if(lambda_scale == "unregularized"){lambda = 0}
    else{lambda <- n * .01}
    fit <-
      graphicalVAR(x, gamma = gamma, maxit.in = 1000, maxit.out = 1000,
                        lambda_beta = lambda, lambda_kappa = lambda,
                        verbose = T, scale = F, centerWithin = F)
  } else if (lambda_scale == "association"){
    x_lag <- x %>% mutate_all(funs(lag = lag))
    CC <- cor(x, use = "pairwise")
    DC <- cor(x_lag[,10:18], x_lag[,1:9], use = "pairwise")
    rownames(DC) <- colnames(DC)
    fit <- list(PDC = DC, PCC = CC)
  } else {
    model <- switch(as.numeric(Wave), fit1_w1, fit1_w2)
    sub <- which(model$IDs == sid)
    PDC <- model$results$Beta$subject[[sub]][,,1]
    PCC <- model$results$Theta$pcor$subject[[sub]]
    fit <- list(PDC = PDC, PCC = PCC)
  }
  return(fit)
}

all_dat <- w1 %>% full_join(w2) %>%
  arrange(wave, SID)

gVAR_fit1 <- crossing(
    SID = unique(w1$SID),
    wave = 1,
    lambda_scale = c(".5", ".25", "unregularized", "scaled", "association", "mlVAR_EB")
  ) %>%
full_join(
crossing(
    SID = unique(w2$SID),
    wave = 2,
    lambda_scale = c(".5", ".25", "unregularized", "scaled", "association", "mlVAR_EB")
  )
) %>%
  arrange(SID, wave, lambda_scale) %>%
  filter(!(wave == "2" & SID %in% c("89078", "65365", "20054")) &
         !(wave == "1" & SID %in% c("34960", "27127", "47525"))) %>%
  filter(lambda_scale == "association") %>%
  mutate(gVAR_fit = pmap(list(SID, wave, lambda_scale), possibly(gVAR_fun, NA_real_)))
  
# save(gVAR_fit, file = sprintf("%s/results/graphicalVAR_allVariations.RData", res_path))

GIMME

First, we have to create individual files for each subject, per the procedure to run GIMME.

dir.create(sprintf("%s/results/GIMME", res_path))
dir.create(sprintf("%s/results/GIMME/wave_1_data", res_path))
dir.create(sprintf("%s/results/GIMME/wave_2_data", res_path))

jitter_fun <- function(df){
  u_fun <- function(x){if(length(unique(x)) == 1 | (length(unique(x)) == 2 & any(table(x) < 2))) jitter(x, amount = runif(1,0,.05)) else x}
  df2 <- data.frame(apply(df, 2, u_fun))
  colnames(df2) <- colnames(df2)
  return(df2)
}

# Create separate files for each individual 
write_file_fun <- function(x, sid, Wave){
  x <- x %>% select(A_rude:N_worried)
  write.csv(x, file = sprintf("%s/results/GIMME/wave_%s_data/%s.csv", res_path, Wave, sid), row.names = F)
}

w1 %>% full_join(w2) %>% 
  group_by(SID, wave) %>% 
  nest() %>% 
  filter(!(SID %in% c(1996, 1119, 2650, 28690, 42243, 43460,
                     52374, 56105, 60148, 60311, 8608, 10981,
                     94389, 77407, 76636, 59057, 38258, 42816,
                     81362, 85239, 95555) & wave == 1) | 
           !(SID %in% c(17656, 29431, 40883, 4481, 50556,
                        60759, 6777, 76636, 77453, 79375,
                        85741) & wave == 2)) %>%
  mutate(data = map(data, jitter_fun), 
         write = pmap(list(data, SID, wave), write_file_fun))

Now, we can run the procedure. The results have to be saved to files in a separate directory.

# create results folders
dir.create(sprintf("%s/results/GIMME/wave_1_results", res_path))
dir.create(sprintf("%s/results/GIMME/wave_2_results", res_path))
gimme_w1 <- gimme(         # can use "gimme" or "gimmeSEM"
  data = sprintf("%s/results/GIMME/wave_1_data", res_path),  # source directory where your data are 
  out = sprintf("%s/results/GIMME/wave_1_results", res_path),# output directory where you'd like your output to go
  sep = ",",           # how data are separated. "" for space; "," for comma, "/t" for tab-delimited
  header = TRUE,          # TRUE or FALSE, is there a header
  ar = TRUE,          # TRUE (default) or FALSE, start with autoregressive paths open
  plot = TRUE,        # TRUE (default) or FALSE, generate plots
  subgroup = FALSE,   # TRUE or FALSE (default), cluster individuals based on similarities in effects
  paths = NULL,       # option to list paths that will be group-level (semi-confirmatory)
  groupcutoff = .75,  # the proportion that is considered the majority at the group level
  subcutoff = .5      # the proportion that is considered the majority at the subgroup level
)     

gimme_w2 <- gimme(         # can use "gimme" or "gimmeSEM"
  data = sprintf("%s/results/GIMME/wave_2_data", res_path),  # source directory where your data are 
  out = sprintf("%s/results/GIMME/wave_2_results", res_path),# output directory where you'd like your output to go
  sep = ",",           # how data are separated. "" for space; "," for comma, "/t" for tab-delimited
  header = TRUE,          # TRUE or FALSE, is there a header
  ar = TRUE,          # TRUE (default) or FALSE, start with autoregressive paths open
  plot = TRUE,        # TRUE (default) or FALSE, generate plots
  subgroup = FALSE,   # TRUE or FALSE (default), cluster individuals based on similarities in effects
  paths = NULL,       # option to list paths that will be group-level (semi-confirmatory)
  groupcutoff = .75,  # the proportion that is considered the majority at the group level
  subcutoff = .5      # the proportion that is considered the majority at the subgroup level
)     
load(url(sprintf("%s/blob/master/results/gimme.RData?raw=true", res_path)))

gimme_fun <- function(fit){
  PCC <- fit[,!grepl("lag", colnames(fit))]
  PCC <- apply(simplify2array(list(PCC, t(PCC))), 1:2, mean)
  diag(PCC) <- 1
  fit <- list(PDC = fit[,grepl("lag", colnames(fit))],
              PCC = PCC)
  colnames(fit$PDC) <- colnames(fit$PCC)
  fit
}

gVAR_fit <- gVAR_fit %>%
  bind_rows(
  tibble(SID = as.numeric(names(gimme_w1$path_est_mats)), 
       gVAR_fit = gimme_w1$path_est_mats, 
       wave = 1) %>%
  bind_rows(tibble(
       SID = as.numeric(names(gimme_w2$path_est_mats)), 
       gVAR_fit = gimme_w2$path_est_mats,
       wave = 2)) %>%
  mutate(lambda_scale = "gimme",
         gVAR_fit = map(gVAR_fit, gimme_fun))
  )

Edge Weights: What Is the Structure of Idiographic Personality Networks?

# short function for extracting lagged results and saving to a long format df
temp_fun <- function(fit, SID){
  PDC <- fit$PDC
  from <- row.names(PDC)
  PDC.long <- tbl_df(PDC) %>%
    mutate(from = from, type = "Lagged") %>%
    gather(key = to, value = weight, A_rude:N_worried)
}

# short fun for extracting contemporaneous matrix
contemp_mat_fun <- function(fit){fit$PCC}

# short fun for extracting contemporaneous results and saving to long format df
contemp_long_fun <- function(fit){
  PCC <- fit$PCC
  PCC <- PCC[,order(colnames(PCC))]
  PCC <- PCC[order(rownames(PCC)),]
  PCC[lower.tri(PCC, diag = T)] <- NA
  vars <- rownames(PCC)
  PCC.long <- tbl_df(PCC) %>%
    mutate(Var1 = vars,
           type = "Contemporaneous") %>%
    gather(key = Var2, value = weight, A_kind:N_worried) %>%
    filter(!is.na(weight)) %>%
    unite(var, Var1, Var2, sep = ".", remove = F)
}

Cross-Sample Distributions and Descriptives

Lagged

# load idiographic networks #
load(url(sprintf("%s/raw/master/results/graphicalVAR_allvariations.RData?raw=true", res_path)))

# run functions for extraction
gVAR_fit <- gVAR_fit %>%
  filter(!is.na(gVAR_fit)) %>%
  mutate(temp = map2(gVAR_fit, SID, possibly(temp_fun, NA_real_)),
         contemp_mat = map(gVAR_fit, possibly(contemp_mat_fun, NA_real_)),
         contemp = map(gVAR_fit, possibly(contemp_long_fun, NA_real_)))

# Lagged: Partial Directed Correlations
temp_long <- gVAR_fit %>%
  unnest(temp, .drop = T) %>%
  mutate(type = "Lagged")

# grab and print averages
temp_long %>%
  group_by(wave, lambda_scale, from, to) %>%
  summarise_at(vars(weight), funs(M = fisherz2r(mean(fisherz(.), na.rm = T)), 
                             sd(., na.rm = T), kurtosi, skew)) %>%
  gather(est, value, M:skew) %>%
  unite(tmp, wave, est, sep = ".") %>%
  # arrange(desc(r)) %>%
  spread(key = tmp, value = value) %>%
  kable(., "html", booktabs = T, longtable = T, digits = 2,
        caption = "Descriptives of Lagged Edge Weights",
        col.names = c("Network Type", "From", "To", rep(c("Kurtosi", "M", "SD", "Skew"),2))) %>%
  kable_styling(bootstrap_options = c("striped"),full_width = T) %>%
  add_header_above(c(" " = 3, "Wave 1" = 4, "Wave 2" = 4)) %>%
  scroll_box(width = "750px", height = "400px")
Descriptives of Lagged Edge Weights
Wave 1
Wave 2
Network Type From To Kurtosi M SD Skew Kurtosi M SD Skew
.25 A_kind A_kind 10.97 -0.01 0.16 0.05 7.06 -0.02 0.16 -1.90
.25 A_kind A_rude 9.43 0.06 0.21 0.88 7.28 0.07 0.23 -0.02
.25 A_kind C_lazy 17.73 0.00 0.16 0.00 10.65 0.10 0.20 2.77
.25 A_kind C_reliable 15.79 0.02 0.15 1.90 8.49 -0.02 0.22 0.08
.25 A_kind E_outgoing 19.21 -0.07 0.17 -2.04 11.56 -0.04 0.19 -2.23
.25 A_kind E_quiet 18.10 0.01 0.16 0.72 14.50 0.07 0.16 2.89
.25 A_kind N_depressed 10.28 -0.04 0.20 -1.08 6.18 0.05 0.27 0.21
.25 A_kind N_relaxed 21.55 -0.01 0.15 -0.47 12.57 -0.06 0.20 0.08
.25 A_kind N_worried 16.96 0.02 0.17 0.87 11.67 0.03 0.19 0.50
.25 A_rude A_kind 14.13 -0.01 0.14 0.00 9.41 0.02 0.20 0.26
.25 A_rude A_rude 8.93 -0.01 0.16 -0.44 9.07 0.00 0.20 0.02
.25 A_rude C_lazy 24.70 0.00 0.13 -0.27 10.81 -0.02 0.20 -0.61
.25 A_rude C_reliable 26.44 0.00 0.13 -0.71 11.74 0.02 0.17 1.60
.25 A_rude E_outgoing 43.35 0.01 0.12 1.28 15.79 0.02 0.18 0.77
.25 A_rude E_quiet 26.39 0.00 0.13 0.60 18.68 0.01 0.13 1.27
.25 A_rude N_depressed 17.19 0.01 0.15 0.47 13.10 0.05 0.19 1.38
.25 A_rude N_relaxed 19.67 -0.01 0.09 -0.19 18.62 -0.02 0.17 -0.53
.25 A_rude N_worried 27.26 0.00 0.13 -0.64 14.50 -0.09 0.18 -1.62
.25 C_lazy A_kind 11.34 0.04 0.18 1.59 11.32 -0.02 0.21 -1.03
.25 C_lazy A_rude 7.33 -0.08 0.22 -0.54 6.96 0.02 0.24 1.11
.25 C_lazy C_lazy 13.66 0.01 0.13 0.98 9.74 0.00 0.17 -0.65
.25 C_lazy C_reliable 15.01 0.03 0.15 1.11 6.99 0.00 0.20 0.50
.25 C_lazy E_outgoing 17.46 0.06 0.17 2.04 13.40 0.00 0.19 0.13
.25 C_lazy E_quiet 21.76 -0.04 0.15 -1.26 14.97 -0.03 0.18 -1.73
.25 C_lazy N_depressed 8.62 0.03 0.20 0.63 7.99 0.02 0.24 0.39
.25 C_lazy N_relaxed 14.59 0.02 0.16 0.51 10.68 0.00 0.22 -0.14
.25 C_lazy N_worried 13.40 -0.02 0.18 -0.91 9.30 0.16 0.22 1.64
.25 C_reliable A_kind 9.06 0.02 0.17 0.75 11.53 -0.01 0.20 -0.87
.25 C_reliable A_rude 8.17 0.00 0.21 -0.68 9.20 -0.10 0.21 -2.19
.25 C_reliable C_lazy 16.25 0.00 0.14 0.23 8.47 -0.05 0.21 -1.68
.25 C_reliable C_reliable 11.21 0.00 0.15 -0.34 6.41 0.01 0.21 0.24
.25 C_reliable E_outgoing 19.68 0.01 0.16 -0.91 24.97 -0.01 0.14 -1.04
.25 C_reliable E_quiet 17.47 0.00 0.15 0.66 19.28 -0.02 0.16 -0.93
.25 C_reliable N_depressed 11.32 -0.03 0.19 0.05 9.42 -0.01 0.21 0.84
.25 C_reliable N_relaxed 15.98 0.03 0.14 1.51 14.33 0.09 0.21 0.90
.25 C_reliable N_worried 11.02 -0.02 0.16 -1.34 11.87 -0.13 0.22 -0.17
.25 E_outgoing A_kind 10.65 0.02 0.17 0.47 8.15 0.06 0.21 0.87
.25 E_outgoing A_rude 6.49 -0.10 0.22 -0.84 5.71 -0.08 0.24 -0.08
.25 E_outgoing C_lazy 17.95 0.00 0.15 0.37 10.54 0.00 0.22 -0.46
.25 E_outgoing C_reliable 13.46 -0.02 0.16 -1.65 6.96 -0.05 0.23 -0.61
.25 E_outgoing E_outgoing 15.32 0.02 0.15 1.34 14.05 0.00 0.17 -0.97
.25 E_outgoing E_quiet 17.73 -0.01 0.14 -0.89 19.38 0.00 0.17 -0.72
.25 E_outgoing N_depressed 10.90 -0.02 0.18 0.24 6.70 0.19 0.25 1.16
.25 E_outgoing N_relaxed 13.44 0.00 0.16 0.09 9.21 0.04 0.21 0.72
.25 E_outgoing N_worried 10.55 0.01 0.17 1.09 7.97 0.17 0.24 0.18
.25 E_quiet A_kind 8.93 0.02 0.18 0.70 12.26 -0.01 0.19 0.92
.25 E_quiet A_rude 8.54 -0.07 0.20 -0.83 5.93 0.03 0.25 0.42
.25 E_quiet C_lazy 14.52 0.00 0.15 -0.31 8.66 0.04 0.24 0.25
.25 E_quiet C_reliable 15.59 -0.01 0.16 -1.60 7.30 -0.01 0.24 0.12
.25 E_quiet E_outgoing 20.94 0.04 0.16 2.23 11.70 0.02 0.19 0.92
.25 E_quiet E_quiet 15.35 -0.02 0.14 -1.79 12.04 -0.01 0.16 -2.09
.25 E_quiet N_depressed 13.37 0.00 0.18 1.20 6.54 0.10 0.26 0.55
.25 E_quiet N_relaxed 12.15 0.02 0.14 1.73 13.00 0.03 0.21 1.73
.25 E_quiet N_worried 10.11 0.03 0.17 1.88 8.83 0.18 0.23 0.88
.25 N_depressed A_kind 15.86 0.00 0.17 0.59 12.83 0.00 0.15 1.13
.25 N_depressed A_rude 8.05 0.05 0.22 0.46 11.50 0.01 0.19 -0.26
.25 N_depressed C_lazy 17.24 -0.01 0.15 -1.79 12.17 -0.02 0.18 -1.25
.25 N_depressed C_reliable 18.39 -0.01 0.15 -0.83 9.42 0.03 0.16 0.57
.25 N_depressed E_outgoing 22.08 -0.01 0.15 -1.26 17.25 0.03 0.16 2.16
.25 N_depressed E_quiet 19.70 0.01 0.13 0.98 22.39 -0.02 0.14 -3.48
.25 N_depressed N_depressed 8.45 0.01 0.18 -1.52 7.00 0.04 0.21 0.85
.25 N_depressed N_relaxed 20.40 -0.02 0.13 -1.11 19.84 -0.04 0.13 -2.84
.25 N_depressed N_worried 21.49 0.03 0.13 2.38 18.26 -0.09 0.15 -1.68
.25 N_relaxed A_kind 12.88 -0.01 0.19 0.10 7.37 0.02 0.21 0.56
.25 N_relaxed A_rude 6.47 -0.09 0.24 -0.69 6.48 0.05 0.22 0.45
.25 N_relaxed C_lazy 14.44 0.02 0.16 -0.09 9.22 -0.02 0.21 -0.73
.25 N_relaxed C_reliable 12.69 0.01 0.18 0.37 9.36 0.03 0.21 0.22
.25 N_relaxed E_outgoing 18.76 -0.02 0.17 -0.42 12.12 0.02 0.20 1.72
.25 N_relaxed E_quiet 16.30 0.00 0.16 -0.81 15.27 0.02 0.17 0.25
.25 N_relaxed N_depressed 7.48 -0.04 0.21 -0.27 7.93 0.08 0.24 1.62
.25 N_relaxed N_relaxed 11.97 0.00 0.14 0.50 11.45 -0.04 0.17 -2.41
.25 N_relaxed N_worried 12.10 -0.01 0.16 0.77 9.23 -0.07 0.21 0.54
.25 N_worried A_kind 13.59 0.00 0.17 1.12 7.07 0.06 0.20 1.65
.25 N_worried A_rude 7.65 0.02 0.21 -0.57 7.07 0.01 0.23 -0.05
.25 N_worried C_lazy 12.12 -0.01 0.17 -0.08 9.86 0.03 0.22 0.78
.25 N_worried C_reliable 16.29 0.00 0.17 1.01 9.71 -0.02 0.20 -0.09
.25 N_worried E_outgoing 21.97 -0.05 0.16 -1.36 9.96 -0.02 0.21 -0.24
.25 N_worried E_quiet 18.52 0.03 0.16 1.55 21.13 0.06 0.16 3.98
.25 N_worried N_depressed 10.52 0.01 0.19 0.48 7.48 0.07 0.23 0.86
.25 N_worried N_relaxed 13.94 -0.04 0.16 -0.81 9.89 -0.07 0.19 -1.83
.25 N_worried N_worried 8.91 0.03 0.15 0.94 7.03 0.05 0.19 -0.02
.5 A_kind A_kind 14.45 -0.01 0.15 0.06 8.57 -0.03 0.15 -2.08
.5 A_kind A_rude 11.69 0.06 0.20 1.04 8.93 0.07 0.22 0.12
.5 A_kind C_lazy 20.20 0.00 0.15 0.10 11.34 0.10 0.20 2.87
.5 A_kind C_reliable 18.06 0.02 0.15 2.05 8.65 -0.02 0.21 0.11
.5 A_kind E_outgoing 21.57 -0.07 0.16 -2.48 11.68 -0.04 0.19 -2.23
.5 A_kind E_quiet 19.48 0.01 0.16 0.79 14.73 0.07 0.16 2.92
.5 A_kind N_depressed 11.42 -0.03 0.20 -1.23 7.42 0.05 0.25 0.46
.5 A_kind N_relaxed 24.75 -0.01 0.14 -0.45 14.39 -0.05 0.18 0.73
.5 A_kind N_worried 18.87 0.01 0.16 1.02 12.23 0.03 0.19 0.50
.5 A_rude A_kind 16.29 0.00 0.13 0.02 9.90 0.03 0.18 1.28
.5 A_rude A_rude 11.44 -0.01 0.16 -0.54 10.55 0.00 0.19 0.72
.5 A_rude C_lazy 25.29 0.00 0.13 -0.29 12.29 -0.01 0.19 -0.15
.5 A_rude C_reliable 30.67 0.00 0.13 -0.68 11.81 0.01 0.15 1.01
.5 A_rude E_outgoing 44.52 0.01 0.12 1.32 15.92 0.02 0.18 0.81
.5 A_rude E_quiet 26.77 0.00 0.13 0.62 18.54 0.01 0.13 1.26
.5 A_rude N_depressed 18.89 0.01 0.14 0.25 15.60 0.01 0.16 0.91
.5 A_rude N_relaxed 24.20 -0.01 0.09 -0.19 20.99 0.00 0.14 1.10
.5 A_rude N_worried 31.57 0.00 0.12 -0.53 16.35 -0.09 0.17 -1.70
.5 C_lazy A_kind 15.59 0.04 0.17 2.03 17.15 -0.05 0.18 -2.87
.5 C_lazy A_rude 10.43 -0.08 0.20 -0.74 9.38 0.02 0.22 1.18
.5 C_lazy C_lazy 20.86 0.00 0.12 1.49 12.14 0.00 0.16 -0.60
.5 C_lazy C_reliable 22.64 0.04 0.13 1.54 7.75 -0.01 0.18 -0.13
.5 C_lazy E_outgoing 20.47 0.07 0.17 2.30 13.80 0.00 0.19 0.11
.5 C_lazy E_quiet 25.95 -0.04 0.14 -1.53 16.11 -0.03 0.18 -1.85
.5 C_lazy N_depressed 10.76 0.02 0.19 0.57 9.99 -0.01 0.21 0.00
.5 C_lazy N_relaxed 20.42 0.02 0.15 0.68 12.39 0.03 0.20 0.47
.5 C_lazy N_worried 17.95 -0.02 0.17 -1.18 11.79 0.12 0.20 1.52
.5 C_reliable A_kind 13.09 0.01 0.16 1.10 12.95 -0.04 0.18 -2.24
.5 C_reliable A_rude 11.16 0.00 0.20 -0.83 10.40 -0.10 0.20 -2.34
.5 C_reliable C_lazy 19.22 0.01 0.13 0.20 9.60 -0.05 0.21 -1.85
.5 C_reliable C_reliable 14.65 0.00 0.14 -0.43 7.76 0.00 0.20 0.16
.5 C_reliable E_outgoing 21.22 0.01 0.15 -0.94 25.40 -0.01 0.14 -1.06
.5 C_reliable E_quiet 19.54 0.00 0.14 0.67 19.24 -0.02 0.17 -0.92
.5 C_reliable N_depressed 13.07 -0.03 0.18 0.04 12.36 -0.04 0.18 0.26
.5 C_reliable N_relaxed 20.27 0.02 0.13 1.65 18.01 0.06 0.19 0.42
.5 C_reliable N_worried 14.32 -0.02 0.15 -1.75 14.26 -0.15 0.20 -0.92
.5 E_outgoing A_kind 14.93 0.01 0.15 0.66 11.97 0.01 0.17 0.05
.5 E_outgoing A_rude 8.32 -0.09 0.21 -1.09 6.90 -0.13 0.22 -0.56
.5 E_outgoing C_lazy 23.55 0.00 0.14 0.48 11.72 -0.05 0.20 -1.30
.5 E_outgoing C_reliable 15.43 -0.02 0.16 -1.87 8.00 0.00 0.20 -0.17
.5 E_outgoing E_outgoing 17.04 0.01 0.15 1.51 16.71 0.00 0.17 -1.06
.5 E_outgoing E_quiet 19.30 -0.01 0.14 -0.85 21.62 0.00 0.17 -0.77
.5 E_outgoing N_depressed 13.25 -0.02 0.17 0.38 8.18 0.11 0.23 1.04
.5 E_outgoing N_relaxed 16.38 0.00 0.15 0.09 9.93 0.10 0.18 2.05
.5 E_outgoing N_worried 13.52 0.01 0.15 0.90 9.60 0.11 0.22 -0.27
.5 E_quiet A_kind 12.75 0.02 0.17 0.92 17.35 0.05 0.16 3.11
.5 E_quiet A_rude 11.16 -0.07 0.19 -1.11 7.29 -0.01 0.23 0.23
.5 E_quiet C_lazy 17.79 0.00 0.15 -0.25 10.21 0.00 0.23 -0.15
.5 E_quiet C_reliable 20.80 -0.01 0.15 -2.08 8.40 0.03 0.22 0.74
.5 E_quiet E_outgoing 23.65 0.04 0.15 2.48 12.31 0.02 0.19 0.93
.5 E_quiet E_quiet 17.28 -0.02 0.14 -1.93 14.46 -0.01 0.15 -2.43
.5 E_quiet N_depressed 15.66 0.00 0.17 1.40 8.10 0.01 0.24 0.32
.5 E_quiet N_relaxed 17.40 0.02 0.13 2.24 16.69 0.10 0.18 3.49
.5 E_quiet N_worried 13.53 0.03 0.15 2.34 9.96 0.12 0.22 0.56
.5 N_depressed A_kind 18.08 0.00 0.16 0.60 14.98 0.00 0.14 1.29
.5 N_depressed A_rude 9.77 0.05 0.21 0.40 13.55 0.01 0.18 -0.22
.5 N_depressed C_lazy 19.25 -0.02 0.15 -2.16 12.24 -0.01 0.18 -1.27
.5 N_depressed C_reliable 25.73 -0.01 0.14 -1.02 10.16 0.02 0.16 0.59
.5 N_depressed E_outgoing 23.37 -0.01 0.15 -1.37 18.08 0.03 0.16 2.23
.5 N_depressed E_quiet 20.56 0.01 0.13 1.03 22.97 -0.02 0.14 -3.54
.5 N_depressed N_depressed 11.33 -0.01 0.16 -1.86 9.02 0.02 0.20 1.03
.5 N_depressed N_relaxed 23.62 -0.01 0.13 -1.12 22.31 -0.04 0.13 -2.99
.5 N_depressed N_worried 25.28 0.02 0.13 2.68 19.23 -0.09 0.15 -1.69
.5 N_relaxed A_kind 17.10 0.00 0.18 0.17 9.52 0.01 0.20 0.65
.5 N_relaxed A_rude 8.04 -0.09 0.23 -0.80 8.19 0.04 0.21 0.58
.5 N_relaxed C_lazy 17.00 0.01 0.15 -0.08 10.08 -0.02 0.21 -0.72
.5 N_relaxed C_reliable 17.62 0.00 0.16 0.41 9.59 0.03 0.21 0.28
.5 N_relaxed E_outgoing 19.53 -0.02 0.17 -0.42 12.81 0.02 0.20 1.79
.5 N_relaxed E_quiet 18.10 -0.01 0.15 -0.89 16.10 0.02 0.17 0.25
.5 N_relaxed N_depressed 8.72 -0.03 0.20 -0.30 10.18 0.08 0.22 1.89
.5 N_relaxed N_relaxed 14.29 0.00 0.13 0.56 13.23 -0.04 0.16 -2.69
.5 N_relaxed N_worried 15.22 0.00 0.15 0.97 10.38 -0.07 0.21 0.54
.5 N_worried A_kind 20.35 0.00 0.15 1.51 12.14 0.05 0.17 1.95
.5 N_worried A_rude 9.97 0.01 0.20 -0.63 8.38 0.01 0.22 -0.01
.5 N_worried C_lazy 15.07 0.00 0.16 0.02 10.30 0.03 0.21 0.81
.5 N_worried C_reliable 20.60 0.00 0.16 1.13 10.38 -0.02 0.20 -0.12
.5 N_worried E_outgoing 23.08 -0.05 0.16 -1.41 10.22 -0.02 0.20 -0.24
.5 N_worried E_quiet 20.28 0.03 0.16 1.77 21.37 0.06 0.16 4.03
.5 N_worried N_depressed 12.84 0.01 0.18 0.67 9.03 0.10 0.20 2.02
.5 N_worried N_relaxed 18.88 -0.03 0.15 -1.06 14.47 -0.07 0.17 -2.86
.5 N_worried N_worried 13.43 0.01 0.14 1.46 8.82 0.02 0.19 0.25
association A_kind A_kind -0.08 0.02 0.22 -0.32 0.70 0.03 0.22 -0.49
association A_kind A_rude 0.43 -0.01 0.21 -0.25 1.34 -0.02 0.24 -0.26
association A_kind C_lazy 0.45 0.00 0.22 -0.08 1.11 0.02 0.19 -0.36
association A_kind C_reliable 0.11 0.01 0.21 0.07 0.55 0.03 0.20 -0.29
association A_kind E_outgoing 0.56 -0.02 0.22 -0.11 0.08 -0.01 0.23 -0.55
association A_kind E_quiet -0.03 0.01 0.21 0.19 0.59 0.02 0.24 0.10
association A_kind N_depressed 0.79 -0.02 0.22 -0.18 -0.09 -0.02 0.21 0.10
association A_kind N_relaxed 0.08 0.00 0.22 -0.15 0.77 0.03 0.21 -0.22
association A_kind N_worried 0.31 0.01 0.21 0.50 0.54 -0.06 0.22 -0.13
association A_rude A_kind 0.26 -0.01 0.21 -0.10 0.74 0.01 0.21 0.19
association A_rude A_rude 0.66 0.00 0.21 0.14 1.66 0.02 0.20 0.36
association A_rude C_lazy 0.14 0.00 0.21 0.18 0.32 0.03 0.20 -0.15
association A_rude C_reliable 0.61 -0.02 0.21 -0.06 0.83 0.01 0.20 0.47
association A_rude E_outgoing 0.54 -0.01 0.21 -0.12 0.52 -0.01 0.19 0.12
association A_rude E_quiet 0.16 0.00 0.20 -0.08 -0.44 0.01 0.19 0.00
association A_rude N_depressed 0.74 0.04 0.20 0.26 0.38 0.01 0.18 0.41
association A_rude N_relaxed 0.07 -0.05 0.21 -0.18 -0.39 -0.03 0.20 -0.21
association A_rude N_worried 0.05 0.04 0.21 0.23 2.22 0.07 0.21 0.48
association C_lazy A_kind 0.58 0.00 0.20 -0.02 0.53 0.00 0.23 -0.07
association C_lazy A_rude 0.65 0.00 0.21 0.05 0.70 0.05 0.21 0.01
association C_lazy C_lazy 0.01 0.04 0.21 -0.12 0.19 0.02 0.23 -0.03
association C_lazy C_reliable 0.25 -0.02 0.21 0.21 0.38 -0.03 0.24 0.37
association C_lazy E_outgoing 0.46 -0.01 0.21 0.14 0.20 0.00 0.20 -0.04
association C_lazy E_quiet 0.10 0.02 0.20 -0.14 0.68 -0.01 0.20 -0.28
association C_lazy N_depressed 0.18 0.01 0.22 0.15 0.09 0.01 0.22 0.33
association C_lazy N_relaxed 0.07 0.00 0.22 -0.01 0.91 0.00 0.19 -0.26
association C_lazy N_worried 0.04 0.00 0.21 0.16 0.25 0.00 0.21 0.03
association C_reliable A_kind 0.31 0.01 0.22 -0.37 1.50 -0.01 0.24 -0.19
association C_reliable A_rude -0.13 -0.02 0.21 -0.14 2.61 -0.04 0.22 -0.46
association C_reliable C_lazy 0.31 0.00 0.21 -0.03 0.27 0.00 0.22 -0.09
association C_reliable C_reliable 0.68 0.03 0.21 -0.08 0.70 0.05 0.22 -0.21
association C_reliable E_outgoing 0.40 -0.01 0.21 -0.12 1.03 0.02 0.21 -0.46
association C_reliable E_quiet -0.43 0.00 0.20 0.13 1.23 -0.01 0.20 -0.25
association C_reliable N_depressed -0.15 -0.02 0.21 -0.13 0.30 -0.03 0.21 0.26
association C_reliable N_relaxed 0.55 0.01 0.22 0.01 -0.23 0.04 0.20 0.21
association C_reliable N_worried 0.38 -0.02 0.21 -0.09 -0.16 -0.04 0.22 0.06
association E_outgoing A_kind 0.23 0.03 0.21 -0.12 -0.19 0.01 0.22 -0.13
association E_outgoing A_rude 0.38 -0.01 0.22 0.07 0.97 -0.01 0.21 0.38
association E_outgoing C_lazy 0.01 0.02 0.20 -0.03 1.08 0.04 0.20 -0.51
association E_outgoing C_reliable 0.29 0.00 0.22 -0.22 0.25 0.00 0.22 0.11
association E_outgoing E_outgoing 0.19 0.02 0.21 -0.06 0.57 0.00 0.20 -0.36
association E_outgoing E_quiet 0.41 -0.02 0.20 0.00 0.95 -0.01 0.19 0.79
association E_outgoing N_depressed 0.34 -0.04 0.20 0.11 0.33 -0.01 0.22 0.49
association E_outgoing N_relaxed 1.03 0.03 0.22 -0.32 0.47 0.04 0.21 -0.15
association E_outgoing N_worried 0.63 -0.05 0.23 0.21 0.13 -0.05 0.21 0.31
association E_quiet A_kind 0.30 0.00 0.21 0.22 0.55 -0.01 0.22 -0.06
association E_quiet A_rude 0.31 0.01 0.22 -0.14 0.22 -0.01 0.21 -0.20
association E_quiet C_lazy 0.08 -0.02 0.22 -0.12 0.62 -0.02 0.21 0.14
association E_quiet C_reliable 0.36 0.00 0.22 0.21 0.78 0.00 0.20 0.38
association E_quiet E_outgoing 0.35 -0.01 0.21 0.26 1.65 0.00 0.18 0.73
association E_quiet E_quiet 0.15 0.00 0.20 -0.01 0.16 0.02 0.20 -0.23
association E_quiet N_depressed 0.95 0.02 0.21 -0.64 -0.06 -0.01 0.22 -0.48
association E_quiet N_relaxed 0.89 -0.01 0.22 0.28 0.34 -0.02 0.22 0.25
association E_quiet N_worried 0.40 0.04 0.22 -0.22 0.54 0.04 0.20 -0.29
association N_depressed A_kind 0.79 0.00 0.21 0.16 0.54 -0.02 0.22 0.08
association N_depressed A_rude 1.45 0.00 0.22 0.67 2.95 0.01 0.22 1.00
association N_depressed C_lazy 0.59 0.00 0.22 0.06 0.70 -0.02 0.20 0.10
association N_depressed C_reliable 1.16 -0.02 0.22 0.13 0.19 -0.02 0.21 0.27
association N_depressed E_outgoing 0.24 -0.01 0.22 0.14 0.84 -0.01 0.22 0.47
association N_depressed E_quiet 0.47 0.02 0.22 -0.27 0.95 0.02 0.22 -0.16
association N_depressed N_depressed -0.25 0.10 0.24 0.13 0.22 0.12 0.24 0.34
association N_depressed N_relaxed 0.47 -0.05 0.21 0.28 0.30 -0.09 0.21 0.09
association N_depressed N_worried -0.60 0.08 0.23 -0.10 -0.39 0.07 0.21 0.00
association N_relaxed A_kind 0.07 0.03 0.21 0.01 0.11 0.01 0.22 -0.47
association N_relaxed A_rude 0.06 -0.01 0.21 -0.07 0.65 0.02 0.22 0.29
association N_relaxed C_lazy 0.44 0.06 0.21 0.07 0.63 0.04 0.21 0.30
association N_relaxed C_reliable 0.39 0.01 0.22 -0.10 0.30 0.02 0.20 -0.10
association N_relaxed E_outgoing 0.44 0.03 0.21 -0.12 2.35 0.01 0.22 -0.52
association N_relaxed E_quiet 0.77 -0.04 0.20 0.25 0.58 0.00 0.23 0.26
association N_relaxed N_depressed -0.10 -0.09 0.21 0.15 -0.13 -0.05 0.21 0.34
association N_relaxed N_relaxed -0.29 0.08 0.22 -0.13 0.12 0.06 0.20 -0.23
association N_relaxed N_worried 0.60 -0.12 0.21 0.36 -0.10 -0.06 0.21 0.39
association N_worried A_kind 0.57 -0.03 0.22 0.23 -0.02 -0.04 0.22 0.25
association N_worried A_rude 0.21 0.00 0.22 0.01 -0.02 0.02 0.22 -0.04
association N_worried C_lazy 0.33 -0.06 0.22 -0.06 -0.10 -0.03 0.21 0.10
association N_worried C_reliable 0.96 -0.01 0.21 0.12 0.29 0.00 0.21 0.06
association N_worried E_outgoing 0.26 -0.05 0.21 0.10 0.85 -0.04 0.22 0.11
association N_worried E_quiet 0.14 0.04 0.20 -0.21 0.73 0.05 0.24 0.00
association N_worried N_depressed 0.25 0.11 0.23 -0.17 0.66 0.07 0.23 -0.45
association N_worried N_relaxed 0.40 -0.12 0.24 0.22 0.75 -0.09 0.22 0.53
association N_worried N_worried 0.43 0.16 0.25 -0.33 0.46 0.16 0.23 -0.26
gimme A_kind A_kind 5.02 0.00 0.31 -0.89 2.75 0.02 0.30 -1.20
gimme A_kind A_rude 82.37 -0.01 0.23 -7.55 11.81 0.04 0.19 2.90
gimme A_kind C_lazy 29.85 0.01 0.19 -0.63 11.38 0.00 0.19 0.29
gimme A_kind C_reliable 12.52 0.00 0.17 0.95 25.21 0.00 0.19 -1.29
gimme A_kind E_outgoing 11.90 0.01 0.14 1.09 33.01 0.03 0.26 -3.40
gimme A_kind E_quiet 21.95 -0.02 0.13 -2.61 12.03 0.00 0.20 -0.83
gimme A_kind N_depressed 25.35 -0.01 0.17 1.64 26.01 -0.01 0.22 -0.15
gimme A_kind N_relaxed 15.01 0.01 0.17 1.90 10.54 -0.01 0.14 -1.17
gimme A_kind N_worried 56.81 0.00 0.17 -3.88 8.03 -0.03 0.18 -0.97
gimme A_rude A_kind 10.53 0.00 0.17 0.48 16.08 -0.01 0.17 -0.88
gimme A_rude A_rude 302.67 0.00 1.85 17.26 0.97 0.01 0.26 0.18
gimme A_rude C_lazy 16.36 0.00 0.18 1.29 13.22 0.03 0.17 1.44
gimme A_rude C_reliable 39.40 -0.01 0.19 -3.99 10.97 -0.02 0.20 -1.55
gimme A_rude E_outgoing 15.37 -0.02 0.17 -2.50 14.38 0.01 0.19 1.56
gimme A_rude E_quiet 15.90 -0.02 0.16 -0.15 18.28 -0.01 0.13 -0.98
gimme A_rude N_depressed 21.41 0.01 0.21 0.46 11.54 0.01 0.15 0.46
gimme A_rude N_relaxed 17.59 -0.02 0.17 -2.19 16.34 0.02 0.12 2.45
gimme A_rude N_worried 17.94 0.00 0.16 0.52 17.21 0.04 0.17 3.55
gimme C_lazy A_kind 13.32 -0.02 0.18 -0.42 15.62 0.02 0.15 2.33
gimme C_lazy A_rude 16.87 0.00 0.15 1.30 18.24 0.02 0.16 3.02
gimme C_lazy C_lazy 1.89 0.05 0.28 -0.21 2.66 -0.02 0.30 0.14
gimme C_lazy C_reliable 10.41 0.02 0.16 1.59 28.21 0.00 0.20 -2.87
gimme C_lazy E_outgoing 20.70 0.00 0.21 -1.07 18.29 -0.02 0.16 -2.22
gimme C_lazy E_quiet 22.57 0.00 0.20 -0.86 12.80 -0.01 0.15 -2.37
gimme C_lazy N_depressed 10.55 0.02 0.16 1.29 41.59 0.01 0.09 3.28
gimme C_lazy N_relaxed 25.25 0.01 0.18 -0.96 16.22 0.04 0.17 1.44
gimme C_lazy N_worried 13.32 -0.01 0.19 1.58 17.85 0.00 0.15 -0.23
gimme C_reliable A_kind 72.38 0.01 0.20 -4.57 13.26 0.00 0.13 -0.75
gimme C_reliable A_rude 22.12 -0.02 0.22 -1.48 17.40 0.01 0.12 1.36
gimme C_reliable C_lazy 105.55 -0.01 0.21 7.36 17.73 0.00 0.14 -1.78
gimme C_reliable C_reliable 20.61 0.01 0.42 0.52 29.86 0.05 0.33 -3.85
gimme C_reliable E_outgoing 56.47 -0.02 0.34 -3.45 17.04 0.01 0.12 1.52
gimme C_reliable E_quiet 53.68 0.01 0.29 -4.56 14.51 0.00 0.13 -0.23
gimme C_reliable N_depressed 20.78 0.01 0.23 -1.13 11.32 0.01 0.14 1.33
gimme C_reliable N_relaxed 49.69 0.02 0.23 -1.28 21.29 0.00 0.15 0.01
gimme C_reliable N_worried 15.92 0.00 0.23 -1.64 27.64 0.01 0.17 -0.15
gimme E_outgoing A_kind 32.37 -0.02 0.19 -3.80 10.54 0.00 0.14 -1.01
gimme E_outgoing A_rude 119.97 -0.01 0.25 8.49 15.85 0.00 0.10 -1.84
gimme E_outgoing C_lazy 20.40 -0.01 0.19 -0.31 37.93 -0.04 0.17 1.41
gimme E_outgoing C_reliable 25.24 0.00 0.16 2.34 39.90 0.01 0.10 4.37
gimme E_outgoing E_outgoing 250.79 0.00 0.86 -14.97 37.03 0.01 0.39 -3.61
gimme E_outgoing E_quiet 16.17 -0.01 0.16 -1.12 64.50 0.02 0.23 -5.03
gimme E_outgoing N_depressed 25.77 0.01 0.16 3.63 13.32 0.01 0.13 0.89
gimme E_outgoing N_relaxed 83.71 -0.01 0.27 7.05 36.79 0.00 0.17 2.48
gimme E_outgoing N_worried 281.66 0.00 0.64 -16.35 26.21 0.02 0.13 2.81
gimme E_quiet A_kind 16.30 0.01 0.12 0.46 137.03 0.00 23.81 11.75
gimme E_quiet A_rude 31.68 0.01 0.15 3.08 136.99 0.00 7.47 11.75
gimme E_quiet C_lazy 13.79 0.01 0.14 0.87 137.04 0.00 35.94 -11.75
gimme E_quiet C_reliable 14.05 -0.02 0.13 -1.82 137.03 0.01 29.53 -11.75
gimme E_quiet E_outgoing 44.09 -0.01 0.13 -3.52 137.03 0.01 22.18 -11.75
gimme E_quiet E_quiet 5.77 -0.04 0.31 -1.39 134.14 0.00 2.77 -11.57
gimme E_quiet N_depressed 22.34 -0.02 0.16 0.65 16.56 0.01 0.17 2.63
gimme E_quiet N_relaxed 12.11 -0.01 0.15 -1.11 137.00 0.01 11.88 11.75
gimme E_quiet N_worried 13.98 0.02 0.14 1.42 137.03 -0.01 21.98 -11.75
gimme N_depressed A_kind 10.26 -0.01 0.16 -0.27 42.44 -0.01 0.15 3.57
gimme N_depressed A_rude 17.45 -0.01 0.16 -2.41 19.55 0.00 0.16 1.86
gimme N_depressed C_lazy 30.72 0.01 0.19 3.26 48.65 0.03 0.27 -4.22
gimme N_depressed C_reliable 13.07 0.00 0.16 0.90 47.91 0.00 0.13 5.22
gimme N_depressed E_outgoing 22.81 -0.01 0.16 -3.26 12.95 0.03 0.15 2.00
gimme N_depressed E_quiet 34.11 -0.01 0.13 -3.48 23.14 -0.03 0.12 -4.17
gimme N_depressed N_depressed 2.96 0.09 0.31 -0.46 1.57 0.08 0.30 -0.03
gimme N_depressed N_relaxed 31.39 -0.01 0.23 -2.97 61.45 0.02 0.18 -5.37
gimme N_depressed N_worried 23.54 0.01 0.18 0.69 21.27 0.01 0.21 -2.94
gimme N_relaxed A_kind 15.88 0.00 0.14 -0.26 27.65 0.00 0.16 -3.22
gimme N_relaxed A_rude 14.55 -0.02 0.12 -2.24 12.42 -0.01 0.10 -1.70
gimme N_relaxed C_lazy 13.81 0.00 0.14 -0.54 55.21 -0.01 0.19 5.26
gimme N_relaxed C_reliable 20.77 0.00 0.14 0.37 12.07 0.03 0.13 3.35
gimme N_relaxed E_outgoing 17.58 0.00 0.15 -0.90 46.90 0.00 0.12 4.50
gimme N_relaxed E_quiet 12.52 0.01 0.15 1.38 17.99 0.01 0.17 0.07
gimme N_relaxed N_depressed 19.82 -0.01 0.13 -0.89 31.87 0.01 0.25 -3.79
gimme N_relaxed N_relaxed 7.76 0.00 0.28 1.05 1.32 0.02 0.24 -0.02
gimme N_relaxed N_worried 37.74 -0.02 0.26 3.34 8.96 -0.02 0.15 -1.54
gimme N_worried A_kind 29.43 0.00 0.20 -3.10 21.64 -0.01 0.12 -1.01
gimme N_worried A_rude 17.51 0.01 0.16 -0.72 16.78 0.00 0.16 -2.22
gimme N_worried C_lazy 26.32 0.00 0.18 2.62 15.17 0.02 0.16 1.72
gimme N_worried C_reliable 44.45 -0.02 0.23 -3.30 19.51 -0.02 0.15 -1.60
gimme N_worried E_outgoing 21.52 0.01 0.19 -0.01 18.65 -0.02 0.19 0.35
gimme N_worried E_quiet 15.86 0.00 0.15 -0.18 21.32 -0.02 0.17 0.56
gimme N_worried N_depressed 45.06 0.01 0.18 4.28 22.70 0.00 0.14 0.01
gimme N_worried N_relaxed 79.93 -0.02 0.27 -7.02 23.60 0.03 0.19 -1.74
gimme N_worried N_worried 68.57 0.11 0.50 -5.39 117.23 0.13 1.24 10.46
mlVAR_EB A_kind A_kind 0.93 0.03 0.03 0.03 1.89 0.11 0.06 0.81
mlVAR_EB A_kind A_rude 2.78 -0.01 0.03 -0.19 2.08 0.00 0.00 -0.50
mlVAR_EB A_kind C_lazy 3.04 0.01 0.01 0.03 1.35 0.01 0.03 0.29
mlVAR_EB A_kind C_reliable 2.28 0.03 0.01 0.13 1.61 -0.01 0.00 0.06
mlVAR_EB A_kind E_outgoing 1.09 0.01 0.00 0.18 6.16 -0.01 0.01 1.32
mlVAR_EB A_kind E_quiet NaN 0.00 0.00 NaN 0.85 0.00 0.01 -0.34
mlVAR_EB A_kind N_depressed 2.52 0.03 0.01 -0.49 5.79 -0.04 0.02 -1.13
mlVAR_EB A_kind N_relaxed 1.83 0.01 0.01 0.31 0.49 -0.02 0.00 0.10
mlVAR_EB A_kind N_worried 2.11 -0.02 0.00 -0.29 2.36 -0.05 0.00 0.44
mlVAR_EB A_rude A_kind 4.14 0.00 0.04 -0.55 1.76 0.01 0.05 0.30
mlVAR_EB A_rude A_rude 3.76 0.04 0.07 0.30 2.14 0.03 0.06 0.90
mlVAR_EB A_rude C_lazy 1.30 -0.01 0.02 -0.27 5.77 0.02 0.03 -0.91
mlVAR_EB A_rude C_reliable 2.35 -0.01 0.01 0.07 0.74 -0.01 0.01 0.07
mlVAR_EB A_rude E_outgoing 3.23 0.00 0.01 -0.42 NaN 0.00 0.00 NaN
mlVAR_EB A_rude E_quiet 1.13 0.01 0.00 0.38 NaN -0.01 0.00 NaN
mlVAR_EB A_rude N_depressed 3.49 -0.02 0.01 0.07 NaN 0.00 0.00 NaN
mlVAR_EB A_rude N_relaxed 2.55 0.01 0.00 -0.37 NaN 0.01 0.00 NaN
mlVAR_EB A_rude N_worried 2.70 0.01 0.01 0.42 2.42 0.02 0.03 -0.07
mlVAR_EB C_lazy A_kind 3.28 -0.03 0.01 -0.64 3.27 0.00 0.06 0.85
mlVAR_EB C_lazy A_rude 2.29 0.02 0.03 -0.26 1.51 0.01 0.02 -0.49
mlVAR_EB C_lazy C_lazy 2.59 0.04 0.05 0.44 1.06 0.05 0.06 0.18
mlVAR_EB C_lazy C_reliable NaN 0.01 0.00 NaN NaN 0.02 0.00 NaN
mlVAR_EB C_lazy E_outgoing 1.85 0.01 0.02 -0.42 NaN 0.02 0.00 NaN
mlVAR_EB C_lazy E_quiet 0.71 0.00 0.00 0.15 NaN -0.01 0.00 NaN
mlVAR_EB C_lazy N_depressed 1.93 0.03 0.02 0.05 2.44 0.04 0.02 0.19
mlVAR_EB C_lazy N_relaxed 1.68 0.05 0.00 0.25 3.05 0.01 0.01 0.38
mlVAR_EB C_lazy N_worried 2.59 -0.04 0.02 -0.52 2.68 -0.04 0.02 -0.32
mlVAR_EB C_reliable A_kind 1.65 0.03 0.03 0.35 2.38 0.04 0.04 0.45
mlVAR_EB C_reliable A_rude 1.41 -0.02 0.01 0.05 2.69 0.02 0.02 0.59
mlVAR_EB C_reliable C_lazy 1.32 -0.01 0.01 -0.15 3.32 -0.03 0.00 0.10
mlVAR_EB C_reliable C_reliable 2.08 0.02 0.03 0.47 1.18 0.05 0.02 0.10
mlVAR_EB C_reliable E_outgoing 0.88 0.00 0.00 0.04 2.83 -0.02 0.00 0.69
mlVAR_EB C_reliable E_quiet NaN 0.01 0.00 NaN 5.91 -0.02 0.03 -1.46
mlVAR_EB C_reliable N_depressed 3.42 -0.01 0.02 0.21 2.38 -0.01 0.02 -0.58
mlVAR_EB C_reliable N_relaxed NaN -0.01 0.00 NaN NaN 0.01 0.00 NaN
mlVAR_EB C_reliable N_worried NaN 0.00 0.00 NaN NaN -0.01 0.00 NaN
mlVAR_EB E_outgoing A_kind NaN -0.03 0.00 NaN 2.59 0.02 0.02 0.64
mlVAR_EB E_outgoing A_rude NaN -0.03 0.00 NaN NaN -0.01 0.00 NaN
mlVAR_EB E_outgoing C_lazy 0.83 -0.03 0.02 -0.26 2.15 0.03 0.01 0.82
mlVAR_EB E_outgoing C_reliable 1.60 -0.02 0.04 0.14 2.89 0.04 0.02 -0.26
mlVAR_EB E_outgoing E_outgoing 0.90 0.01 0.02 0.41 2.27 0.02 0.01 0.40
mlVAR_EB E_outgoing E_quiet 1.76 0.01 0.00 -0.43 NaN 0.00 0.00 NaN
mlVAR_EB E_outgoing N_depressed 1.81 0.02 0.02 -0.64 0.64 -0.02 0.02 -0.24
mlVAR_EB E_outgoing N_relaxed 2.01 0.01 0.01 -0.19 NaN 0.01 0.00 NaN
mlVAR_EB E_outgoing N_worried 1.41 -0.06 0.03 0.06 2.76 -0.03 0.01 -0.91
mlVAR_EB E_quiet A_kind 2.11 0.01 0.03 -0.38 1.30 -0.02 0.00 0.14
mlVAR_EB E_quiet A_rude NaN 0.03 0.00 NaN NaN 0.01 0.00 NaN
mlVAR_EB E_quiet C_lazy 2.14 0.04 0.02 -0.11 2.39 -0.02 0.00 0.35
mlVAR_EB E_quiet C_reliable 1.14 0.00 0.02 -0.18 3.05 -0.03 0.00 0.52
mlVAR_EB E_quiet E_outgoing NaN -0.01 0.00 NaN 0.84 0.01 0.01 -0.10
mlVAR_EB E_quiet E_quiet 2.80 -0.01 0.00 0.35 1.14 0.03 0.01 0.18
mlVAR_EB E_quiet N_depressed 1.88 0.00 0.01 -0.04 NaN 0.00 0.00 NaN
mlVAR_EB E_quiet N_relaxed 2.37 -0.01 0.01 -0.42 0.97 0.04 0.05 -0.35
mlVAR_EB E_quiet N_worried 1.18 0.04 0.02 0.07 0.70 0.06 0.04 0.38
mlVAR_EB N_depressed A_kind NaN 0.01 0.00 NaN 2.74 0.01 0.04 -0.16
mlVAR_EB N_depressed A_rude 3.53 0.03 0.02 0.71 NaN 0.03 0.00 NaN
mlVAR_EB N_depressed C_lazy 2.80 0.01 0.00 0.18 4.05 -0.01 0.01 -0.98
mlVAR_EB N_depressed C_reliable 2.22 -0.01 0.02 0.00 2.03 -0.03 0.01 0.38
mlVAR_EB N_depressed E_outgoing NaN 0.01 0.00 NaN 2.04 0.00 0.02 0.33
mlVAR_EB N_depressed E_quiet NaN 0.00 0.00 NaN NaN 0.00 0.00 NaN
mlVAR_EB N_depressed N_depressed 3.33 0.07 0.08 1.08 2.40 0.11 0.10 0.76
mlVAR_EB N_depressed N_relaxed NaN -0.02 0.00 NaN NaN 0.00 0.00 NaN
mlVAR_EB N_depressed N_worried 1.52 0.04 0.03 0.47 1.54 0.02 0.02 0.45
mlVAR_EB N_relaxed A_kind 3.64 0.00 0.01 0.36 1.70 0.02 0.02 -0.22
mlVAR_EB N_relaxed A_rude 2.53 -0.05 0.04 -0.35 NaN -0.02 0.00 NaN
mlVAR_EB N_relaxed C_lazy 1.34 0.00 0.03 -0.02 3.04 0.03 0.00 0.64
mlVAR_EB N_relaxed C_reliable 1.91 0.00 0.04 0.16 NaN 0.02 0.00 NaN
mlVAR_EB N_relaxed E_outgoing 1.31 -0.02 0.02 0.07 0.89 -0.03 0.01 -0.61
mlVAR_EB N_relaxed E_quiet 0.54 0.00 0.01 0.02 0.26 -0.03 0.02 -0.27
mlVAR_EB N_relaxed N_depressed NaN -0.01 0.00 NaN 3.16 -0.05 0.02 -0.69
mlVAR_EB N_relaxed N_relaxed 2.03 0.02 0.01 0.27 3.92 0.04 0.03 0.89
mlVAR_EB N_relaxed N_worried 1.97 -0.10 0.05 -0.79 1.28 -0.08 0.01 -0.76
mlVAR_EB N_worried A_kind NaN 0.02 0.00 NaN 1.49 0.01 0.02 0.36
mlVAR_EB N_worried A_rude 3.58 0.04 0.04 0.25 0.61 0.05 0.00 0.51
mlVAR_EB N_worried C_lazy 2.09 0.02 0.02 0.38 2.37 0.00 0.01 -0.28
mlVAR_EB N_worried C_reliable 1.74 0.01 0.05 0.03 0.37 -0.03 0.03 0.15
mlVAR_EB N_worried E_outgoing 1.47 0.00 0.02 0.24 1.84 0.04 0.01 0.90
mlVAR_EB N_worried E_quiet NaN 0.01 0.00 NaN 2.47 0.02 0.02 -0.72
mlVAR_EB N_worried N_depressed 2.68 0.02 0.02 0.73 2.27 -0.01 0.02 0.54
mlVAR_EB N_worried N_relaxed 1.93 -0.05 0.00 -0.33 2.69 -0.01 0.03 -0.42
mlVAR_EB N_worried N_worried 1.89 0.11 0.10 0.71 2.75 0.18 0.07 0.81
scaled A_kind A_kind 12.35 -0.01 0.13 0.00 12.43 -0.03 0.15 -2.22
scaled A_kind A_rude 9.75 0.06 0.22 0.22 9.20 0.09 0.22 0.14
scaled A_kind C_lazy 25.51 0.00 0.12 0.38 14.46 0.06 0.18 3.46
scaled A_kind C_reliable 20.86 0.04 0.16 1.35 10.69 0.04 0.20 1.34
scaled A_kind E_outgoing 43.17 -0.05 0.12 -3.27 20.26 -0.02 0.15 -2.49
scaled A_kind E_quiet 54.46 0.02 0.09 5.68 16.62 0.03 0.16 1.43
scaled A_kind N_depressed 12.81 -0.06 0.19 -2.51 7.92 0.01 0.24 -0.20
scaled A_kind N_relaxed 23.84 -0.01 0.13 0.11 17.42 -0.07 0.14 -2.26
scaled A_kind N_worried 29.90 0.00 0.11 -1.31 15.10 0.06 0.16 2.91
scaled A_rude A_kind 16.90 -0.01 0.10 -1.83 12.66 0.05 0.18 2.42
scaled A_rude A_rude 10.60 -0.01 0.15 0.19 12.66 -0.01 0.16 -0.60
scaled A_rude C_lazy 60.80 -0.01 0.09 -4.02 13.85 0.00 0.14 0.01
scaled A_rude C_reliable 30.99 0.00 0.12 0.61 25.42 0.01 0.15 1.09
scaled A_rude E_outgoing 118.68 0.01 0.07 5.80 23.38 0.00 0.15 -0.44
scaled A_rude E_quiet 69.71 0.00 0.09 -0.81 22.94 0.01 0.13 0.19
scaled A_rude N_depressed 22.14 0.00 0.14 -0.09 17.86 0.02 0.16 1.65
scaled A_rude N_relaxed 48.61 0.00 0.07 3.44 37.12 0.00 0.11 3.68
scaled A_rude N_worried 47.35 0.00 0.08 3.44 19.86 -0.04 0.16 -0.96
scaled C_lazy A_kind 11.66 -0.01 0.15 -0.12 11.86 -0.04 0.19 -1.31
scaled C_lazy A_rude 6.57 -0.06 0.24 -0.57 6.67 -0.04 0.24 0.06
scaled C_lazy C_lazy 9.87 0.00 0.10 -0.74 12.89 0.00 0.14 1.39
scaled C_lazy C_reliable 14.18 0.04 0.15 1.28 11.20 0.00 0.18 0.67
scaled C_lazy E_outgoing 26.15 0.04 0.14 2.70 15.35 -0.03 0.16 -2.79
scaled C_lazy E_quiet 26.77 0.00 0.13 0.29 15.97 -0.02 0.17 -0.70
scaled C_lazy N_depressed 8.78 0.00 0.21 0.01 8.90 -0.02 0.22 -0.38
scaled C_lazy N_relaxed 16.04 0.00 0.16 -0.03 17.06 0.04 0.17 -0.17
scaled C_lazy N_worried 17.81 0.00 0.14 0.41 9.89 0.07 0.22 1.16
scaled C_reliable A_kind 12.24 -0.04 0.16 -1.02 11.59 -0.02 0.19 -1.35
scaled C_reliable A_rude 9.88 -0.03 0.21 -0.58 8.34 -0.12 0.23 -1.20
scaled C_reliable C_lazy 26.77 0.02 0.12 2.92 16.12 -0.04 0.18 -3.23
scaled C_reliable C_reliable 14.35 -0.01 0.12 -1.08 6.98 0.00 0.17 -0.68
scaled C_reliable E_outgoing 52.94 0.03 0.11 3.31 38.15 0.02 0.11 5.03
scaled C_reliable E_quiet 38.76 0.01 0.12 0.59 18.25 -0.04 0.15 -3.64
scaled C_reliable N_depressed 14.44 -0.04 0.18 -0.14 11.44 0.00 0.20 0.66
scaled C_reliable N_relaxed 27.33 -0.01 0.14 -0.69 28.24 0.08 0.13 3.05
scaled C_reliable N_worried 12.73 -0.01 0.14 -0.24 15.21 -0.11 0.19 -2.66
scaled E_outgoing A_kind 14.35 0.05 0.15 1.02 8.69 0.03 0.19 1.07
scaled E_outgoing A_rude 5.91 -0.03 0.25 -0.59 4.27 -0.08 0.25 -0.30
scaled E_outgoing C_lazy 25.24 -0.02 0.15 -0.94 16.43 0.01 0.18 -0.64
scaled E_outgoing C_reliable 16.42 -0.03 0.17 -1.81 7.41 0.04 0.24 0.59
scaled E_outgoing E_outgoing 24.38 0.01 0.10 2.69 23.61 -0.01 0.12 -2.42
scaled E_outgoing E_quiet 37.41 -0.02 0.10 -5.38 25.74 0.00 0.17 -0.33
scaled E_outgoing N_depressed 10.59 0.01 0.20 -0.03 7.10 0.05 0.24 0.84
scaled E_outgoing N_relaxed 16.71 -0.02 0.17 -0.56 11.67 0.10 0.18 2.59
scaled E_outgoing N_worried 12.17 0.01 0.16 1.10 7.30 0.01 0.23 -1.04
scaled E_quiet A_kind 12.60 0.04 0.16 0.14 12.97 0.02 0.18 0.56
scaled E_quiet A_rude 7.34 0.00 0.23 0.09 5.67 -0.07 0.25 -0.29
scaled E_quiet C_lazy 18.29 -0.03 0.16 -1.52 14.51 0.00 0.17 -0.05
scaled E_quiet C_reliable 15.45 -0.03 0.16 -1.05 7.11 0.06 0.25 1.37
scaled E_quiet E_outgoing 34.55 0.06 0.12 4.40 13.66 0.00 0.16 -0.28
scaled E_quiet E_quiet 21.47 -0.02 0.12 -2.50 12.94 -0.02 0.14 -2.25
scaled E_quiet N_depressed 13.51 0.05 0.19 1.07 8.94 0.01 0.23 0.84
scaled E_quiet N_relaxed 14.66 0.00 0.16 1.06 15.39 0.10 0.18 2.44
scaled E_quiet N_worried 15.37 0.03 0.16 3.01 13.66 0.04 0.21 -0.31
scaled N_depressed A_kind 21.89 0.00 0.13 0.30 18.11 0.01 0.17 0.95
scaled N_depressed A_rude 8.18 0.00 0.22 0.32 10.82 0.07 0.18 0.87
scaled N_depressed C_lazy 25.42 0.00 0.13 0.44 19.01 0.00 0.17 0.28
scaled N_depressed C_reliable 21.95 -0.06 0.14 -3.71 13.34 0.04 0.17 0.78
scaled N_depressed E_outgoing 62.10 -0.03 0.11 -6.64 27.92 0.01 0.15 1.39
scaled N_depressed E_quiet 45.37 0.01 0.09 5.77 23.57 -0.03 0.15 -3.22
scaled N_depressed N_depressed 11.09 0.01 0.14 -1.15 13.13 0.02 0.16 0.81
scaled N_depressed N_relaxed 31.42 -0.02 0.11 -2.15 20.62 -0.09 0.14 -2.97
scaled N_depressed N_worried 20.21 0.01 0.09 1.53 19.66 -0.04 0.16 -0.18
scaled N_relaxed A_kind 14.85 0.03 0.15 2.50 9.19 0.00 0.20 -0.09
scaled N_relaxed A_rude 5.98 -0.06 0.25 -0.44 3.68 0.07 0.22 1.07
scaled N_relaxed C_lazy 21.61 0.02 0.14 1.54 16.65 -0.02 0.18 -0.58
scaled N_relaxed C_reliable 15.81 0.03 0.17 0.61 9.56 0.03 0.22 0.40
scaled N_relaxed E_outgoing 35.04 -0.02 0.13 -1.15 13.67 0.01 0.19 0.35
scaled N_relaxed E_quiet 20.48 -0.01 0.12 -1.83 16.37 0.02 0.18 0.55
scaled N_relaxed N_depressed 9.74 -0.01 0.20 0.21 11.39 0.09 0.22 2.09
scaled N_relaxed N_relaxed 16.55 -0.01 0.13 0.06 8.57 -0.04 0.14 -2.76
scaled N_relaxed N_worried 17.51 0.00 0.14 1.30 8.85 -0.01 0.22 1.19
scaled N_worried A_kind 13.67 0.04 0.15 2.01 8.69 0.02 0.18 1.92
scaled N_worried A_rude 6.84 0.06 0.24 0.03 6.18 -0.09 0.22 -0.08
scaled N_worried C_lazy 19.79 -0.02 0.16 -0.86 13.39 -0.01 0.21 0.01
scaled N_worried C_reliable 17.49 -0.02 0.16 0.50 14.59 0.01 0.18 0.18
scaled N_worried E_outgoing 40.82 -0.05 0.12 -4.37 16.00 0.01 0.18 1.28
scaled N_worried E_quiet 28.87 0.00 0.13 0.66 23.44 0.02 0.14 1.63
scaled N_worried N_depressed 12.27 0.05 0.19 1.20 7.49 0.10 0.23 2.04
scaled N_worried N_relaxed 12.64 -0.04 0.17 -0.81 17.53 0.03 0.15 0.99
scaled N_worried N_worried 11.12 0.02 0.12 0.52 8.04 0.01 0.18 -0.14
unregularized A_kind A_kind 0.18 0.01 0.16 -0.31 0.40 0.03 0.16 -0.01
unregularized A_kind A_rude 0.17 0.00 0.15 -0.17 0.65 0.02 0.17 -0.41
unregularized A_kind C_lazy 0.58 0.00 0.16 -0.24 -0.61 0.01 0.14 -0.15
unregularized A_kind C_reliable 1.76 0.01 0.15 0.50 -0.45 0.01 0.13 0.03
unregularized A_kind E_outgoing -0.21 -0.01 0.15 -0.02 0.41 0.00 0.14 0.26
unregularized A_kind E_quiet -0.21 0.00 0.14 0.10 0.71 0.00 0.15 0.14
unregularized A_kind N_depressed 0.72 0.01 0.15 0.02 -0.03 0.02 0.15 -0.26
unregularized A_kind N_relaxed 0.27 -0.01 0.15 -0.03 0.48 0.01 0.13 -0.51
unregularized A_kind N_worried -0.10 0.02 0.14 0.03 1.32 -0.01 0.14 0.35
unregularized A_rude A_kind 0.36 0.00 0.16 -0.01 1.10 0.00 0.14 -0.58
unregularized A_rude A_rude 2.63 0.00 0.15 -0.22 0.03 0.01 0.14 0.51
unregularized A_rude C_lazy 3.37 -0.01 0.18 -0.33 0.20 0.03 0.15 0.21
unregularized A_rude C_reliable 2.88 0.01 0.17 0.73 0.81 0.00 0.15 -0.11
unregularized A_rude E_outgoing 0.17 0.00 0.15 0.05 0.01 -0.01 0.13 -0.06
unregularized A_rude E_quiet 2.90 0.00 0.17 -0.36 -0.44 0.01 0.14 0.49
unregularized A_rude N_depressed 4.26 0.01 0.17 -0.07 0.46 0.01 0.13 -0.22
unregularized A_rude N_relaxed 3.72 -0.02 0.17 -0.65 0.16 0.01 0.14 0.25
unregularized A_rude N_worried 3.77 -0.01 0.17 -0.28 0.71 0.04 0.13 0.25
unregularized C_lazy A_kind 0.08 0.01 0.16 0.25 0.07 0.00 0.16 -0.08
unregularized C_lazy A_rude 0.45 0.00 0.15 -0.06 -0.10 0.02 0.14 0.11
unregularized C_lazy C_lazy 0.18 0.03 0.15 -0.08 -0.06 0.03 0.15 0.16
unregularized C_lazy C_reliable -0.25 -0.03 0.16 -0.14 0.62 -0.01 0.14 0.44
unregularized C_lazy E_outgoing 0.55 -0.01 0.15 -0.15 0.18 -0.01 0.13 -0.08
unregularized C_lazy E_quiet 1.53 0.01 0.15 -0.26 -0.49 -0.01 0.14 -0.33
unregularized C_lazy N_depressed 0.04 0.01 0.15 0.05 0.34 0.01 0.16 0.19
unregularized C_lazy N_relaxed -0.05 -0.01 0.15 0.18 -0.40 0.02 0.12 -0.31
unregularized C_lazy N_worried -0.44 0.01 0.15 -0.01 -0.15 0.01 0.15 -0.12
unregularized C_reliable A_kind 0.33 0.02 0.16 -0.23 0.01 0.00 0.13 0.28
unregularized C_reliable A_rude -0.18 0.00 0.16 -0.18 0.18 0.00 0.15 0.43
unregularized C_reliable C_lazy 0.31 0.00 0.16 -0.26 -0.34 -0.01 0.13 -0.05
unregularized C_reliable C_reliable 0.22 0.01 0.15 0.40 0.34 0.05 0.15 0.45
unregularized C_reliable E_outgoing -0.13 0.00 0.17 -0.05 0.30 0.00 0.14 -0.29
unregularized C_reliable E_quiet 0.13 -0.02 0.16 -0.11 0.51 0.02 0.14 0.50
unregularized C_reliable N_depressed -0.18 0.01 0.15 0.00 0.52 -0.01 0.15 0.08
unregularized C_reliable N_relaxed 0.12 0.00 0.15 -0.28 0.20 0.01 0.15 0.08
unregularized C_reliable N_worried 0.56 -0.01 0.16 -0.04 0.72 0.00 0.14 0.09
unregularized E_outgoing A_kind 0.18 0.01 0.15 0.13 1.40 0.01 0.18 0.16
unregularized E_outgoing A_rude 0.43 -0.01 0.15 0.08 0.98 -0.01 0.16 -0.22
unregularized E_outgoing C_lazy 0.14 0.02 0.17 -0.14 0.74 0.01 0.13 0.06
unregularized E_outgoing C_reliable -0.43 -0.01 0.15 -0.27 -0.24 -0.02 0.15 -0.18
unregularized E_outgoing E_outgoing -0.05 0.00 0.15 -0.01 -0.79 0.02 0.14 -0.03
unregularized E_outgoing E_quiet 0.55 0.00 0.15 0.30 0.17 -0.01 0.14 0.12
unregularized E_outgoing N_depressed -0.08 0.00 0.14 -0.04 0.18 -0.01 0.15 0.07
unregularized E_outgoing N_relaxed -0.03 0.00 0.16 -0.12 0.80 0.00 0.14 -0.40
unregularized E_outgoing N_worried 0.19 -0.01 0.14 -0.17 0.08 0.01 0.16 0.27
unregularized E_quiet A_kind 0.67 0.00 0.16 0.06 0.96 0.01 0.16 0.17
unregularized E_quiet A_rude 0.12 0.01 0.14 -0.13 1.44 0.00 0.15 -0.24
unregularized E_quiet C_lazy 0.27 0.01 0.16 -0.21 -0.10 -0.01 0.14 0.24
unregularized E_quiet C_reliable 0.29 0.00 0.15 -0.13 -0.23 0.00 0.14 -0.16
unregularized E_quiet E_outgoing -0.22 0.00 0.14 0.13 0.09 0.02 0.14 0.13
unregularized E_quiet E_quiet -0.71 0.00 0.15 0.00 0.04 -0.01 0.14 -0.14
unregularized E_quiet N_depressed 0.48 0.00 0.14 -0.10 1.04 0.00 0.14 0.21
unregularized E_quiet N_relaxed 0.68 0.01 0.15 0.08 0.21 -0.01 0.14 0.26
unregularized E_quiet N_worried 0.16 0.00 0.15 0.00 0.08 0.00 0.15 -0.23
unregularized N_depressed A_kind 0.06 0.01 0.15 0.18 0.38 -0.02 0.14 -0.16
unregularized N_depressed A_rude 2.56 -0.01 0.17 0.92 2.83 -0.02 0.17 -0.08
unregularized N_depressed C_lazy 0.91 0.01 0.17 -0.28 -0.38 0.01 0.14 -0.21
unregularized N_depressed C_reliable 1.96 0.00 0.16 -0.07 -0.15 -0.03 0.14 -0.16
unregularized N_depressed E_outgoing 1.27 0.00 0.16 -0.38 -0.19 -0.01 0.16 0.09
unregularized N_depressed E_quiet 0.31 0.00 0.16 0.12 0.26 0.00 0.14 -0.06
unregularized N_depressed N_depressed -0.46 0.05 0.17 0.31 1.96 0.08 0.18 0.73
unregularized N_depressed N_relaxed 3.65 0.00 0.15 -0.49 0.28 -0.02 0.14 0.41
unregularized N_depressed N_worried 1.35 0.01 0.17 -0.15 0.96 0.01 0.14 -0.13
unregularized N_relaxed A_kind 0.66 -0.01 0.15 -0.27 0.05 0.01 0.16 0.21
unregularized N_relaxed A_rude 1.09 0.00 0.15 -0.28 -0.02 0.00 0.13 -0.24
unregularized N_relaxed C_lazy 1.04 0.01 0.16 0.24 1.91 0.01 0.14 -0.29
unregularized N_relaxed C_reliable 0.35 0.01 0.17 0.03 0.93 0.01 0.15 0.00
unregularized N_relaxed E_outgoing 0.55 0.00 0.15 -0.09 0.54 0.00 0.14 0.32
unregularized N_relaxed E_quiet 0.68 -0.01 0.16 -0.22 -0.32 0.03 0.14 0.01
unregularized N_relaxed N_depressed 1.39 -0.02 0.16 0.06 -0.16 -0.02 0.15 -0.11
unregularized N_relaxed N_relaxed -0.24 0.02 0.14 0.05 -0.46 0.02 0.13 0.23
unregularized N_relaxed N_worried 0.20 -0.03 0.14 -0.07 0.96 -0.01 0.16 0.24
unregularized N_worried A_kind 0.61 -0.04 0.15 -0.04 1.54 -0.03 0.17 0.26
unregularized N_worried A_rude 1.03 0.01 0.15 -0.11 2.55 0.03 0.16 0.54
unregularized N_worried C_lazy 0.55 -0.02 0.17 0.33 0.48 -0.03 0.14 -0.05
unregularized N_worried C_reliable 0.26 -0.02 0.16 -0.22 0.02 0.01 0.15 0.15
unregularized N_worried E_outgoing 0.08 -0.03 0.16 0.14 -0.22 -0.02 0.14 -0.01
unregularized N_worried E_quiet 0.01 0.02 0.17 -0.14 0.11 0.04 0.15 -0.34
unregularized N_worried N_depressed 0.07 0.04 0.15 0.26 0.37 0.02 0.16 0.07
unregularized N_worried N_relaxed 0.29 -0.07 0.17 -0.14 0.63 -0.06 0.14 -0.14
unregularized N_worried N_worried 0.06 0.09 0.16 -0.26 -0.27 0.11 0.16 0.12
library(ggridges)
## figure  
temp_long %>% 
  filter(lambda_scale == ".25") %>%
  ggplot(aes(x = weight, y = from, fill = factor(wave))) +
  # tidybayes::geom_halfeyeh() +
  geom_density_ridges(rel_min_height = 0.025) +
  # geom_density() +
  labs(x = "From", y = "Edge Weight", 
       title = "Regularized Lagged Partial Correlations") +
  facet_grid(to~wave) +
  theme_classic() +
  theme(legend.position = "none")

Contemporaneous

#Contemporaneous: Partial Contemporaneous Correlations
contemp_long <- gVAR_fit %>%
  unnest(contemp, .drop = T) %>%
  mutate(Var1 = factor(Var1, levels = sort(unique(Var1))),
         Var2 = factor(Var2, levels = sort(unique(Var2))),
         type = "Contemporaneous") 

contemp_long %>%
  group_by(wave, lambda_scale, var) %>%
  summarise_at(vars(weight), funs(M = fisherz2r(mean(fisherz(.), na.rm = T)), 
                             sd(., na.rm = T), kurtosi, skew)) %>%
  gather(est, value, M:skew) %>%
  unite(tmp, wave, est, sep = ".") %>%
  # arrange(desc(r)) %>%
  spread(key = tmp, value = value) %>%
  kable(., "html", booktabs = T, longtable = T, digits = 2,
        caption = "Descriptives of Contemporaneous Edge Weights",
        col.names = c("Network Type", "Variable", rep(c("Kurtosi", "M", "SD", "Skew"),2))) %>%
  kable_styling(bootstrap_options = c("striped"),full_width = T) %>%
  add_header_above(c(" " = 2, "Wave 1" = 4, "Wave 2" = 4)) %>%
  scroll_box(width = "750px", height = "400px")
Descriptives of Contemporaneous Edge Weights
Wave 1
Wave 2
Network Type Variable Kurtosi M SD Skew Kurtosi M SD Skew
.25 A_kind.A_rude 15.00 -0.03 0.11 -3.29 4.81 -0.02 0.11 -0.75
.25 A_kind.C_lazy 7.84 -0.01 0.12 0.07 9.56 -0.02 0.13 -0.72
.25 A_kind.C_reliable 8.68 0.03 0.12 0.55 24.25 0.02 0.11 2.35
.25 A_kind.E_outgoing 4.49 0.07 0.14 1.67 5.09 0.06 0.12 1.86
.25 A_kind.E_quiet 4.07 -0.04 0.10 -1.16 14.98 -0.03 0.12 -2.10
.25 A_kind.N_depressed 15.41 -0.02 0.08 -3.25 17.81 -0.01 0.07 1.57
.25 A_kind.N_relaxed 6.88 0.03 0.10 1.48 11.55 0.02 0.12 0.31
.25 A_kind.N_worried 12.78 -0.02 0.09 -2.01 8.53 -0.01 0.12 0.15
.25 A_rude.C_lazy 18.09 0.01 0.09 0.48 11.73 0.01 0.10 0.71
.25 A_rude.C_reliable 19.96 -0.01 0.09 -0.64 19.40 0.00 0.07 1.45
.25 A_rude.E_outgoing 20.91 0.01 0.08 0.90 15.85 0.01 0.08 0.86
.25 A_rude.E_quiet 16.03 -0.01 0.08 -0.13 8.91 -0.02 0.10 -0.83
.25 A_rude.N_depressed 15.92 0.02 0.09 2.10 15.12 0.01 0.07 1.68
.25 A_rude.N_relaxed 23.76 -0.01 0.10 -1.42 18.73 -0.01 0.09 0.10
.25 A_rude.N_worried 21.22 0.00 0.08 -0.99 14.74 0.02 0.09 2.66
.25 C_lazy.C_reliable 0.96 -0.13 0.19 -0.36 0.26 -0.14 0.19 -0.89
.25 C_lazy.E_outgoing 3.73 -0.04 0.15 -0.06 4.05 -0.03 0.10 -1.20
.25 C_lazy.E_quiet 6.14 0.04 0.14 0.81 5.94 0.02 0.13 0.01
.25 C_lazy.N_depressed 7.99 0.03 0.12 1.52 13.90 -0.01 0.09 -2.22
.25 C_lazy.N_relaxed 0.63 0.11 0.16 0.58 1.36 0.10 0.16 1.14
.25 C_lazy.N_worried 8.70 -0.02 0.13 -0.49 5.35 -0.01 0.11 0.66
.25 C_reliable.E_outgoing 7.82 0.03 0.13 -0.51 9.89 0.04 0.12 -0.34
.25 C_reliable.E_quiet 4.66 -0.01 0.10 0.02 5.76 -0.02 0.12 -0.09
.25 C_reliable.N_depressed 10.75 -0.03 0.12 -0.98 8.09 -0.03 0.12 -1.71
.25 C_reliable.N_relaxed 8.72 0.02 0.13 0.84 6.75 0.01 0.08 0.61
.25 C_reliable.N_worried 7.77 -0.01 0.11 -0.14 15.75 -0.01 0.11 -0.06
.25 E_outgoing.E_quiet -0.17 -0.51 0.22 0.66 -0.50 -0.50 0.25 0.52
.25 E_outgoing.N_depressed 6.48 -0.04 0.10 -1.87 11.54 -0.04 0.11 -2.60
.25 E_outgoing.N_relaxed 3.65 0.04 0.12 1.09 4.91 0.03 0.12 0.61
.25 E_outgoing.N_worried 9.61 -0.03 0.12 0.17 6.09 -0.04 0.10 -1.55
.25 E_quiet.N_depressed 14.14 0.02 0.08 1.26 7.13 0.03 0.10 1.27
.25 E_quiet.N_relaxed 6.50 -0.02 0.14 0.41 4.81 -0.02 0.13 -1.05
.25 E_quiet.N_worried 9.09 0.02 0.13 0.86 5.63 0.02 0.12 0.64
.25 N_depressed.N_relaxed 2.46 -0.07 0.12 -1.49 6.87 -0.05 0.12 -2.56
.25 N_depressed.N_worried 2.22 0.11 0.16 1.27 6.21 0.09 0.15 0.38
.25 N_relaxed.N_worried -0.42 -0.24 0.21 -0.44 -0.59 -0.21 0.19 -0.27
.5 A_kind.A_rude 20.68 -0.02 0.10 -3.37 5.78 -0.02 0.11 -0.77
.5 A_kind.C_lazy 10.47 0.00 0.11 0.15 10.92 -0.01 0.12 -0.78
.5 A_kind.C_reliable 11.44 0.02 0.11 0.39 28.36 0.02 0.11 2.53
.5 A_kind.E_outgoing 6.47 0.06 0.12 1.92 6.42 0.05 0.11 2.08
.5 A_kind.E_quiet 4.75 -0.03 0.09 -1.07 18.55 -0.02 0.11 -2.36
.5 A_kind.N_depressed 21.08 -0.02 0.08 -3.74 15.42 -0.01 0.08 1.18
.5 A_kind.N_relaxed 9.49 0.03 0.10 1.78 12.08 0.02 0.12 0.31
.5 A_kind.N_worried 14.42 -0.02 0.09 -2.09 9.97 -0.01 0.12 0.22
.5 A_rude.C_lazy 22.38 0.01 0.08 -0.01 13.04 0.01 0.11 1.26
.5 A_rude.C_reliable 28.56 -0.01 0.08 -0.70 23.50 0.00 0.06 1.51
.5 A_rude.E_outgoing 22.91 0.01 0.08 1.04 16.21 0.01 0.08 0.87
.5 A_rude.E_quiet 19.95 0.00 0.07 0.37 10.29 -0.02 0.09 -1.07
.5 A_rude.N_depressed 18.25 0.02 0.09 2.28 22.86 0.01 0.06 1.73
.5 A_rude.N_relaxed 30.21 -0.01 0.09 -1.20 24.71 -0.01 0.08 0.54
.5 A_rude.N_worried 24.53 0.00 0.08 -1.52 14.00 0.01 0.09 2.33
.5 C_lazy.C_reliable 1.54 -0.11 0.19 -0.57 0.59 -0.13 0.17 -0.95
.5 C_lazy.E_outgoing 4.29 -0.04 0.14 -0.22 4.79 -0.03 0.09 -1.36
.5 C_lazy.E_quiet 7.80 0.03 0.14 0.97 6.42 0.02 0.13 -0.07
.5 C_lazy.N_depressed 10.52 0.03 0.11 2.36 18.28 -0.01 0.08 -2.53
.5 C_lazy.N_relaxed 1.74 0.10 0.15 0.96 1.49 0.10 0.16 1.20
.5 C_lazy.N_worried 11.14 -0.01 0.12 -0.54 5.88 -0.01 0.10 0.92
.5 C_reliable.E_outgoing 9.44 0.02 0.13 -0.47 10.62 0.04 0.12 -0.33
.5 C_reliable.E_quiet 5.58 -0.01 0.09 0.12 7.38 -0.01 0.12 0.13
.5 C_reliable.N_depressed 14.35 -0.03 0.11 -1.43 8.38 -0.03 0.12 -1.68
.5 C_reliable.N_relaxed 11.91 0.02 0.12 1.05 7.59 0.01 0.08 0.76
.5 C_reliable.N_worried 9.37 -0.01 0.10 -0.17 16.50 -0.01 0.10 0.04
.5 E_outgoing.E_quiet -0.39 -0.48 0.22 0.51 -0.57 -0.47 0.24 0.43
.5 E_outgoing.N_depressed 8.96 -0.03 0.10 -2.26 13.85 -0.03 0.11 -2.90
.5 E_outgoing.N_relaxed 4.43 0.04 0.11 0.86 6.51 0.03 0.11 0.84
.5 E_outgoing.N_worried 11.66 -0.03 0.11 0.08 4.70 -0.03 0.09 -1.31
.5 E_quiet.N_depressed 17.18 0.02 0.08 1.46 9.77 0.02 0.09 1.53
.5 E_quiet.N_relaxed 7.15 -0.02 0.13 0.50 5.34 -0.02 0.12 -0.92
.5 E_quiet.N_worried 10.83 0.02 0.12 1.15 6.35 0.02 0.12 0.69
.5 N_depressed.N_relaxed 3.17 -0.06 0.11 -1.58 6.50 -0.05 0.10 -2.41
.5 N_depressed.N_worried 3.34 0.10 0.15 1.50 7.31 0.08 0.15 0.62
.5 N_relaxed.N_worried -0.21 -0.21 0.20 -0.57 -0.66 -0.19 0.19 -0.30
association A_kind.A_rude -0.05 -1.00 0.29 -0.06 -0.42 -0.18 0.33 0.21
association A_kind.C_lazy 0.07 -0.07 0.23 0.19 0.44 -0.07 0.22 0.00
association A_kind.C_reliable -0.14 0.21 0.22 -0.28 -0.18 0.19 0.23 -0.23
association A_kind.E_outgoing 0.36 0.30 0.21 -0.59 0.26 0.27 0.21 -0.49
association A_kind.E_quiet 0.43 -0.26 0.22 0.40 0.04 -0.22 0.22 0.35
association A_kind.N_depressed 0.22 -0.15 0.24 0.12 0.39 -0.17 0.22 0.43
association A_kind.N_relaxed 0.18 0.18 0.23 -0.42 0.34 0.18 0.22 -0.26
association A_kind.N_worried -0.11 -0.14 0.22 0.32 0.65 -0.15 0.24 0.54
association A_rude.C_lazy 0.40 0.06 0.21 0.06 0.35 0.05 0.17 -0.04
association A_rude.C_reliable 0.24 -0.10 0.22 0.02 0.11 -0.07 0.21 0.15
association A_rude.E_outgoing 0.14 0.03 0.22 0.17 1.32 0.01 0.21 0.55
association A_rude.E_quiet 0.38 -0.07 0.22 0.00 0.09 -0.04 0.20 0.05
association A_rude.N_depressed -0.32 0.12 0.24 0.31 -0.22 0.12 0.23 0.21
association A_rude.N_relaxed -0.02 -0.09 0.23 0.11 1.42 -0.09 0.21 0.13
association A_rude.N_worried -0.12 0.09 0.23 -0.06 0.74 0.09 0.21 0.20
association C_lazy.C_reliable -0.39 -0.32 0.25 0.35 -0.67 -0.35 0.26 0.32
association C_lazy.E_outgoing -0.22 -0.15 0.27 0.13 -0.33 -0.15 0.24 -0.19
association C_lazy.E_quiet -0.24 0.13 0.27 -0.25 -0.16 0.12 0.25 0.10
association C_lazy.N_depressed 0.19 0.09 0.25 -0.22 0.06 0.08 0.21 0.19
association C_lazy.N_relaxed -0.30 0.23 0.26 -0.32 -0.30 0.22 0.26 -0.42
association C_lazy.N_worried 0.19 -0.08 0.24 0.10 0.10 -0.05 0.24 0.55
association C_reliable.E_outgoing 0.47 0.22 0.25 -0.32 -0.25 0.24 0.22 -0.25
association C_reliable.E_quiet 0.28 -0.18 0.24 0.34 0.08 -0.17 0.21 0.27
association C_reliable.N_depressed -0.13 -0.18 0.25 -0.08 0.38 -0.19 0.25 0.18
association C_reliable.N_relaxed -0.29 0.08 0.26 0.13 -0.33 0.06 0.26 -0.21
association C_reliable.N_worried 0.11 -0.10 0.25 0.27 -0.42 -0.11 0.23 0.10
association E_outgoing.E_quiet 1.77 -0.72 0.16 1.19 2.31 -0.73 0.17 1.28
association E_outgoing.N_depressed 0.53 -0.23 0.23 0.35 -0.25 -0.22 0.20 0.26
association E_outgoing.N_relaxed -0.31 0.18 0.24 -0.17 0.06 0.16 0.28 -0.51
association E_outgoing.N_worried -0.31 -0.20 0.22 0.16 -0.39 -0.21 0.24 0.36
association E_quiet.N_depressed -0.14 0.18 0.22 -0.11 -0.20 0.16 0.20 0.27
association E_quiet.N_relaxed -0.10 -0.13 0.25 0.14 -0.29 -0.10 0.27 0.20
association E_quiet.N_worried -0.18 0.16 0.22 -0.20 -0.18 0.17 0.25 -0.29
association N_depressed.N_relaxed 0.08 -0.32 0.24 0.46 0.11 -0.30 0.22 0.57
association N_depressed.N_worried -0.04 0.39 0.24 -0.49 1.04 0.34 0.25 -0.85
association N_relaxed.N_worried 0.28 -0.53 0.22 0.63 1.37 -0.48 0.24 1.17
gimme A_kind.A_rude 2.53 -0.06 0.15 -0.96 0.41 -0.06 0.15 -0.26
gimme A_kind.C_lazy 11.82 0.01 0.11 0.98 14.73 -0.01 0.13 1.35
gimme A_kind.C_reliable 13.50 0.05 0.17 0.69 7.85 0.03 0.12 0.65
gimme A_kind.E_outgoing 8.23 0.06 0.14 -0.17 0.08 0.06 0.11 0.98
gimme A_kind.E_quiet 69.49 -0.04 0.16 5.25 136.49 -0.03 2.38 -11.72
gimme A_kind.N_depressed 8.05 -0.04 0.13 -1.86 5.40 -0.03 0.10 -1.68
gimme A_kind.N_relaxed 5.05 0.03 0.12 0.21 4.55 0.03 0.09 1.94
gimme A_kind.N_worried 23.60 -0.03 0.12 -3.61 6.49 -0.02 0.12 -0.72
gimme A_rude.C_lazy 20.19 0.02 0.12 -1.23 12.88 0.01 0.06 2.70
gimme A_rude.C_reliable 41.72 -0.02 0.14 -3.22 7.36 0.00 0.09 -0.27
gimme A_rude.E_outgoing 308.85 0.01 1.05 17.52 14.65 0.01 0.10 2.46
gimme A_rude.E_quiet 9.82 -0.02 0.10 -0.16 136.99 -0.02 6.23 -11.75
gimme A_rude.N_depressed 311.92 0.04 2.03 17.65 11.85 0.02 0.11 -0.62
gimme A_rude.N_relaxed 58.68 -0.01 0.13 3.90 9.66 -0.02 0.10 -1.70
gimme A_rude.N_worried 310.66 0.01 1.23 -17.59 110.42 0.01 0.36 10.05
gimme C_lazy.C_reliable 14.53 -0.13 0.19 -2.49 1.42 -0.13 0.18 -0.56
gimme C_lazy.E_outgoing 7.63 -0.04 0.15 -1.08 28.01 -0.01 0.14 -3.25
gimme C_lazy.E_quiet 77.98 0.02 0.19 -5.24 136.49 0.04 3.42 11.72
gimme C_lazy.N_depressed 9.23 0.02 0.12 0.26 15.40 0.01 0.12 2.30
gimme C_lazy.N_relaxed 4.43 0.08 0.15 -0.47 12.82 0.07 0.16 -1.31
gimme C_lazy.N_worried 33.01 -0.02 0.15 -4.27 122.44 -0.02 0.58 -10.81
gimme C_reliable.E_outgoing 154.20 0.04 0.57 -11.31 33.33 0.04 0.15 -3.62
gimme C_reliable.E_quiet 105.11 -0.03 0.32 -6.70 130.92 -0.01 0.64 -11.37
gimme C_reliable.N_depressed 13.08 -0.05 0.14 0.35 4.55 -0.04 0.13 -0.71
gimme C_reliable.N_relaxed 13.33 0.02 0.12 0.56 4.30 0.01 0.10 0.46
gimme C_reliable.N_worried 23.66 -0.01 0.14 -2.27 9.57 -0.03 0.11 -2.37
gimme E_outgoing.E_quiet 6.88 -0.33 0.17 1.53 133.90 -0.34 4.77 11.56
gimme E_outgoing.N_depressed 143.79 -0.05 0.28 -10.10 106.27 -0.02 0.33 -9.68
gimme E_outgoing.N_relaxed 270.84 0.03 0.47 15.88 2.97 0.03 0.12 0.08
gimme E_outgoing.N_worried 270.22 -0.02 0.47 15.75 57.96 -0.02 0.19 -6.24
gimme E_quiet.N_depressed 22.01 0.01 0.13 0.26 136.93 0.04 6.60 -11.74
gimme E_quiet.N_relaxed 9.16 -0.01 0.12 -0.32 48.77 -0.01 0.17 5.23
gimme E_quiet.N_worried 21.68 0.01 0.12 -0.60 136.97 0.01 11.47 11.75
gimme N_depressed.N_relaxed 5.04 -0.07 0.18 0.04 10.04 -0.04 0.12 0.41
gimme N_depressed.N_worried 3.86 0.12 0.18 0.15 6.29 0.10 0.18 1.44
gimme N_relaxed.N_worried 17.98 -0.20 0.20 2.18 131.06 -0.18 1.13 11.37
mlVAR_EB A_kind.A_rude 0.95 -0.14 0.12 -0.39 0.51 -0.18 0.19 0.10
mlVAR_EB A_kind.C_lazy 0.58 -0.03 0.04 -0.13 0.62 -0.03 0.04 0.23
mlVAR_EB A_kind.C_reliable 1.41 0.13 0.05 -0.05 0.27 0.13 0.06 -0.15
mlVAR_EB A_kind.E_outgoing 1.47 0.16 0.06 -0.18 0.18 0.16 0.06 0.28
mlVAR_EB A_kind.E_quiet 0.78 -0.10 0.03 0.02 1.38 -0.07 0.01 0.00
mlVAR_EB A_kind.N_depressed 1.56 -0.03 0.05 -0.41 0.64 -0.05 0.04 0.20
mlVAR_EB A_kind.N_relaxed 0.95 0.10 0.03 0.30 1.55 0.08 0.01 0.53
mlVAR_EB A_kind.N_worried 1.34 0.00 0.00 0.11 1.32 -0.02 0.05 -0.19
mlVAR_EB A_rude.C_lazy 2.65 0.05 0.05 0.33 1.71 0.05 0.00 0.16
mlVAR_EB A_rude.C_reliable 1.98 -0.07 0.05 -0.06 1.52 -0.03 0.00 -0.26
mlVAR_EB A_rude.E_outgoing 1.81 0.03 0.01 0.33 10.37 0.02 0.00 1.78
mlVAR_EB A_rude.E_quiet 2.30 -0.10 0.03 -0.09 0.84 -0.08 0.02 -0.13
mlVAR_EB A_rude.N_depressed 1.64 0.09 0.08 0.00 1.15 0.08 0.07 0.42
mlVAR_EB A_rude.N_relaxed 2.98 -0.05 0.04 -0.35 0.90 -0.05 0.01 -0.26
mlVAR_EB A_rude.N_worried 1.91 0.04 0.02 0.50 2.12 0.03 0.02 -0.09
mlVAR_EB C_lazy.C_reliable 0.69 -0.25 0.08 -0.30 0.33 -0.29 0.10 -0.02
mlVAR_EB C_lazy.E_outgoing 0.50 -0.05 0.06 -0.14 1.93 -0.03 0.01 0.04
mlVAR_EB C_lazy.E_quiet 0.34 0.02 0.06 0.05 0.78 0.00 0.02 -0.29
mlVAR_EB C_lazy.N_depressed 2.32 0.10 0.06 0.49 6.68 0.05 0.00 1.09
mlVAR_EB C_lazy.N_relaxed -0.18 0.23 0.06 -0.04 0.24 0.24 0.06 -0.35
mlVAR_EB C_lazy.N_worried 2.28 -0.02 0.03 -0.07 1.83 -0.01 0.02 -0.15
mlVAR_EB C_reliable.E_outgoing 3.68 0.05 0.05 0.29 1.08 0.06 0.02 0.05
mlVAR_EB C_reliable.E_quiet 0.78 -0.04 0.02 -0.03 0.51 0.00 0.04 -0.37
mlVAR_EB C_reliable.N_depressed 0.80 -0.08 0.06 -0.26 3.80 -0.10 0.02 -0.80
mlVAR_EB C_reliable.N_relaxed 1.57 0.04 0.04 -0.30 2.43 0.03 0.05 0.17
mlVAR_EB C_reliable.N_worried 0.79 -0.02 0.03 -0.11 0.11 -0.06 0.01 -0.02
mlVAR_EB E_outgoing.E_quiet 0.85 -0.56 0.09 0.64 -0.21 -0.60 0.08 0.29
mlVAR_EB E_outgoing.N_depressed 0.83 -0.08 0.03 -0.53 0.11 -0.07 0.01 -0.08
mlVAR_EB E_outgoing.N_relaxed 0.53 0.09 0.04 0.02 0.34 0.09 0.06 -0.03
mlVAR_EB E_outgoing.N_worried 0.83 -0.07 0.00 0.14 1.44 -0.07 0.03 -0.32
mlVAR_EB E_quiet.N_depressed 0.68 0.03 0.01 0.25 2.15 0.03 0.03 0.71
mlVAR_EB E_quiet.N_relaxed 0.56 -0.03 0.02 0.11 2.46 0.01 0.03 -0.11
mlVAR_EB E_quiet.N_worried 0.57 0.02 0.02 0.00 0.46 0.02 0.01 -0.50
mlVAR_EB N_depressed.N_relaxed 0.88 -0.15 0.05 -0.37 1.34 -0.15 0.05 -0.32
mlVAR_EB N_depressed.N_worried 1.04 0.23 0.09 0.54 -0.39 0.22 0.07 0.27
mlVAR_EB N_relaxed.N_worried -0.05 -0.37 0.09 0.06 -0.04 -0.38 0.07 -0.05
scaled A_kind.A_rude 109.70 -0.01 0.04 -9.92 45.86 0.00 0.04 -0.07
scaled A_kind.C_lazy 33.67 -0.01 0.07 0.55 33.14 -0.01 0.05 -4.98
scaled A_kind.C_reliable 38.59 0.00 0.04 3.75 58.57 0.01 0.07 7.41
scaled A_kind.E_outgoing 7.15 0.03 0.07 2.51 14.06 0.03 0.07 3.53
scaled A_kind.E_quiet 13.79 -0.02 0.06 -3.65 27.08 -0.01 0.07 -2.82
scaled A_kind.N_depressed 50.36 -0.01 0.06 -0.96 72.04 0.00 0.02 -8.23
scaled A_kind.N_relaxed 38.06 0.01 0.05 5.16 20.06 0.01 0.05 2.02
scaled A_kind.N_worried 38.79 0.00 0.06 0.15 20.31 0.00 0.07 2.05
scaled A_rude.C_lazy 45.10 0.01 0.05 5.18 51.63 0.00 0.02 7.20
scaled A_rude.C_reliable 82.79 0.00 0.02 -7.51 133.39 0.00 0.01 -11.24
scaled A_rude.E_outgoing 82.66 0.00 0.02 4.93 69.97 0.00 0.02 8.27
scaled A_rude.E_quiet 50.18 0.00 0.03 -1.32 50.13 -0.01 0.04 -6.87
scaled A_rude.N_depressed 54.46 0.00 0.04 6.04 109.23 0.01 0.05 10.05
scaled A_rude.N_relaxed 65.59 0.00 0.03 -5.20 97.02 -0.01 0.06 -9.67
scaled A_rude.N_worried 50.74 0.00 0.04 1.99 73.38 0.01 0.04 8.23
scaled C_lazy.C_reliable 2.93 -0.07 0.13 -1.87 5.96 -0.06 0.13 -2.60
scaled C_lazy.E_outgoing 9.90 -0.03 0.10 -1.29 18.34 -0.02 0.07 -4.02
scaled C_lazy.E_quiet 10.59 0.02 0.10 0.71 15.67 0.01 0.09 -2.01
scaled C_lazy.N_depressed 28.18 0.01 0.06 3.61 29.35 0.00 0.05 3.10
scaled C_lazy.N_relaxed 4.34 0.05 0.10 1.92 9.44 0.04 0.09 2.95
scaled C_lazy.N_worried 44.17 -0.01 0.07 -4.08 26.26 0.00 0.07 2.10
scaled C_reliable.E_outgoing 12.46 0.02 0.08 1.49 14.37 0.02 0.04 3.44
scaled C_reliable.E_quiet 21.43 -0.02 0.06 -3.79 16.97 -0.01 0.05 -2.62
scaled C_reliable.N_depressed 23.77 -0.02 0.07 -4.73 39.68 -0.01 0.06 -6.10
scaled C_reliable.N_relaxed 30.45 0.01 0.07 1.39 19.08 0.01 0.05 2.96
scaled C_reliable.N_worried 28.31 -0.01 0.06 -1.54 56.66 0.00 0.07 3.50
scaled E_outgoing.E_quiet -0.94 -0.41 0.23 0.31 -1.38 -0.33 0.25 -0.13
scaled E_outgoing.N_depressed 11.91 -0.02 0.06 -3.38 51.90 -0.01 0.06 -6.26
scaled E_outgoing.N_relaxed 15.49 0.02 0.07 3.49 10.32 0.01 0.07 2.37
scaled E_outgoing.N_worried 11.69 -0.02 0.07 -2.54 26.52 -0.02 0.06 -4.36
scaled E_quiet.N_depressed 23.48 0.01 0.05 4.44 17.25 0.01 0.06 -0.72
scaled E_quiet.N_relaxed 15.64 -0.02 0.08 -2.44 14.96 0.00 0.07 -0.52
scaled E_quiet.N_worried 21.92 0.02 0.09 2.12 16.45 0.01 0.05 2.13
scaled N_depressed.N_relaxed 9.45 -0.03 0.08 -2.94 21.67 -0.02 0.08 -4.48
scaled N_depressed.N_worried 6.11 0.05 0.10 2.57 11.43 0.03 0.09 2.83
scaled N_relaxed.N_worried 0.70 -0.13 0.17 -1.28 4.43 -0.08 0.14 -2.16
unregularized A_kind.A_rude -0.06 -0.13 0.37 0.27 -0.50 -0.22 0.34 0.01
unregularized A_kind.C_lazy 0.76 0.01 0.32 0.03 0.66 -0.01 0.26 0.12
unregularized A_kind.C_reliable 0.66 0.14 0.33 -0.19 0.62 0.08 0.25 0.02
unregularized A_kind.E_outgoing 0.69 0.12 0.32 0.07 1.96 0.12 0.25 -0.06
unregularized A_kind.E_quiet 1.42 -0.02 0.32 0.70 0.31 -0.09 0.21 -0.07
unregularized A_kind.N_depressed 0.31 -0.06 0.33 -0.26 1.21 -0.06 0.28 -0.69
unregularized A_kind.N_relaxed 1.21 0.10 0.32 -0.54 0.06 0.10 0.22 0.17
unregularized A_kind.N_worried 0.70 -0.06 0.31 -0.34 1.63 0.02 0.29 0.88
unregularized A_rude.C_lazy 0.88 0.01 0.29 -0.22 1.40 0.05 0.26 -0.04
unregularized A_rude.C_reliable 0.33 -0.11 0.31 -0.27 1.56 0.02 0.27 0.40
unregularized A_rude.E_outgoing 1.08 0.07 0.29 0.41 2.01 0.01 0.28 0.46
unregularized A_rude.E_quiet 0.95 -0.06 0.29 0.41 1.38 -0.08 0.26 0.39
unregularized A_rude.N_depressed 0.39 0.07 0.31 0.00 2.28 0.02 0.28 -0.85
unregularized A_rude.N_relaxed 0.45 -0.05 0.30 -0.21 0.97 0.00 0.26 0.09
unregularized A_rude.N_worried 0.99 0.07 0.31 -0.15 1.80 0.10 0.30 0.67
unregularized C_lazy.C_reliable 0.55 -0.31 0.34 0.50 -0.51 -0.30 0.27 -0.03
unregularized C_lazy.E_outgoing 1.34 -0.03 0.31 0.67 0.83 -0.06 0.27 -0.25
unregularized C_lazy.E_quiet 0.69 0.05 0.32 0.20 -0.02 0.03 0.23 0.40
unregularized C_lazy.N_depressed 0.80 0.11 0.31 -0.17 1.62 0.05 0.26 -0.13
unregularized C_lazy.N_relaxed 1.18 0.27 0.32 -0.57 0.07 0.23 0.24 -0.27
unregularized C_lazy.N_worried 1.18 0.00 0.30 0.28 0.51 -0.04 0.29 -0.42
unregularized C_reliable.E_outgoing 1.07 0.08 0.30 0.10 2.03 0.11 0.24 0.48
unregularized C_reliable.E_quiet 1.44 -0.05 0.31 0.30 2.21 -0.01 0.24 0.32
unregularized C_reliable.N_depressed 0.38 -0.06 0.33 0.35 1.61 -0.06 0.26 0.16
unregularized C_reliable.N_relaxed 1.20 0.04 0.31 -0.19 1.64 0.05 0.23 0.22
unregularized C_reliable.N_worried 0.95 0.02 0.32 -0.15 0.89 -0.06 0.27 -0.59
unregularized E_outgoing.E_quiet 4.99 -0.65 0.27 1.76 3.47 -0.68 0.22 1.48
unregularized E_outgoing.N_depressed 0.96 -0.09 0.30 0.26 2.43 -0.03 0.26 0.55
unregularized E_outgoing.N_relaxed 0.32 0.06 0.33 -0.09 1.15 0.09 0.25 0.52
unregularized E_outgoing.N_worried 0.95 -0.10 0.30 -0.10 2.93 -0.07 0.25 0.01
unregularized E_quiet.N_depressed 0.80 0.00 0.30 0.14 1.18 0.07 0.22 0.64
unregularized E_quiet.N_relaxed 0.55 -0.03 0.33 -0.22 1.48 0.07 0.22 0.71
unregularized E_quiet.N_worried 0.87 0.04 0.32 0.16 0.91 0.02 0.23 -0.09
unregularized N_depressed.N_relaxed 1.34 -0.15 0.31 0.51 1.53 -0.11 0.27 0.90
unregularized N_depressed.N_worried 1.53 0.22 0.32 -0.71 0.40 0.25 0.29 -0.10
unregularized N_relaxed.N_worried 2.61 -0.39 0.31 1.13 0.05 -0.40 0.22 0.32
# get SIDs from models
SID_w1 <- as.character(unique((gVAR_fit %>% filter(wave == "1"))$SID))
SID_w2 <- as.character(unique((gVAR_fit %>% filter(wave == "2"))$SID))

# find subjects in both waves
w1w2_subs <- unique(SID_w1)[unique(SID_w1) %in% unique(SID_w2)]
## figure  
contemp_long %>% 
  filter(lambda_scale == ".25") %>%
  ggplot(aes(x = weight, y = var, fill = factor(wave))) +
  # tidybayes::geom_halfeyeh() +
  geom_density_ridges(rel_min_height = 0.025) +
  # geom_density() +
  labs(x = "From", y = "Edge Weight", 
       title = "Regularized Contemporaneous Partial Correlations") +
  facet_grid(~wave) +
  theme_classic() +
  theme(legend.position = "none")

Plots (Figures 2 & 3)

It’s easy to create simple plots of graphivalVAR objects in R. The code below exactly reproduces Figures 2 and 3 in the manuscript.

edge_colors <- RColorBrewer::brewer.pal(8, "Purples")[c(3,4,6)]
idio_plot_fun <- function(data, subject, wave, type){
  if(type == "Lagged"){data_mod <- data$PDC}
  else{data_mod <- data$PCC}
  b5_groups <- list(A = c(1,7), E = c(2, 6), C = c(3,8), N = c(4,5,9))
  subject <- ifelse(subject == "22652", "1", 
             ifelse(subject == "91339", "2", subject))
  plot <- 
    qgraph(data_mod, layout = "spring", loop = .7, node.width = 1.85, edge.width = 1,
           esize = 7, title = sprintf("%s Wave %s for S%s", type, wave, subject),
           label.font = 2, repulsion = .8, label.fill.vertical = 1, 
           label.fill.horizontal = 1, edge.color = "black", groups = b5_groups, 
           color = rev(t(RColorBrewer::brewer.pal(9, "Purples")[seq(1,7,2)])),
           legend = F, DoNotPlot = TRUE, mar = c(4,4,4,4))
  #change lines to dashed
  plot$graphAttributes$Edges$lty[plot$Edgelist$weight < 0] <- 2
  #change line colors
  plot$graphAttributes$Edges$color <-
    ifelse(abs(plot$Edgelist$weight) <.1, edge_colors[1],
    ifelse(abs(plot$Edgelist$weight) <.2, edge_colors[2], edge_colors[3]))
  # change labels of dark nodes to white
  dark_colors <- c("#9E9AC8", "#807DBA", "#6A51A3", "#54278F", "#3F007D")
  plot$graphAttributes$Nodes$label.color[plot$graphAttributes$Nodes$color %in% dark_colors] <- "white"
  #change variable names
  plot$graphAttributes$Nodes$labels <- gsub("_", "\n", names(plot$graphAttributes$Nodes$labels))
  return(plot)
}

gVAR_fit <- gVAR_fit %>%
  mutate(temp_plot = pmap(list(gVAR_fit, SID, wave, "Lagged"),
                          possibly(idio_plot_fun, NA_real_)),
         contemp_plot = pmap(list(gVAR_fit, SID, wave, "Contemporaneous"),
                          possibly(idio_plot_fun, NA_real_)))

Below we will print the two example subjects (22652 = 1; 91339 = 2) from the manuscript.

Subject 22652

par(mfrow = c(2,2))
gVAR_fit %>% filter(SID %in% c("22652") & lambda_scale == ".25") %>% 
  mutate(map(temp_plot, plot), map(contemp_plot, plot))

Subject 91339

par(mfrow = c(2,2))
gVAR_fit %>% filter(SID %in% c("91339") & lambda_scale == ".25") %>% 
  mutate(map(temp_plot, plot), map(contemp_plot, plot))

Tables

We might also want to see a table of the individual edge weights over time, so below we produce a table for both contemporaneous and lagged network edges.

Lagged

gVAR_fit %>% filter(SID %in% c("22652", "91339")) %>%
  unnest(temp) %>% select(SID, wave, lambda_scale, from, to, weight) %>%
  mutate_at(vars(from,to), funs(str_replace(., "_", " "))) %>%
  unite(temp, SID, wave, sep = ".") %>%
  spread(key = temp, value = weight) %>%
  kable(., "html", booktabs = T, escape = F, digits = 2,
        col.names = c("Network Type", "From", "To", "W1", "W2", "W1", "W2"),
        align = c("l", "l", "l", rep("c", 4)),
        caption = "Lagged Networks") %>%
  add_header_above(c(" " = 3, "S1" = 2,"S2" = 2)) %>%
  kable_styling(bootstrap_options = c("striped"), full_width = T) %>%
  scroll_box(width = "750px", height = "400px")
Lagged Networks
S1
S2
Network Type From To W1 W2 W1 W2
.25 A kind A kind 0.00 0.00 0.00 0.22
.25 A kind A rude 0.12 0.00 0.00 0.13
.25 A kind C lazy 0.00 0.00 0.00 0.00
.25 A kind C reliable 0.00 0.00 0.00 0.00
.25 A kind E outgoing 0.00 0.00 0.00 0.11
.25 A kind E quiet 0.00 0.00 0.00 0.00
.25 A kind N depressed 0.00 0.00 0.00 0.00
.25 A kind N relaxed 0.00 0.00 0.00 0.00
.25 A kind N worried 0.00 0.00 0.00 0.00
.25 A rude A kind 0.00 0.00 0.00 -0.07
.25 A rude A rude 0.00 0.12 -0.04 0.00
.25 A rude C lazy 0.00 0.00 0.00 0.00
.25 A rude C reliable 0.00 0.00 0.00 0.00
.25 A rude E outgoing 0.00 0.00 0.00 0.00
.25 A rude E quiet 0.00 0.00 0.00 0.00
.25 A rude N depressed 0.00 0.00 0.00 0.00
.25 A rude N relaxed 0.00 0.00 0.00 0.05
.25 A rude N worried 0.00 0.00 0.00 0.00
.25 C lazy A kind 0.00 0.20 0.20 0.00
.25 C lazy A rude 0.31 0.00 0.37 0.00
.25 C lazy C lazy 0.05 0.00 0.18 -0.15
.25 C lazy C reliable 0.00 0.00 -0.26 -0.15
.25 C lazy E outgoing 0.00 0.00 0.00 0.11
.25 C lazy E quiet 0.00 0.00 -0.12 0.02
.25 C lazy N depressed 0.00 0.00 0.07 0.00
.25 C lazy N relaxed 0.00 0.00 0.00 0.00
.25 C lazy N worried 0.00 0.00 0.00 0.00
.25 C reliable A kind 0.00 0.00 0.00 -0.05
.25 C reliable A rude 0.54 0.00 0.23 0.00
.25 C reliable C lazy 0.00 0.00 0.00 0.32
.25 C reliable C reliable 0.00 0.00 -0.32 0.00
.25 C reliable E outgoing 0.00 0.00 0.00 0.00
.25 C reliable E quiet 0.00 0.00 0.00 0.00
.25 C reliable N depressed 0.00 0.00 0.00 0.04
.25 C reliable N relaxed 0.00 0.00 0.00 0.00
.25 C reliable N worried 0.00 0.00 0.00 0.00
.25 E outgoing A kind 0.00 -0.20 -0.19 -0.24
.25 E outgoing A rude -0.31 0.00 -0.01 0.00
.25 E outgoing C lazy 0.00 0.02 0.00 0.00
.25 E outgoing C reliable 0.00 0.00 0.00 0.00
.25 E outgoing E outgoing 0.00 0.00 0.00 -0.08
.25 E outgoing E quiet 0.00 0.00 0.00 0.00
.25 E outgoing N depressed 0.00 0.00 -0.18 0.00
.25 E outgoing N relaxed 0.00 0.00 0.00 0.00
.25 E outgoing N worried 0.00 0.00 0.00 0.00
.25 E quiet A kind 0.00 0.00 0.19 0.00
.25 E quiet A rude 0.17 -0.09 0.14 0.00
.25 E quiet C lazy 0.00 0.00 0.00 0.02
.25 E quiet C reliable 0.00 -0.02 0.42 0.00
.25 E quiet E outgoing 0.00 0.00 0.00 0.00
.25 E quiet E quiet 0.00 0.00 0.00 0.00
.25 E quiet N depressed -0.03 0.00 0.02 0.00
.25 E quiet N relaxed 0.00 0.00 -0.16 -0.23
.25 E quiet N worried 0.00 0.01 0.00 -0.08
.25 N depressed A kind 0.00 -0.05 -0.04 0.00
.25 N depressed A rude 0.32 0.32 0.00 0.00
.25 N depressed C lazy 0.00 0.00 0.00 0.00
.25 N depressed C reliable 0.00 0.00 0.00 0.00
.25 N depressed E outgoing 0.00 -0.07 -0.01 0.18
.25 N depressed E quiet 0.00 0.00 0.00 0.00
.25 N depressed N depressed 0.07 0.00 0.00 0.28
.25 N depressed N relaxed 0.00 0.00 0.00 0.00
.25 N depressed N worried 0.00 0.00 0.04 0.22
.25 N relaxed A kind 0.00 0.00 0.00 0.00
.25 N relaxed A rude -0.61 0.00 0.00 0.00
.25 N relaxed C lazy 0.00 0.00 0.08 0.00
.25 N relaxed C reliable 0.00 0.00 0.03 -0.03
.25 N relaxed E outgoing 0.00 0.00 0.00 0.00
.25 N relaxed E quiet 0.00 0.00 0.00 0.00
.25 N relaxed N depressed 0.00 0.00 0.00 0.00
.25 N relaxed N relaxed 0.00 0.00 0.00 0.00
.25 N relaxed N worried 0.00 0.00 -0.06 -0.06
.25 N worried A kind -0.11 -0.45 0.16 -0.06
.25 N worried A rude -0.18 0.00 0.31 0.00
.25 N worried C lazy 0.00 0.00 0.00 0.00
.25 N worried C reliable 0.00 0.00 0.00 0.00
.25 N worried E outgoing 0.00 0.00 0.00 0.00
.25 N worried E quiet 0.00 0.00 0.00 0.00
.25 N worried N depressed 0.00 0.00 0.30 0.06
.25 N worried N relaxed 0.00 0.00 -0.26 -0.08
.25 N worried N worried 0.00 0.00 0.00 0.00
.5 A kind A kind 0.00 0.00 0.00 0.00
.5 A kind A rude 0.13 0.00 0.00 0.00
.5 A kind C lazy 0.00 0.00 0.00 0.00
.5 A kind C reliable 0.00 0.00 0.00 0.00
.5 A kind E outgoing 0.00 0.00 0.00 0.00
.5 A kind E quiet 0.00 0.00 0.00 0.00
.5 A kind N depressed 0.00 0.00 0.00 0.00
.5 A kind N relaxed 0.00 0.00 0.00 0.00
.5 A kind N worried 0.00 0.00 0.00 0.00
.5 A rude A kind 0.00 0.00 0.00 0.00
.5 A rude A rude 0.00 0.00 0.00 0.00
.5 A rude C lazy 0.00 0.00 0.00 0.00
.5 A rude C reliable 0.00 0.00 0.00 0.00
.5 A rude E outgoing 0.00 0.00 0.00 0.00
.5 A rude E quiet 0.00 0.00 0.00 0.00
.5 A rude N depressed 0.00 0.00 0.00 0.00
.5 A rude N relaxed 0.00 0.00 0.00 0.00
.5 A rude N worried 0.00 0.00 0.00 0.00
.5 C lazy A kind 0.00 0.14 0.12 0.00
.5 C lazy A rude 0.28 0.00 0.32 0.00
.5 C lazy C lazy 0.00 0.00 0.00 0.00
.5 C lazy C reliable 0.00 0.00 0.00 0.00
.5 C lazy E outgoing 0.00 0.00 0.00 0.00
.5 C lazy E quiet 0.00 0.00 0.00 0.00
.5 C lazy N depressed 0.00 0.00 0.00 0.00
.5 C lazy N relaxed 0.00 0.00 0.00 0.00
.5 C lazy N worried 0.00 0.00 0.00 0.00
.5 C reliable A kind 0.00 0.00 0.00 0.00
.5 C reliable A rude 0.50 0.00 0.16 0.00
.5 C reliable C lazy 0.00 0.00 0.00 0.00
.5 C reliable C reliable 0.00 0.00 0.00 0.00
.5 C reliable E outgoing 0.00 0.00 0.00 0.00
.5 C reliable E quiet 0.00 0.00 0.00 0.00
.5 C reliable N depressed 0.00 0.00 0.00 0.00
.5 C reliable N relaxed 0.00 0.00 0.00 0.00
.5 C reliable N worried 0.00 0.00 0.00 0.00
.5 E outgoing A kind 0.00 -0.13 -0.16 0.00
.5 E outgoing A rude -0.29 0.00 0.00 0.00
.5 E outgoing C lazy 0.00 0.00 0.00 0.00
.5 E outgoing C reliable 0.00 0.00 0.00 0.00
.5 E outgoing E outgoing 0.00 0.00 0.00 0.00
.5 E outgoing E quiet 0.00 0.00 0.00 0.00
.5 E outgoing N depressed 0.00 0.00 0.00 0.00
.5 E outgoing N relaxed 0.00 0.00 0.00 0.00
.5 E outgoing N worried 0.00 0.00 0.00 0.00
.5 E quiet A kind 0.00 0.00 0.14 0.00
.5 E quiet A rude 0.17 -0.04 0.18 0.00
.5 E quiet C lazy 0.00 0.00 0.00 0.00
.5 E quiet C reliable 0.00 0.00 0.00 0.00
.5 E quiet E outgoing 0.00 0.00 0.00 0.00
.5 E quiet E quiet 0.00 0.00 0.00 0.00
.5 E quiet N depressed 0.00 0.00 0.00 0.00
.5 E quiet N relaxed 0.00 0.00 0.00 0.00
.5 E quiet N worried 0.00 0.00 0.00 0.00
.5 N depressed A kind 0.00 0.00 0.00 0.00
.5 N depressed A rude 0.29 0.22 0.00 0.00
.5 N depressed C lazy 0.00 0.00 0.00 0.00
.5 N depressed C reliable 0.00 0.00 0.00 0.00
.5 N depressed E outgoing 0.00 0.00 0.00 0.00
.5 N depressed E quiet 0.00 0.00 0.00 0.00
.5 N depressed N depressed 0.00 0.00 0.00 0.00
.5 N depressed N relaxed 0.00 0.00 0.00 0.00
.5 N depressed N worried 0.00 0.00 0.00 0.00
.5 N relaxed A kind 0.00 0.00 0.00 0.00
.5 N relaxed A rude -0.59 0.00 0.00 0.00
.5 N relaxed C lazy 0.00 0.00 0.00 0.00
.5 N relaxed C reliable 0.00 0.00 0.00 0.00
.5 N relaxed E outgoing 0.00 0.00 0.00 0.00
.5 N relaxed E quiet 0.00 0.00 0.00 0.00
.5 N relaxed N depressed 0.00 0.00 0.00 0.00
.5 N relaxed N relaxed 0.00 0.00 0.00 0.00
.5 N relaxed N worried 0.00 0.00 0.00 0.00
.5 N worried A kind 0.00 -0.38 0.03 0.00
.5 N worried A rude -0.16 0.00 0.22 0.00
.5 N worried C lazy 0.00 0.00 0.00 0.00
.5 N worried C reliable 0.00 0.00 0.00 0.00
.5 N worried E outgoing 0.00 0.00 0.00 0.00
.5 N worried E quiet 0.00 0.00 0.00 0.00
.5 N worried N depressed 0.00 0.00 0.00 0.00
.5 N worried N relaxed 0.00 0.00 0.00 0.00
.5 N worried N worried 0.00 0.00 0.00 0.00
association A kind A kind 0.08 -0.05 0.25 0.40
association A kind A rude 0.31 0.04 0.01 0.30
association A kind C lazy 0.16 0.27 -0.04 0.33
association A kind C reliable -0.14 -0.34 -0.02 -0.07
association A kind E outgoing -0.11 -0.01 -0.41 0.24
association A kind E quiet 0.31 0.13 0.33 -0.30
association A kind N depressed -0.05 -0.03 0.56 -0.03
association A kind N relaxed 0.07 0.35 -0.29 0.35
association A kind N worried -0.04 -0.23 0.47 -0.18
association A rude A kind 0.07 -0.30 -0.02 -0.34
association A rude A rude -0.15 0.29 -0.14 -0.04
association A rude C lazy -0.01 -0.04 -0.21 0.41
association A rude C reliable 0.16 0.07 -0.23 0.02
association A rude E outgoing 0.20 -0.17 -0.03 -0.11
association A rude E quiet -0.23 0.12 -0.28 0.19
association A rude N depressed -0.24 0.24 0.14 0.02
association A rude N relaxed 0.32 -0.02 -0.11 0.37
association A rude N worried -0.24 0.28 0.17 -0.05
association C lazy A kind -0.05 0.23 0.27 -0.07
association C lazy A rude 0.04 0.01 0.29 0.00
association C lazy C lazy 0.33 0.11 0.50 -0.38
association C lazy C reliable -0.21 -0.17 -0.34 -0.35
association C lazy E outgoing -0.05 -0.12 0.07 0.13
association C lazy E quiet 0.02 0.09 -0.39 0.22
association C lazy N depressed 0.15 -0.10 -0.02 -0.20
association C lazy N relaxed 0.07 -0.05 0.26 0.02
association C lazy N worried -0.02 -0.04 -0.21 -0.02
association C reliable A kind 0.05 -0.10 0.09 -0.17
association C reliable A rude 0.06 0.12 0.31 -0.06
association C reliable C lazy -0.22 -0.17 -0.31 0.43
association C reliable C reliable 0.16 0.25 -0.33 -0.15
association C reliable E outgoing 0.01 0.15 0.20 0.01
association C reliable E quiet 0.07 -0.13 -0.31 -0.14
association C reliable N depressed -0.16 0.02 -0.15 0.22
association C reliable N relaxed -0.16 0.01 -0.14 -0.02
association C reliable N worried 0.06 0.03 0.01 0.16
association E outgoing A kind 0.08 -0.20 -0.41 -0.39
association E outgoing A rude 0.17 -0.01 -0.24 0.17
association E outgoing C lazy -0.16 0.28 -0.06 0.03
association E outgoing C reliable 0.10 -0.18 -0.22 -0.21
association E outgoing E outgoing 0.03 0.01 0.17 -0.28
association E outgoing E quiet -0.08 -0.04 -0.16 0.00
association E outgoing N depressed -0.04 0.09 -0.43 0.04
association E outgoing N relaxed -0.02 0.05 0.12 0.19
association E outgoing N worried -0.01 0.10 -0.05 -0.12
association E quiet A kind -0.10 0.09 0.34 0.12
association E quiet A rude -0.03 -0.15 0.36 -0.02
association E quiet C lazy -0.04 -0.02 -0.27 0.18
association E quiet C reliable 0.02 -0.13 0.32 0.13
association E quiet E outgoing -0.05 -0.06 0.13 0.12
association E quiet E quiet -0.03 0.11 0.01 -0.04
association E quiet N depressed -0.19 0.11 0.30 -0.03
association E quiet N relaxed -0.01 -0.09 -0.46 -0.17
association E quiet N worried -0.08 0.17 0.18 -0.23
association N depressed A kind -0.03 -0.30 0.01 -0.19
association N depressed A rude -0.16 0.40 0.11 -0.14
association N depressed C lazy 0.12 -0.15 -0.42 -0.11
association N depressed C reliable -0.13 0.22 0.16 0.11
association N depressed E outgoing 0.12 -0.36 -0.24 0.24
association N depressed E quiet -0.20 0.09 0.17 0.17
association N depressed N depressed 0.34 -0.05 0.46 0.55
association N depressed N relaxed 0.14 -0.26 -0.41 -0.25
association N depressed N worried 0.13 -0.10 0.43 0.50
association N relaxed A kind 0.06 0.12 -0.03 0.10
association N relaxed A rude 0.25 -0.04 -0.01 0.06
association N relaxed C lazy 0.19 0.15 0.51 -0.02
association N relaxed C reliable -0.14 -0.11 0.09 -0.31
association N relaxed E outgoing 0.17 -0.15 0.19 0.04
association N relaxed E quiet -0.09 0.20 -0.11 0.22
association N relaxed N depressed 0.09 -0.01 -0.41 -0.20
association N relaxed N relaxed 0.06 -0.02 0.38 0.23
association N relaxed N worried -0.13 -0.03 -0.39 -0.42
association N worried A kind -0.24 -0.47 0.28 -0.31
association N worried A rude -0.35 0.23 0.30 -0.03
association N worried C lazy -0.24 0.00 -0.37 -0.01
association N worried C reliable 0.14 -0.02 0.17 0.12
association N worried E outgoing 0.21 -0.38 -0.21 -0.07
association N worried E quiet -0.12 0.25 -0.02 0.07
association N worried N depressed 0.06 0.08 0.65 0.42
association N worried N relaxed -0.21 -0.03 -0.67 -0.36
association N worried N worried 0.22 0.03 0.44 0.31
gimme A kind A kind 0.19 -0.13 0.24 0.46
gimme A kind A rude 0.00 0.00 0.00 -0.33
gimme A kind C lazy 0.00 0.34 0.00 0.00
gimme A kind C reliable 0.00 0.00 0.00 0.00
gimme A kind E outgoing 0.00 0.00 0.00 -0.33
gimme A kind E quiet 0.00 0.00 0.00 0.00
gimme A kind N depressed 0.00 0.00 0.00 0.00
gimme A kind N relaxed 0.00 0.00 0.00 0.00
gimme A kind N worried 0.00 -0.56 0.00 0.00
gimme A rude A kind 0.00 0.00 -0.40 0.33
gimme A rude A rude -0.10 0.33 0.07 -0.03
gimme A rude C lazy 0.00 0.00 0.97 0.00
gimme A rude C reliable 0.00 0.00 0.95 0.00
gimme A rude E outgoing 0.00 0.00 0.00 0.00
gimme A rude E quiet 0.00 0.00 0.00 0.00
gimme A rude N depressed 0.00 0.43 0.00 0.00
gimme A rude N relaxed 0.00 0.00 0.00 0.00
gimme A rude N worried 0.00 0.00 0.90 0.00
gimme C lazy A kind 0.00 0.00 0.00 0.00
gimme C lazy A rude 0.00 0.00 0.00 0.00
gimme C lazy C lazy 0.33 -0.05 0.36 -0.30
gimme C lazy C reliable 0.00 0.00 0.00 0.46
gimme C lazy E outgoing 0.00 0.00 0.00 0.00
gimme C lazy E quiet 0.00 0.00 0.00 0.32
gimme C lazy N depressed 0.00 0.00 0.00 0.00
gimme C lazy N relaxed 0.00 0.00 0.00 0.00
gimme C lazy N worried 0.00 0.00 0.00 0.00
gimme C reliable A kind 0.00 -0.54 0.00 0.00
gimme C reliable A rude 0.00 0.00 -0.44 0.00
gimme C reliable C lazy 0.00 0.00 0.00 -0.41
gimme C reliable C reliable 0.00 0.22 -0.56 -0.25
gimme C reliable E outgoing 0.00 0.00 -0.51 0.00
gimme C reliable E quiet 0.00 0.00 0.43 0.00
gimme C reliable N depressed 0.00 0.00 0.00 0.00
gimme C reliable N relaxed 0.00 0.00 0.00 0.00
gimme C reliable N worried 0.00 0.00 0.00 0.00
gimme E outgoing A kind 0.00 0.00 -0.39 0.00
gimme E outgoing A rude 0.00 0.00 0.00 0.00
gimme E outgoing C lazy 0.00 0.00 0.00 0.00
gimme E outgoing C reliable 0.00 0.00 0.00 0.00
gimme E outgoing E outgoing -0.03 -0.08 0.08 -0.30
gimme E outgoing E quiet 0.00 0.00 0.00 0.00
gimme E outgoing N depressed 0.00 -0.32 0.00 0.41
gimme E outgoing N relaxed 0.00 0.00 0.00 0.00
gimme E outgoing N worried 0.00 0.00 0.00 0.00
gimme E quiet A kind 0.00 0.00 0.00 0.00
gimme E quiet A rude 0.00 0.00 0.00 0.00
gimme E quiet C lazy 0.00 0.00 0.00 0.00
gimme E quiet C reliable 0.00 0.00 0.00 0.00
gimme E quiet E outgoing 0.00 0.00 0.00 0.00
gimme E quiet E quiet -0.06 0.15 -0.24 0.02
gimme E quiet N depressed 0.00 0.00 0.00 0.00
gimme E quiet N relaxed 0.00 0.00 0.00 0.00
gimme E quiet N worried 0.00 0.00 0.00 0.00
gimme N depressed A kind 0.00 0.00 0.00 0.00
gimme N depressed A rude 0.00 0.00 0.00 0.00
gimme N depressed C lazy 0.00 0.00 0.88 0.00
gimme N depressed C reliable 0.00 0.00 0.00 0.00
gimme N depressed E outgoing 0.00 0.00 0.00 0.00
gimme N depressed E quiet 0.00 0.00 0.00 0.00
gimme N depressed N depressed 0.27 -0.05 -0.21 0.55
gimme N depressed N relaxed 0.00 0.00 -0.80 0.00
gimme N depressed N worried 0.00 0.00 0.00 0.00
gimme N relaxed A kind 0.00 0.00 0.00 0.00
gimme N relaxed A rude 0.00 0.00 0.00 0.33
gimme N relaxed C lazy 0.00 0.00 0.00 0.00
gimme N relaxed C reliable 0.00 0.00 0.00 0.00
gimme N relaxed E outgoing 0.00 0.00 0.00 0.00
gimme N relaxed E quiet 0.00 0.00 -0.34 -0.47
gimme N relaxed N depressed 0.00 0.00 0.00 0.30
gimme N relaxed N relaxed -0.09 -0.15 -0.15 -0.06
gimme N relaxed N worried 0.00 0.00 -0.77 0.00
gimme N worried A kind 0.00 0.00 0.39 -0.37
gimme N worried A rude 0.00 0.00 0.00 0.00
gimme N worried C lazy 0.00 0.00 0.00 0.00
gimme N worried C reliable 0.00 0.00 0.00 0.00
gimme N worried E outgoing 0.00 0.00 0.00 0.00
gimme N worried E quiet 0.00 0.00 0.00 -0.32
gimme N worried N depressed 0.00 0.00 0.00 0.00
gimme N worried N relaxed 0.00 0.00 0.00 -0.50
gimme N worried N worried 0.20 -0.09 0.35 -0.28
mlVAR_EB A kind A kind 0.02 0.07 0.05 0.14
mlVAR_EB A kind A rude -0.01 0.00 -0.02 0.00
mlVAR_EB A kind C lazy 0.00 0.02 0.02 0.02
mlVAR_EB A kind C reliable 0.03 -0.01 0.03 -0.01
mlVAR_EB A kind E outgoing 0.01 -0.02 0.00 -0.02
mlVAR_EB A kind E quiet 0.00 0.01 0.00 0.01
mlVAR_EB A kind N depressed 0.02 -0.06 0.03 -0.04
mlVAR_EB A kind N relaxed 0.00 -0.02 0.00 -0.01
mlVAR_EB A kind N worried -0.02 -0.05 -0.01 -0.05
mlVAR_EB A rude A kind 0.00 0.02 0.00 0.07
mlVAR_EB A rude A rude 0.04 0.09 0.00 0.01
mlVAR_EB A rude C lazy -0.01 0.04 0.01 0.01
mlVAR_EB A rude C reliable -0.01 0.00 0.01 -0.01
mlVAR_EB A rude E outgoing 0.00 0.00 -0.01 0.00
mlVAR_EB A rude E quiet 0.01 -0.01 0.01 -0.01
mlVAR_EB A rude N depressed -0.02 0.00 -0.01 0.00
mlVAR_EB A rude N relaxed 0.01 0.01 0.01 0.01
mlVAR_EB A rude N worried 0.00 0.05 0.01 0.02
mlVAR_EB C lazy A kind -0.04 0.09 -0.03 0.05
mlVAR_EB C lazy A rude 0.02 -0.01 -0.01 0.06
mlVAR_EB C lazy C lazy 0.05 0.06 0.22 -0.05
mlVAR_EB C lazy C reliable 0.01 0.02 0.01 0.02
mlVAR_EB C lazy E outgoing -0.04 0.02 0.00 0.02
mlVAR_EB C lazy E quiet 0.00 -0.01 -0.01 -0.01
mlVAR_EB C lazy N depressed 0.03 0.02 -0.02 0.01
mlVAR_EB C lazy N relaxed 0.05 0.02 0.05 0.01
mlVAR_EB C lazy N worried -0.02 -0.04 -0.07 -0.05
mlVAR_EB C reliable A kind 0.05 -0.04 0.00 0.00
mlVAR_EB C reliable A rude -0.02 0.03 -0.02 0.01
mlVAR_EB C reliable C lazy -0.02 -0.03 -0.02 -0.03
mlVAR_EB C reliable C reliable 0.03 0.09 -0.05 0.01
mlVAR_EB C reliable E outgoing 0.01 -0.02 0.00 -0.02
mlVAR_EB C reliable E quiet 0.01 0.00 0.01 0.00
mlVAR_EB C reliable N depressed -0.02 0.04 0.00 0.01
mlVAR_EB C reliable N relaxed -0.01 0.01 -0.01 0.01
mlVAR_EB C reliable N worried 0.00 -0.01 0.00 -0.01
mlVAR_EB E outgoing A kind -0.03 0.02 -0.03 0.02
mlVAR_EB E outgoing A rude -0.03 -0.01 -0.03 -0.01
mlVAR_EB E outgoing C lazy -0.03 0.03 -0.02 0.04
mlVAR_EB E outgoing C reliable -0.03 0.06 0.03 0.05
mlVAR_EB E outgoing E outgoing 0.05 0.02 0.01 0.02
mlVAR_EB E outgoing E quiet 0.01 0.00 0.01 0.00
mlVAR_EB E outgoing N depressed 0.03 -0.08 0.00 0.00
mlVAR_EB E outgoing N relaxed 0.03 0.01 0.02 0.01
mlVAR_EB E outgoing N worried -0.08 -0.05 -0.07 -0.03
mlVAR_EB E quiet A kind 0.04 -0.02 0.02 -0.02
mlVAR_EB E quiet A rude 0.03 0.01 0.03 0.01
mlVAR_EB E quiet C lazy 0.04 -0.02 0.00 -0.02
mlVAR_EB E quiet C reliable 0.01 -0.03 -0.04 -0.04
mlVAR_EB E quiet E outgoing -0.01 0.01 -0.01 0.01
mlVAR_EB E quiet E quiet -0.01 0.02 -0.01 0.03
mlVAR_EB E quiet N depressed -0.01 0.00 0.00 0.00
mlVAR_EB E quiet N relaxed -0.01 0.11 -0.01 0.04
mlVAR_EB E quiet N worried 0.05 0.17 0.03 0.09
mlVAR_EB N depressed A kind 0.01 0.03 0.01 0.03
mlVAR_EB N depressed A rude 0.03 0.03 0.03 0.03
mlVAR_EB N depressed C lazy 0.01 -0.02 0.02 -0.01
mlVAR_EB N depressed C reliable 0.00 -0.02 -0.04 -0.01
mlVAR_EB N depressed E outgoing 0.01 0.03 0.01 0.00
mlVAR_EB N depressed E quiet 0.00 0.00 0.00 0.00
mlVAR_EB N depressed N depressed 0.09 -0.01 0.20 0.37
mlVAR_EB N depressed N relaxed -0.02 0.00 -0.02 0.00
mlVAR_EB N depressed N worried 0.08 0.01 0.16 0.06
mlVAR_EB N relaxed A kind -0.01 0.07 -0.01 0.04
mlVAR_EB N relaxed A rude -0.05 -0.02 -0.06 -0.02
mlVAR_EB N relaxed C lazy -0.01 0.03 0.02 0.03
mlVAR_EB N relaxed C reliable -0.04 0.02 -0.03 0.02
mlVAR_EB N relaxed E outgoing -0.02 -0.02 -0.02 -0.02
mlVAR_EB N relaxed E quiet 0.00 -0.06 -0.01 -0.05
mlVAR_EB N relaxed N depressed -0.01 -0.08 -0.01 -0.06
mlVAR_EB N relaxed N relaxed 0.02 0.03 0.03 0.05
mlVAR_EB N relaxed N worried -0.09 -0.07 -0.25 -0.09
mlVAR_EB N worried A kind 0.02 -0.02 0.02 0.01
mlVAR_EB N worried A rude 0.04 0.05 0.05 0.05
mlVAR_EB N worried C lazy 0.01 0.01 0.01 0.00
mlVAR_EB N worried C reliable 0.08 -0.03 0.00 -0.01
mlVAR_EB N worried E outgoing 0.01 0.04 0.01 0.04
mlVAR_EB N worried E quiet 0.01 0.02 0.01 0.01
mlVAR_EB N worried N depressed 0.01 -0.04 0.04 0.07
mlVAR_EB N worried N relaxed -0.05 0.02 -0.05 -0.05
mlVAR_EB N worried N worried 0.08 0.12 0.18 0.20
scaled A kind A kind 0.00 0.00 0.00 0.17
scaled A kind A rude 0.14 0.00 0.00 0.08
scaled A kind C lazy 0.00 0.00 0.00 0.00
scaled A kind C reliable 0.00 0.00 0.00 0.00
scaled A kind E outgoing 0.00 0.00 0.00 0.06
scaled A kind E quiet 0.00 0.00 0.00 0.00
scaled A kind N depressed 0.00 0.00 0.12 0.00
scaled A kind N relaxed 0.00 0.00 0.00 0.00
scaled A kind N worried 0.00 0.00 0.01 0.00
scaled A rude A kind 0.00 0.00 0.00 0.00
scaled A rude A rude 0.00 0.00 -0.05 0.00
scaled A rude C lazy 0.00 0.00 0.00 0.00
scaled A rude C reliable 0.00 0.00 0.00 0.00
scaled A rude E outgoing 0.00 0.00 0.00 0.00
scaled A rude E quiet 0.00 0.00 0.00 0.00
scaled A rude N depressed 0.00 0.00 0.00 0.00
scaled A rude N relaxed 0.00 0.00 0.00 0.00
scaled A rude N worried 0.00 0.00 0.00 0.00
scaled C lazy A kind 0.00 0.10 0.21 0.00
scaled C lazy A rude 0.30 0.00 0.40 0.00
scaled C lazy C lazy 0.00 0.00 0.20 -0.13
scaled C lazy C reliable 0.00 0.00 -0.44 -0.15
scaled C lazy E outgoing 0.00 0.00 0.00 0.04
scaled C lazy E quiet 0.00 0.00 -0.17 0.00
scaled C lazy N depressed 0.00 0.00 0.05 0.00
scaled C lazy N relaxed 0.00 0.00 0.00 0.00
scaled C lazy N worried 0.00 0.00 0.00 0.00
scaled C reliable A kind 0.00 0.00 0.00 0.00
scaled C reliable A rude 0.58 0.00 0.22 0.00
scaled C reliable C lazy 0.00 0.00 0.00 0.19
scaled C reliable C reliable 0.00 0.00 -0.36 0.00
scaled C reliable E outgoing 0.00 0.00 0.00 0.00
scaled C reliable E quiet 0.00 0.00 0.00 0.00
scaled C reliable N depressed 0.00 0.00 0.00 0.00
scaled C reliable N relaxed 0.00 0.00 0.00 0.00
scaled C reliable N worried 0.00 0.00 0.00 0.00
scaled E outgoing A kind 0.00 -0.08 -0.21 -0.13
scaled E outgoing A rude -0.31 0.00 -0.02 0.00
scaled E outgoing C lazy 0.00 0.00 0.00 0.00
scaled E outgoing C reliable 0.00 0.00 -0.04 0.00
scaled E outgoing E outgoing 0.00 0.00 0.00 -0.02
scaled E outgoing E quiet 0.00 0.00 0.00 0.00
scaled E outgoing N depressed 0.00 0.00 -0.18 0.00
scaled E outgoing N relaxed 0.00 0.00 0.00 0.00
scaled E outgoing N worried 0.00 0.00 0.00 0.00
scaled E quiet A kind 0.00 0.00 0.21 0.00
scaled E quiet A rude 0.20 -0.02 0.15 0.00
scaled E quiet C lazy 0.00 0.00 0.00 0.00
scaled E quiet C reliable 0.00 0.00 0.48 0.00
scaled E quiet E outgoing 0.00 0.00 0.00 0.00
scaled E quiet E quiet 0.00 0.00 0.00 0.00
scaled E quiet N depressed 0.00 0.00 0.04 0.00
scaled E quiet N relaxed 0.00 0.00 -0.19 -0.13
scaled E quiet N worried 0.00 0.00 0.00 -0.05
scaled N depressed A kind 0.00 0.00 -0.04 0.00
scaled N depressed A rude 0.30 0.18 0.00 0.00
scaled N depressed C lazy 0.00 0.00 0.00 0.00
scaled N depressed C reliable 0.00 0.00 0.00 0.00
scaled N depressed E outgoing 0.00 0.00 -0.01 0.10
scaled N depressed E quiet 0.00 0.00 0.00 0.00
scaled N depressed N depressed 0.00 0.00 0.02 0.28
scaled N depressed N relaxed 0.00 0.00 0.00 0.00
scaled N depressed N worried 0.00 0.00 0.10 0.20
scaled N relaxed A kind 0.00 0.00 0.00 0.00
scaled N relaxed A rude -0.62 0.00 0.00 0.00
scaled N relaxed C lazy 0.00 0.00 0.07 0.00
scaled N relaxed C reliable 0.00 0.00 0.15 0.00
scaled N relaxed E outgoing 0.00 0.00 0.00 0.00
scaled N relaxed E quiet 0.00 0.00 0.00 0.00
scaled N relaxed N depressed 0.00 0.00 0.00 0.00
scaled N relaxed N relaxed 0.00 0.00 0.00 0.00
scaled N relaxed N worried 0.00 0.00 -0.05 0.00
scaled N worried A kind 0.00 -0.31 0.17 -0.07
scaled N worried A rude -0.15 0.00 0.35 0.00
scaled N worried C lazy 0.00 0.00 0.00 0.00
scaled N worried C reliable 0.00 0.00 0.00 0.00
scaled N worried E outgoing 0.00 0.00 0.00 0.00
scaled N worried E quiet 0.00 0.00 0.00 0.00
scaled N worried N depressed 0.00 0.00 0.41 0.04
scaled N worried N relaxed 0.00 0.00 -0.34 -0.06
scaled N worried N worried 0.00 0.00 0.06 0.00
unregularized A kind A kind -0.01 -0.08 0.05 0.33
unregularized A kind A rude 0.11 0.22 -0.04 0.23
unregularized A kind C lazy 0.01 0.16 0.00 0.27
unregularized A kind C reliable -0.05 -0.27 -0.02 0.06
unregularized A kind E outgoing -0.05 -0.09 -0.13 0.23
unregularized A kind E quiet 0.25 0.13 0.14 -0.10
unregularized A kind N depressed -0.12 0.02 0.16 0.03
unregularized A kind N relaxed 0.00 0.22 -0.13 0.29
unregularized A kind N worried -0.02 -0.13 0.16 -0.16
unregularized A rude A kind 0.14 -0.19 -0.04 -0.26
unregularized A rude A rude 0.07 0.32 -0.12 0.06
unregularized A rude C lazy -0.15 0.06 -0.13 0.28
unregularized A rude C reliable 0.18 -0.06 -0.10 0.18
unregularized A rude E outgoing -0.01 -0.15 0.04 -0.05
unregularized A rude E quiet -0.15 0.05 -0.20 0.30
unregularized A rude N depressed -0.03 0.18 -0.06 -0.07
unregularized A rude N relaxed 0.04 -0.05 -0.09 0.46
unregularized A rude N worried -0.14 0.23 0.05 -0.05
unregularized C lazy A kind 0.04 0.29 0.25 -0.15
unregularized C lazy A rude 0.22 0.30 0.27 -0.01
unregularized C lazy C lazy 0.17 0.00 0.27 -0.19
unregularized C lazy C reliable -0.04 -0.02 -0.42 -0.14
unregularized C lazy E outgoing -0.19 0.03 0.08 0.11
unregularized C lazy E quiet 0.09 -0.12 -0.32 0.13
unregularized C lazy N depressed 0.06 -0.10 0.20 0.00
unregularized C lazy N relaxed -0.06 -0.10 0.19 -0.03
unregularized C lazy N worried 0.09 0.04 -0.11 0.16
unregularized C reliable A kind 0.05 0.16 -0.02 -0.12
unregularized C reliable A rude 0.41 0.23 0.16 -0.11
unregularized C reliable C lazy 0.08 -0.10 -0.12 0.12
unregularized C reliable C reliable -0.01 0.14 -0.19 -0.21
unregularized C reliable E outgoing -0.05 0.09 -0.02 0.00
unregularized C reliable E quiet 0.05 -0.10 -0.23 -0.15
unregularized C reliable N depressed 0.11 -0.10 -0.12 0.12
unregularized C reliable N relaxed -0.11 -0.03 -0.12 -0.25
unregularized C reliable N worried 0.17 -0.02 0.04 0.13
unregularized E outgoing A kind 0.01 -0.29 -0.24 -0.25
unregularized E outgoing A rude -0.19 0.11 -0.05 0.06
unregularized E outgoing C lazy -0.16 0.28 -0.11 0.04
unregularized E outgoing C reliable 0.11 -0.28 -0.08 -0.17
unregularized E outgoing E outgoing -0.04 -0.13 0.08 -0.11
unregularized E outgoing E quiet -0.11 -0.01 -0.23 -0.07
unregularized E outgoing N depressed -0.09 0.21 -0.11 0.04
unregularized E outgoing N relaxed 0.01 -0.14 -0.22 0.06
unregularized E outgoing N worried -0.05 0.35 0.16 -0.15
unregularized E quiet A kind -0.05 -0.10 0.11 0.13
unregularized E quiet A rude 0.13 0.03 -0.03 0.07
unregularized E quiet C lazy -0.16 0.21 -0.03 0.27
unregularized E quiet C reliable 0.07 -0.34 0.15 0.00
unregularized E quiet E outgoing -0.06 -0.13 0.10 0.07
unregularized E quiet E quiet -0.03 0.10 0.10 -0.21
unregularized E quiet N depressed -0.21 0.20 0.14 -0.08
unregularized E quiet N relaxed 0.01 -0.07 -0.06 -0.04
unregularized E quiet N worried -0.07 0.29 0.01 -0.29
unregularized N depressed A kind 0.11 -0.19 -0.13 -0.12
unregularized N depressed A rude 0.26 0.48 0.08 -0.04
unregularized N depressed C lazy 0.09 -0.02 -0.09 -0.13
unregularized N depressed C reliable -0.07 0.04 0.11 -0.09
unregularized N depressed E outgoing 0.05 -0.28 -0.04 0.17
unregularized N depressed E quiet -0.19 0.00 -0.01 0.11
unregularized N depressed N depressed 0.28 0.03 -0.04 0.29
unregularized N depressed N relaxed 0.13 -0.23 -0.12 -0.05
unregularized N depressed N worried 0.11 0.03 0.08 0.25
unregularized N relaxed A kind -0.03 -0.11 -0.11 -0.04
unregularized N relaxed A rude -0.47 -0.13 0.07 0.03
unregularized N relaxed C lazy -0.06 0.03 -0.07 -0.01
unregularized N relaxed C reliable -0.01 0.04 0.17 -0.14
unregularized N relaxed E outgoing 0.35 -0.22 -0.05 0.00
unregularized N relaxed E quiet -0.17 0.27 -0.09 0.18
unregularized N relaxed N depressed 0.08 0.00 -0.12 0.12
unregularized N relaxed N relaxed -0.03 0.01 -0.21 0.03
unregularized N relaxed N worried -0.07 -0.08 0.08 -0.15
unregularized N worried A kind -0.20 -0.33 0.07 -0.09
unregularized N worried A rude -0.13 -0.12 0.30 0.06
unregularized N worried C lazy -0.29 0.03 -0.11 0.01
unregularized N worried C reliable 0.17 -0.02 0.06 0.02
unregularized N worried E outgoing 0.28 -0.19 -0.09 -0.01
unregularized N worried E quiet -0.07 0.23 -0.30 0.17
unregularized N worried N depressed -0.07 0.01 0.21 0.13
unregularized N worried N relaxed -0.24 0.10 -0.47 -0.03
unregularized N worried N worried 0.10 -0.08 0.19 0.02

Contemporaneous

gVAR_fit %>% filter(SID %in% c("22652", "91339")) %>%
  unnest(contemp) %>% select(SID, wave, lambda_scale, Var1, Var2, weight) %>%
  unite(temp, SID, wave, sep = ".") %>%
  spread(key = temp, value = weight) %>%
  kable(., "html", booktabs = T, escape = F, digits = 2,
        col.names = c("Network Type", "Var1", "Var2", "W1", "W2", "W1", "W2"),
        align = c("l", "l", "l", rep("c", 4)),
        caption = "Contemporaneous Networks") %>%
  add_header_above(c(" " = 3, "S1" = 2,"S2" = 2)) %>%
  kable_styling(bootstrap_options = c("striped"),full_width = T) %>%
  scroll_box(width = "750px", height = "400px")
Contemporaneous Networks
S1
S2
Network Type Var1 Var2 W1 W2 W1 W2
.25 A_kind A_rude 0.00 0.00 0.00 0.00
.25 A_kind C_lazy 0.00 0.00 0.00 0.00
.25 A_kind C_reliable 0.00 0.00 0.00 0.05
.25 A_kind E_outgoing 0.00 0.00 0.00 0.00
.25 A_kind E_quiet -0.03 -0.07 0.01 -0.14
.25 A_kind N_depressed 0.00 0.00 0.00 0.00
.25 A_kind N_relaxed 0.00 0.00 0.00 0.00
.25 A_kind N_worried 0.00 0.00 0.00 -0.14
.25 A_rude C_lazy 0.00 0.00 0.00 0.00
.25 A_rude C_reliable 0.00 0.00 0.00 0.18
.25 A_rude E_outgoing 0.00 0.00 -0.04 0.00
.25 A_rude E_quiet 0.00 0.00 0.00 0.00
.25 A_rude N_depressed 0.00 0.00 0.00 0.00
.25 A_rude N_relaxed 0.00 0.00 0.00 0.00
.25 A_rude N_worried 0.00 0.00 0.00 0.00
.25 C_lazy C_reliable -0.59 -0.59 0.00 0.00
.25 C_lazy E_outgoing -0.11 0.00 -0.23 0.00
.25 C_lazy E_quiet 0.06 0.00 0.00 0.00
.25 C_lazy N_depressed 0.00 0.00 0.00 -0.24
.25 C_lazy N_relaxed 0.23 0.00 0.49 0.35
.25 C_lazy N_worried 0.00 0.00 0.00 -0.18
.25 C_reliable E_outgoing 0.20 0.00 0.12 0.00
.25 C_reliable E_quiet 0.00 0.00 0.32 0.00
.25 C_reliable N_depressed -0.35 0.00 -0.14 0.00
.25 C_reliable N_relaxed 0.00 0.00 -0.01 0.00
.25 C_reliable N_worried 0.00 0.00 0.00 0.00
.25 E_outgoing E_quiet -0.32 -0.52 -0.23 -0.12
.25 E_outgoing N_depressed 0.00 0.00 -0.23 0.00
.25 E_outgoing N_relaxed 0.03 0.00 0.00 0.00
.25 E_outgoing N_worried -0.10 0.00 -0.04 0.00
.25 E_quiet N_depressed 0.00 0.00 0.20 0.00
.25 E_quiet N_relaxed 0.00 0.00 0.01 0.00
.25 E_quiet N_worried 0.00 0.00 0.12 0.00
.25 N_depressed N_relaxed 0.00 0.00 -0.29 -0.08
.25 N_depressed N_worried 0.19 0.08 0.06 0.01
.25 N_relaxed N_worried -0.22 -0.10 -0.42 -0.43
.5 A_kind A_rude 0.00 0.00 0.00 0.00
.5 A_kind C_lazy 0.00 0.00 0.00 0.00
.5 A_kind C_reliable 0.00 0.00 0.00 0.02
.5 A_kind E_outgoing 0.00 0.00 0.00 0.00
.5 A_kind E_quiet -0.10 -0.02 0.00 -0.13
.5 A_kind N_depressed 0.00 0.00 0.00 0.00
.5 A_kind N_relaxed 0.00 0.00 0.00 0.00
.5 A_kind N_worried -0.05 0.00 0.00 -0.12
.5 A_rude C_lazy 0.00 0.00 0.00 0.00
.5 A_rude C_reliable 0.00 0.00 0.00 0.05
.5 A_rude E_outgoing 0.00 0.00 0.00 0.00
.5 A_rude E_quiet 0.00 0.00 0.00 0.00
.5 A_rude N_depressed 0.00 0.00 0.00 0.00
.5 A_rude N_relaxed 0.00 0.00 0.00 0.00
.5 A_rude N_worried 0.00 0.00 0.00 0.00
.5 C_lazy C_reliable -0.60 -0.54 0.00 0.00
.5 C_lazy E_outgoing -0.11 0.00 0.00 0.00
.5 C_lazy E_quiet 0.06 0.00 0.00 0.00
.5 C_lazy N_depressed 0.00 0.00 0.00 -0.04
.5 C_lazy N_relaxed 0.29 0.00 0.37 0.24
.5 C_lazy N_worried 0.00 0.00 0.00 -0.16
.5 C_reliable E_outgoing 0.21 0.00 0.00 0.00
.5 C_reliable E_quiet 0.00 0.00 0.13 0.00
.5 C_reliable N_depressed -0.37 0.00 0.00 0.00
.5 C_reliable N_relaxed 0.00 0.00 0.00 0.00
.5 C_reliable N_worried 0.00 0.00 0.00 0.00
.5 E_outgoing E_quiet -0.34 -0.49 -0.01 0.00
.5 E_outgoing N_depressed 0.00 0.00 -0.03 0.00
.5 E_outgoing N_relaxed 0.09 0.00 0.00 0.00
.5 E_outgoing N_worried -0.11 0.00 0.00 0.00
.5 E_quiet N_depressed -0.01 0.00 0.00 0.00
.5 E_quiet N_relaxed 0.00 0.00 0.00 0.00
.5 E_quiet N_worried 0.00 0.00 0.00 0.00
.5 N_depressed N_relaxed 0.00 0.00 -0.31 -0.10
.5 N_depressed N_worried 0.25 0.00 0.00 0.25
.5 N_relaxed N_worried -0.28 -0.03 -0.19 -0.34
association A_kind A_rude -0.13 -0.24 0.12 0.19
association A_kind C_lazy 0.00 -0.04 0.04 0.13
association A_kind C_reliable 0.07 0.01 -0.13 0.38
association A_kind E_outgoing 0.11 0.46 -0.22 0.10
association A_kind E_quiet -0.30 -0.42 0.06 -0.39
association A_kind N_depressed -0.09 -0.25 0.38 -0.28
association A_kind N_relaxed 0.12 0.20 -0.30 0.21
association A_kind N_worried -0.32 -0.12 0.24 -0.40
association A_rude C_lazy 0.08 -0.12 0.11 0.08
association A_rude C_reliable -0.32 0.17 -0.20 0.52
association A_rude E_outgoing -0.08 -0.18 -0.21 0.01
association A_rude E_quiet 0.05 0.06 -0.16 -0.06
association A_rude N_depressed 0.15 -0.09 0.38 -0.10
association A_rude N_relaxed -0.13 -0.13 -0.29 0.29
association A_rude N_worried 0.14 0.30 0.19 -0.33
association C_lazy C_reliable -0.79 -0.82 -0.18 -0.11
association C_lazy E_outgoing -0.46 -0.19 -0.17 -0.03
association C_lazy E_quiet 0.29 0.10 -0.12 -0.09
association C_lazy N_depressed 0.39 -0.06 -0.28 -0.37
association C_lazy N_relaxed 0.42 0.23 0.62 0.52
association C_lazy N_worried 0.08 0.20 -0.37 -0.47
association C_reliable E_outgoing 0.54 0.16 0.16 0.02
association C_reliable E_quiet -0.23 -0.12 0.49 -0.22
association C_reliable N_depressed -0.63 0.01 0.00 -0.02
association C_reliable N_relaxed -0.11 -0.11 -0.24 0.00
association C_reliable N_worried -0.24 -0.20 -0.02 -0.02
association E_outgoing E_quiet -0.49 -0.65 -0.33 -0.40
association E_outgoing N_depressed -0.32 -0.21 -0.40 -0.17
association E_outgoing N_relaxed 0.11 0.20 0.05 -0.15
association E_outgoing N_worried -0.31 -0.17 -0.29 0.22
association E_quiet N_depressed 0.03 0.01 0.25 0.21
association E_quiet N_relaxed 0.09 -0.02 -0.06 0.02
association E_quiet N_worried 0.08 0.08 0.27 0.20
association N_depressed N_relaxed -0.09 -0.10 -0.67 -0.46
association N_depressed N_worried 0.42 0.40 0.49 0.53
association N_relaxed N_worried -0.43 -0.40 -0.67 -0.67
gimme A_kind A_rude 0.00 0.00 0.05 -0.16
gimme A_kind C_lazy 0.00 0.00 0.00 0.00
gimme A_kind C_reliable 0.00 0.00 -0.20 0.24
gimme A_kind E_outgoing 0.00 0.00 0.00 0.00
gimme A_kind E_quiet -0.18 -0.22 0.00 -0.22
gimme A_kind N_depressed 0.00 0.00 0.00 0.00
gimme A_kind N_relaxed 0.00 0.00 0.00 0.00
gimme A_kind N_worried 0.00 0.00 0.00 -0.25
gimme A_rude C_lazy 0.00 0.00 0.24 0.00
gimme A_rude C_reliable 0.00 0.00 -0.20 0.27
gimme A_rude E_outgoing 0.00 0.00 0.00 0.00
gimme A_rude E_quiet 0.00 0.00 0.38 0.00
gimme A_rude N_depressed 0.00 0.00 0.19 0.00
gimme A_rude N_relaxed 0.00 0.00 0.00 0.00
gimme A_rude N_worried 0.00 0.17 0.00 0.00
gimme C_lazy C_reliable -0.44 -0.47 0.00 0.00
gimme C_lazy E_outgoing 0.00 0.00 0.00 0.00
gimme C_lazy E_quiet 0.00 0.00 0.00 0.00
gimme C_lazy N_depressed 0.00 0.00 0.00 -0.12
gimme C_lazy N_relaxed 0.24 0.36 0.27 0.24
gimme C_lazy N_worried 0.00 0.00 0.00 0.00
gimme C_reliable E_outgoing 0.27 0.00 0.00 0.00
gimme C_reliable E_quiet 0.00 0.00 0.51 0.00
gimme C_reliable N_depressed -0.29 0.00 -0.34 0.00
gimme C_reliable N_relaxed 0.12 0.31 -0.41 0.00
gimme C_reliable N_worried 0.00 0.00 0.00 0.00
gimme E_outgoing E_quiet -0.25 -0.32 -0.21 -0.27
gimme E_outgoing N_depressed 0.00 0.00 0.00 0.00
gimme E_outgoing N_relaxed 0.00 0.00 0.00 0.28
gimme E_outgoing N_worried 0.00 0.00 0.00 0.33
gimme E_quiet N_depressed 0.00 0.00 0.40 0.00
gimme E_quiet N_relaxed 0.00 0.00 0.00 0.00
gimme E_quiet N_worried 0.00 0.00 0.00 0.15
gimme N_depressed N_relaxed 0.00 0.00 -0.24 0.00
gimme N_depressed N_worried 0.18 0.23 -0.25 0.26
gimme N_relaxed N_worried -0.23 -0.27 -0.31 -0.54
mlVAR_EB A_kind A_rude -0.11 -0.18 -0.10 -0.05
mlVAR_EB A_kind C_lazy -0.03 -0.03 0.00 0.01
mlVAR_EB A_kind C_reliable 0.13 0.10 0.10 0.21
mlVAR_EB A_kind E_outgoing 0.10 0.18 0.08 0.15
mlVAR_EB A_kind E_quiet -0.14 -0.08 -0.08 -0.08
mlVAR_EB A_kind N_depressed -0.04 -0.10 0.09 -0.08
mlVAR_EB A_kind N_relaxed 0.08 0.08 0.06 0.07
mlVAR_EB A_kind N_worried -0.01 0.01 0.00 -0.09
mlVAR_EB A_rude C_lazy 0.03 0.05 0.06 0.05
mlVAR_EB A_rude C_reliable -0.05 -0.02 -0.09 -0.02
mlVAR_EB A_rude E_outgoing 0.03 0.02 0.03 0.02
mlVAR_EB A_rude E_quiet -0.09 -0.08 -0.09 -0.07
mlVAR_EB A_rude N_depressed 0.05 -0.04 0.17 0.05
mlVAR_EB A_rude N_relaxed -0.04 -0.05 -0.08 -0.04
mlVAR_EB A_rude N_worried 0.03 0.05 0.03 -0.01
mlVAR_EB C_lazy C_reliable -0.24 -0.52 -0.13 -0.21
mlVAR_EB C_lazy E_outgoing -0.05 -0.03 -0.17 -0.04
mlVAR_EB C_lazy E_quiet -0.06 0.00 -0.02 -0.01
mlVAR_EB C_lazy N_depressed 0.08 0.05 0.05 0.05
mlVAR_EB C_lazy N_relaxed 0.32 0.23 0.36 0.30
mlVAR_EB C_lazy N_worried 0.01 -0.01 -0.03 -0.05
mlVAR_EB C_reliable E_outgoing 0.05 0.04 0.09 0.05
mlVAR_EB C_reliable E_quiet 0.04 0.03 0.03 -0.06
mlVAR_EB C_reliable N_depressed -0.28 -0.07 -0.12 -0.11
mlVAR_EB C_reliable N_relaxed 0.05 0.00 -0.02 0.03
mlVAR_EB C_reliable N_worried -0.04 -0.05 -0.02 -0.06
mlVAR_EB E_outgoing E_quiet -0.39 -0.59 -0.24 -0.35
mlVAR_EB E_outgoing N_depressed -0.03 -0.09 -0.12 -0.09
mlVAR_EB E_outgoing N_relaxed 0.13 0.13 0.04 0.05
mlVAR_EB E_outgoing N_worried -0.07 -0.04 -0.07 -0.01
mlVAR_EB E_quiet N_depressed 0.01 -0.01 0.03 0.03
mlVAR_EB E_quiet N_relaxed -0.03 0.05 -0.01 0.03
mlVAR_EB E_quiet N_worried 0.00 0.02 0.03 0.03
mlVAR_EB N_depressed N_relaxed -0.15 -0.08 -0.28 -0.19
mlVAR_EB N_depressed N_worried 0.17 0.31 0.17 0.20
mlVAR_EB N_relaxed N_worried -0.37 -0.39 -0.38 -0.43
scaled A_kind A_rude 0.00 0.00 0.00 0.00
scaled A_kind C_lazy 0.00 0.00 0.00 0.00
scaled A_kind C_reliable 0.00 0.00 0.00 0.00
scaled A_kind E_outgoing 0.00 0.00 0.00 0.00
scaled A_kind E_quiet 0.00 0.00 0.00 -0.01
scaled A_kind N_depressed 0.00 0.00 0.00 0.00
scaled A_kind N_relaxed 0.00 0.00 0.00 0.00
scaled A_kind N_worried 0.00 0.00 0.00 -0.01
scaled A_rude C_lazy 0.00 0.00 0.00 0.00
scaled A_rude C_reliable 0.00 0.00 0.00 0.00
scaled A_rude E_outgoing 0.00 0.00 0.00 0.00
scaled A_rude E_quiet 0.00 0.00 0.00 0.00
scaled A_rude N_depressed 0.00 0.00 0.00 0.00
scaled A_rude N_relaxed 0.00 0.00 0.00 0.00
scaled A_rude N_worried 0.00 0.00 0.00 0.00
scaled C_lazy C_reliable -0.48 -0.38 0.00 0.00
scaled C_lazy E_outgoing -0.10 0.00 -0.09 0.00
scaled C_lazy E_quiet 0.00 0.00 0.00 0.00
scaled C_lazy N_depressed 0.00 0.00 0.00 -0.14
scaled C_lazy N_relaxed 0.00 0.00 0.42 0.27
scaled C_lazy N_worried 0.00 0.00 0.00 -0.18
scaled C_reliable E_outgoing 0.06 0.00 0.00 0.00
scaled C_reliable E_quiet 0.00 0.00 0.03 0.00
scaled C_reliable N_depressed -0.11 0.00 0.00 0.00
scaled C_reliable N_relaxed 0.00 0.00 0.00 0.00
scaled C_reliable N_worried 0.00 0.00 0.00 0.00
scaled E_outgoing E_quiet -0.08 -0.39 -0.15 0.00
scaled E_outgoing N_depressed 0.00 0.00 -0.07 0.00
scaled E_outgoing N_relaxed 0.00 0.00 0.00 0.00
scaled E_outgoing N_worried 0.00 0.00 0.00 0.00
scaled E_quiet N_depressed 0.00 0.00 0.11 0.00
scaled E_quiet N_relaxed 0.00 0.00 0.00 0.00
scaled E_quiet N_worried 0.00 0.00 0.05 0.00
scaled N_depressed N_relaxed 0.00 0.00 -0.13 -0.04
scaled N_depressed N_worried 0.00 0.00 0.00 0.02
scaled N_relaxed N_worried 0.00 0.00 -0.26 -0.34
unregularized A_kind A_rude -0.22 -0.23 -0.80 -0.35
unregularized A_kind C_lazy -0.03 -0.18 0.53 0.10
unregularized A_kind C_reliable -0.03 -0.10 -0.77 0.49
unregularized A_kind E_outgoing -0.07 -0.02 -0.53 -0.23
unregularized A_kind E_quiet -0.34 -0.35 0.81 -0.19
unregularized A_kind N_depressed -0.05 -0.28 -0.73 -0.17
unregularized A_kind N_relaxed -0.05 0.39 -0.81 -0.16
unregularized A_kind N_worried -0.32 0.30 -0.62 -0.28
unregularized A_rude C_lazy -0.32 -0.21 0.61 0.05
unregularized A_rude C_reliable -0.30 0.10 -0.64 0.75
unregularized A_rude E_outgoing -0.14 -0.06 -0.42 0.10
unregularized A_rude E_quiet -0.22 -0.20 0.72 0.22
unregularized A_rude N_depressed -0.25 -0.48 -0.47 0.08
unregularized A_rude N_relaxed 0.03 0.30 -0.62 0.05
unregularized A_rude N_worried -0.33 0.63 -0.45 -0.23
unregularized C_lazy C_reliable -0.67 -0.74 0.41 -0.27
unregularized C_lazy E_outgoing -0.28 -0.22 0.06 -0.05
unregularized C_lazy E_quiet -0.10 -0.21 -0.59 0.26
unregularized C_lazy N_depressed -0.25 -0.30 0.27 -0.39
unregularized C_lazy N_relaxed 0.56 0.47 0.54 0.30
unregularized C_lazy N_worried 0.01 0.33 0.39 0.00
unregularized C_reliable E_outgoing 0.18 -0.03 -0.33 -0.01
unregularized C_reliable E_quiet 0.07 -0.03 0.81 -0.11
unregularized C_reliable N_depressed -0.58 0.01 -0.82 -0.11
unregularized C_reliable N_relaxed 0.18 0.24 -0.81 -0.03
unregularized C_reliable N_worried 0.05 -0.02 -0.67 0.12
unregularized E_outgoing E_quiet -0.52 -0.60 0.28 -0.66
unregularized E_outgoing N_depressed -0.03 -0.29 -0.55 -0.64
unregularized E_outgoing N_relaxed 0.37 0.20 -0.54 -0.13
unregularized E_outgoing N_worried -0.24 0.11 -0.36 0.32
unregularized E_quiet N_depressed 0.00 -0.37 0.71 -0.28
unregularized E_quiet N_relaxed 0.24 0.25 0.77 -0.09
unregularized E_quiet N_worried -0.20 0.27 0.74 0.34
unregularized N_depressed N_relaxed -0.01 0.31 -0.87 -0.27
unregularized N_depressed N_worried 0.18 0.59 -0.68 0.10
unregularized N_relaxed N_worried -0.28 -0.54 -0.79 -0.64

Centrality: Which Indicators Are Most Influential in Idiographic Personality Networks?

As with between-person effects, we can calculate centrality for individuals.

# create function to save both centrality measure and variable names to a data frame.
centrality_fun <- function(x, SID, wave, l) {
  data <- x %>%
    select(from, to, weight) %>%
    mutate(weight = as.numeric(weight))
  centrality <- centrality_auto(data.frame(data))
  df <- centrality$node.centrality %>% data.frame() %>%
    mutate(var = rownames(.))
  if(!"InStrength" %in% colnames(df)){
    df <- df %>% select(var, Betweenness, Closeness) %>% 
      bind_cols(data.frame(matrix(rep(0,9*4), nrow = 9, ncol = 4)) %>%
                  setNames(c("InStrength", "OutStrength", "OutExpectedInfluence", "InExpectedInfluence"))) 
  }
  return(df)
}

contemp_cen_fun <- function(x){
  centrality <- centrality_auto(x)$node.centrality %>% 
    data.frame() %>%
    mutate(var = rownames(.))
  return(centrality)
}

# 59057

####### PDC's #######
# calculate centrality for each subject for each wave and save them to a list #
gVAR_fit <- gVAR_fit %>%
  mutate(temp_centrality    = map(temp, centrality_fun),
         contemp_centrality = map(contemp_mat, contemp_cen_fun))

# save data for web app
gVAR_data <- gVAR_fit %>% 
  select(SID, wave, lambda_scale, gVAR_fit, temp_centrality, contemp_centrality) %>%
  mutate(PDC = map(gVAR_fit, ~.$PDC),
         PCC = map(gVAR_fit, ~.$PCC)) %>%
  select(-gVAR_fit)
# save(gVAR_data, temp_long, contemp_long, file = sprintf("%s/R/app_data.RData", res_path))

# save all lagged centrality to a long format df
(temp_centrality <- gVAR_fit %>%
  unnest(temp_centrality, .drop = T) %>%
  # select(-Degree) %>%
  mutate(type = "Lagged"))

# save all contemporaneous centrality to a long format df
(contemp_centrality <- gVAR_fit %>%
  unnest(contemp_centrality, .drop = T) %>%
  select(-Degree) %>%
  mutate(type = "Contemporaneous"))

Centrality Plots (Figure 6)

# function to create individual level centrality plots for each person
centrality_Plot_fun <- function(x, ls){
  centrality  %>%
    filter(SID %in% x &  grepl("trength", measure) & lambda_scale == ls) %>%
    arrange(measure, wave) %>%
    ggplot(aes(x = var, y = z, group = wave))+
      geom_line(aes(linetype = wave), color = "black", size = .3) + 
      geom_point(aes(shape = wave), size = 2) + 
      labs(x = NULL, y = "z-score", linetype = "Wave", shape = "Wave") +
      scale_y_continuous(limits = c(-3,3), breaks = seq(-3,3,1)) + 
      geom_hline(aes(yintercept = 0)) + 
      coord_flip() + 
      facet_grid(SID~type + measure) + 
      theme_classic()+ 
      theme(axis.text = element_text(face = "bold"),
            axis.title = element_text(face = "bold"),
            legend.title = element_text(face = "bold"),
            legend.position = "bottom")
}

centrality <- temp_centrality %>%
  gather(key = measure, value = centrality, 
         Betweenness:OutStrength) %>%
  group_by(SID, wave, lambda_scale, measure) %>%
  mutate(z = scale(centrality)) %>%
  ungroup() %>%
  full_join(contemp_centrality %>%
    gather(key = measure, value = centrality, 
           Betweenness:Strength) %>%
    group_by(SID, wave, lambda_scale, measure) %>%
    mutate(z = scale(centrality)) %>%
    ungroup())

# generate sample plot for subjects 1 & 2
centrality %>% 
    filter(SID %in% c("22652", "91339") &  grepl("trength", measure) & lambda_scale == ".25") %>%
    mutate(SID = recode(SID, `22652` = "1", `91339` = "2"),
           wave = as.character(wave)) %>%
    arrange(measure, wave) %>%
    ggplot(aes(x = var, y = z, group = wave))+
      geom_line(aes(linetype = wave), color = "black", size = .3) + 
      geom_point(aes(shape = wave), size = 2) + 
      labs(x = NULL, y = "z-score", linetype = "Wave", shape = "Wave") +
      scale_y_continuous(limits = c(-3,3), breaks = seq(-3,3,1)) + 
      geom_hline(aes(yintercept = 0)) + 
      coord_flip() + 
      facet_grid(SID~type + measure) + 
      theme_classic()+ 
      theme(axis.text = element_text(face = "bold"),
            axis.title = element_text(face = "bold"),
            legend.title = element_text(face = "bold"),
            legend.position = "bottom")

# ggsave(sprintf("%s/results/plots/centrality_plot_1+2.png", res_path), width = 5, height = 5)

Question 2: Is there longitudinal consistency in idiographic networks?

Edge Weight Consistency

Variable Centered: Rank-Order Consistency

cor_fun <- function(x){
    results <- cor(x$`1`, x$`2`, use = "pairwise", method = "spearman")
}

# short fun to convert contempaneous results to long format df
# different from previous in that we explicitly want to keep NAs
contemp_long_fun_na <- function(fit){
  PCC <- fit$PCC
  PCC <- PCC[,order(colnames(PCC))]
  PCC <- PCC[order(rownames(PCC)),]
  PCC[lower.tri(PCC, diag = T)] <- NA
  vars <- rownames(PCC)
  PCC.long <- tbl_df(PCC) %>%
    mutate(Var1 = vars,
           type = "Contemporaneous") %>%
    gather(key = Var2, value = weight, A_kind:N_worried) %>%
    unite(var, Var1, Var2, sep = ".", remove = F)
}

gVAR_fit <- gVAR_fit %>% 
  mutate(contemp_long_na = map(gVAR_fit, possibly(contemp_long_fun_na, NA_real_)))

# assign ranks to edges and caluclate rank-order correlations
contemp_cors_long <- contemp_long %>%
  filter(SID %in% w1w2_subs) %>%
  group_by(wave, lambda_scale, Var1, Var2) %>%
  mutate(rank = min_rank(desc(weight))) %>%
  ungroup() %>%
  select(SID, wave, lambda_scale, Var1, Var2, type, rank) %>%
  spread(key = wave, value = rank) %>%
  group_by(lambda_scale, Var1, Var2) %>%
  nest() %>%
  mutate(r = map(data, cor_fun))  %>%
  unnest(r, .drop = T) %>% 
  mutate(measure = "Rank-Order", Type = "Contemporaneous")

temp_cors_long <- temp_long %>%
  filter(SID %in% w1w2_subs) %>%
  group_by(wave, lambda_scale, from, to) %>%
  mutate(rank = dense_rank(desc(weight))) %>%
  ungroup() %>%
  select(SID, wave, lambda_scale, from, to , rank) %>%
  spread(key = wave, value = rank) %>%
  group_by(lambda_scale, from, to) %>%
  nest() %>%
  mutate(r = map(data, cor_fun)) %>%
  unnest(r, .drop = T) %>%
  mutate(measure = "Rank-Order", Type = "Lagged")

load(url(sprintf("%s/raw/master/results/fa_results.RData?raw=true", res_path)))
eigen_long <- fa_fit %>% 
  filter(!is.na(eigen)) %>% 
  unnest(eigen) %>%
  rename(Type = fa_type) %>%
  mutate(lambda_scale = "FA") 

eigen_cors_long <- eigen_long %>%
  mutate(Type = mapvalues(Type, c("dfa", "fa"), c("Lagged", "Contemporaneous"))) %>%
  group_by(SID, Type, var, lambda_scale) %>%
  mutate(n = n()) %>%
  filter(n == 2) %>%
  group_by(wave, Type, var) %>%
  mutate(rank = dense_rank(desc(eigen))) %>%
  select(-count, -nfact, -n, -eigen) %>%
  spread(wave, rank) %>%
  group_by(Type, var, lambda_scale) %>%
  summarize(r = cor(`1`, `2`, use = "pairwise"),
         measure = "Rank Order") %>%
  ungroup() %>%
  rename(Var1 = var)

Table

levs <- paste(rep(c("Contemporaneous", "Lagged"), each = 5), 
      rep(c("mean", "sd", "median", "min", "max"), times = 2), sep = ".")

temp_cors_long %>%
  rename(Var1 = from, Var2 = to) %>%
  full_join(contemp_cors_long) %>%
  full_join(eigen_cors_long) %>%
  group_by(Type, lambda_scale) %>%
  summarise_at(vars(r), funs(mean, sd, min, max, median), na.rm = T) %>%
  gather(key = est, value = value, mean:median) %>%
  unite(tmp, Type, est, sep = ".") %>%
  mutate(tmp = factor(tmp, levels = levs)) %>%
  spread(tmp, value) %>%
  kable(., booktabs = T, digits = 2, format = "html",
        col.names = c("sfs", rep(c("M", "SD", "Med", "Min", "Max"),2)),
        caption = "Descriptives of Contemporaneous Edge Weight Rank-Order Consistency") %>%
  kable_styling(bootstrap_options = c("striped","repeat_header"), full_width = F) %>%
  add_header_above(c(" " = 1, "Contemporaneous" = 5, "Lagged" = 5))
Descriptives of Contemporaneous Edge Weight Rank-Order Consistency
Contemporaneous
Lagged
sfs M SD Med Min Max M SD Med Min Max
.25 0.09 0.10 0.06 -0.10 0.33 0.01 0.10 0.01 -0.23 0.31
.5 0.09 0.12 0.06 -0.14 0.37 -0.01 0.10 -0.01 -0.21 0.25
association 0.17 0.11 0.14 -0.06 0.44 -0.01 0.09 -0.01 -0.20 0.21
FA NaN NaN NA Inf -Inf 0.16 0.52 0.06 -0.74 0.73
gimme 0.04 0.12 0.04 -0.20 0.33 -0.02 0.10 0.00 -0.36 0.23
mlVAR_EB 0.12 0.12 0.11 -0.11 0.44 0.03 0.09 0.03 -0.21 0.25
scaled 0.09 0.13 0.10 -0.21 0.40 0.01 0.10 0.00 -0.25 0.31
unregularized 0.03 0.11 0.05 -0.14 0.32 0.01 0.11 0.00 -0.22 0.25

Plot

And create heat maps showing the individual lagged and contemporaneous rank-order correlations (Figure 7)

# make heat maps of both contemporaneous and lagged rank order cors
## figure 6 in manuscript ##
contemp_cors_long %>%
  full_join(temp_cors_long %>%
  rename(Var1 = from, Var2 = to)) %>%
  mutate(Var1 = factor(Var1, levels = sort(unique(Var1))),
         Var2 = factor(Var2, levels = rev(sort(unique(Var2))))) %>%
  filter(lambda_scale == ".25") %>%
  ggplot(aes(x = Var1, y = Var2, fill = r)) + 
  geom_raster() + 
  scale_fill_gradient2(low = "blue", high = "red", mid = "white", 
   midpoint = 0, limit = c(-.5,.5), space = "Lab", 
   name="Edge Consistency\nCorrelations") +  
  geom_text(aes(label = round(r,2))) +
  facet_grid(.~Type) + 
  labs(x = "Node 1", y = "Node 2") + 
  theme_classic() +
  theme(strip.text = element_text(face = "bold"),
        axis.text = element_text(face = "bold"),
        axis.title = element_text(face = "bold"),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.title = element_text(face = "bold"),
        legend.text = element_text(face = "bold"),
        legend.position = "bottom")

# ggsave(file = sprintf("%s/results/plots/Rank_Edge_Cors_heatmap.png", res_path), width = 9, height = 6)

Person-Centered: Ipsative Consistency

Contemporaneous

(ip_contemp_cors <- contemp_long %>%
  select(SID, lambda_scale, wave, Var1:weight) %>%
  group_by(SID, wave, lambda_scale) %>%
  mutate(weight.c = as.numeric(scale(weight, scale = F))) %>%
  ungroup() %>%
  arrange(lambda_scale, wave, SID, Var1, Var2) %>%
  select(-weight) %>%
  spread(wave, weight.c) %>%
  group_by(SID, lambda_scale) %>%
  summarize(cors = cor(`1`, `2`, use = "pairwise.complete.obs"),
            spear = cor(`1`, `2`, use = "pairwise.complete.obs", method = "spearman")) %>%
  filter(!is.na(cors)) %>%
  mutate(type = "Contemporaneous"))

Lagged

(ip_temp_cors <- temp_long %>%
  select(SID, lambda_scale, wave, from:weight) %>%
  group_by(SID, lambda_scale, wave, lambda_scale) %>%
  mutate(weight.c = as.numeric(scale(weight, center = T, scale = F))) %>%
  ungroup() %>%
  select(-weight) %>%
  spread(wave, weight.c) %>%
  group_by(SID, lambda_scale) %>%
  summarize(cors = cor(`1`, `2`, use = "pairwise.complete.obs"),
            spear = cor(`1`, `2`, use = "pairwise.complete.obs", method = "spearman")) %>%
  filter(!is.na(cors)) %>%
  mutate(type = "Lagged"))

Centrality Consistency

Variable Centered: Rank-Order Consistency

Contemporaneous

# convert centrality to ranks for each measure and 
# calculate rank-order correlations
contemp_centrality_rank <- tbl_df(contemp_centrality) %>%
  filter(SID %in% w1w2_subs) %>%
  gather(key = measure, value = Centrality, Betweenness:Strength) %>%
  group_by(measure, lambda_scale, var, type, wave) %>%
  mutate(rank = min_rank(desc(Centrality))) %>%
  ungroup() %>%
  select(-Centrality, -ExpectedInfluence) %>%
  spread(key = wave, value = rank)  %>%
  group_by(measure, lambda_scale, var) %>%
  summarize(r = cor(`1`, `2`, use = "pairwise", method = "spearman"))

contemp_centrality_rank %>%
  group_by(measure, lambda_scale) %>%
  summarize(m = meanSD_r2z2r(r)[1], 
            sd = meanSD_r2z2r(r)[2], 
            min = min(r), 
            max = max(r),
            Type = "Contemporaneous") %>%
  kable(., booktabs = T, digits = 2, format = "html",
        caption = "Descriptives of Contemporaneous Centrality Rank-Order Consistency") %>%
  kable_styling(bootstrap_options = c("striped","repeat_header"), full_width = T)
Descriptives of Contemporaneous Centrality Rank-Order Consistency
measure lambda_scale m sd min max Type
Betweenness .25 0.08 0.08 -0.03 0.24 Contemporaneous
Betweenness .5 0.12 0.11 0.00 0.29 Contemporaneous
Betweenness association 0.05 0.08 -0.11 0.14 Contemporaneous
Betweenness gimme 0.05 0.06 -0.06 0.13 Contemporaneous
Betweenness mlVAR_EB 0.06 0.06 -0.02 0.15 Contemporaneous
Betweenness scaled 0.10 0.07 -0.01 0.19 Contemporaneous
Betweenness unregularized -0.01 0.12 -0.20 0.18 Contemporaneous
Closeness .25 0.11 0.12 0.01 0.38 Contemporaneous
Closeness .5 -0.02 0.12 -0.16 0.25 Contemporaneous
Closeness association 0.18 0.08 0.02 0.29 Contemporaneous
Closeness gimme -0.05 0.10 -0.21 0.09 Contemporaneous
Closeness mlVAR_EB 0.09 0.05 -0.01 0.16 Contemporaneous
Closeness scaled 0.09 0.11 -0.06 0.28 Contemporaneous
Closeness unregularized 0.19 0.06 0.13 0.28 Contemporaneous
Strength .25 0.20 0.08 0.11 0.33 Contemporaneous
Strength .5 0.19 0.06 0.07 0.24 Contemporaneous
Strength association 0.20 0.10 0.02 0.35 Contemporaneous
Strength gimme 0.09 0.09 -0.07 0.28 Contemporaneous
Strength mlVAR_EB 0.21 0.10 0.05 0.40 Contemporaneous
Strength scaled 0.26 0.05 0.18 0.35 Contemporaneous
Strength unregularized 0.16 0.07 0.05 0.25 Contemporaneous

Lagged

# convert centrality to ranks for each measure and 
# calculate rank-order correlations
temp_centrality_rank <- tbl_df(temp_centrality) %>%
  filter(SID %in% w1w2_subs) %>%
  gather(key = measure, value = Centrality, Betweenness:OutStrength) %>%
  group_by(measure, lambda_scale, var, type, wave) %>%
  mutate(rank = min_rank(desc(Centrality))) %>%
  ungroup() %>%
  gather(key = measure2, value = value, Centrality, rank) %>%
  unite(measure3, measure, measure2, remove = F, sep = ".")  %>%
  select(-contains("Influence")) %>%
  spread(key = wave, value = value) %>%
  filter(measure2 == "rank" & grepl("trength", measure)) %>%
  group_by(var, lambda_scale, type, measure) %>%
  summarize(r = cor(`1`, `2`, use = "pairwise"))

temp_centrality_rank %>% 
  group_by(measure, lambda_scale) %>%
  summarize(mean = meanSD_r2z2r(r)[1],
            sd = meanSD_r2z2r(r)[2], 
            min = min(r, na.rm = T),
            max = max(r, na.rm = T),
            Type = "Lagged") %>%
  kable(., booktabs = T, digits = 2, format = "html",
        caption = "Descriptives of Lagged Centrality Rank-Order Consistency") %>%
  kable_styling(bootstrap_options = c("striped","repeat_header"), full_width = T)
Descriptives of Lagged Centrality Rank-Order Consistency
measure lambda_scale mean sd min max Type
InStrength .25 0.20 0.06 0.12 0.25 Lagged
InStrength .5 0.14 0.04 0.09 0.20 Lagged
InStrength association 0.13 0.07 -0.01 0.20 Lagged
InStrength gimme 0.08 0.07 -0.02 0.17 Lagged
InStrength mlVAR_EB 0.04 0.10 -0.16 0.22 Lagged
InStrength scaled 0.20 0.06 0.11 0.30 Lagged
InStrength unregularized -0.02 0.07 -0.14 0.09 Lagged
OutStrength .25 0.21 0.07 0.14 0.32 Lagged
OutStrength .5 0.15 0.06 0.08 0.24 Lagged
OutStrength association 0.13 0.07 -0.03 0.21 Lagged
OutStrength gimme 0.07 0.09 -0.06 0.19 Lagged
OutStrength mlVAR_EB 0.15 0.09 0.01 0.27 Lagged
OutStrength scaled 0.21 0.07 0.09 0.31 Lagged
OutStrength unregularized -0.09 0.06 -0.19 0.01 Lagged

Person-Centered: Profile Consistency

Contemporaneous

# ipsative consistency (profile correlations for each person)
(ip_contemp_cent_cors <- contemp_centrality %>%
  filter(SID %in% w1w2_subs) %>%
  # select(-ExpectedInfluence) %>%
  gather(key = measure, value = Centrality, Betweenness:Strength) %>%
  spread(key = wave, value = Centrality) %>%
  arrange(SID, type, measure, var) %>%
  filter(complete.cases(.)) %>%
  group_by(SID, lambda_scale, type, measure) %>%
  nest() %>%
  mutate(r = map(data, ~cor(.$`1`, .$`2`, use = "pairwise"))) %>%
  unnest(r, .drop = T))

Lagged

# ipsative consistency (profile correlations for each person)
(ip_temp_cent_cors <- tbl_df(temp_centrality) %>%
  select(-contains("ExpectedInfluence")) %>%
  filter(SID %in% w1w2_subs) %>%
  gather(key = measure, value = Centrality, Betweenness:OutStrength) %>%
  spread(key = wave, value = Centrality) %>%
  arrange(lambda_scale, SID, type, measure, var) %>%
  group_by(SID, lambda_scale, type, measure) %>%
  nest() %>%
  mutate(r = map(data, ~cor(.$`1`, .$`2`, use = "pairwise"))) %>%
  unnest(r, .drop = T))

Validity Check: What Are the Methodological Correlates of Consistency?

What is the relationship between ipsative consistency and the number of observations?

Do people who have more observations show more consistency across waves?
The answer to this appears to be yes, but it appears to be true regardless of the choice of how to model the data and mostly true for contemporaneous associations rather than lagged associations, with the exception of lagged (zero-order) association networks.

ip_temp_cors %>% full_join(ip_contemp_cors) %>%
  full_join(w1 %>% full_join(w2) %>% select(SID, count, wave) %>% distinct()) %>%
  filter(!is.na(type)) %>%
  group_by(wave, lambda_scale, type) %>%
  summarize(r = cor(cors, count, use = "pairwise")) %>%
  spread(key = type, value = r) %>%
  kable(., "html", booktabs = T, escape = F, digits = 2,
        caption = "Sample Size Correlations") %>%
  kable_styling(full_width = F)
Sample Size Correlations
wave lambda_scale Contemporaneous Lagged
1 .25 0.46 0.20
1 .5 0.41 0.06
1 association 0.34 0.29
1 gimme 0.48 0.41
1 mlVAR_EB -0.11 0.10
1 scaled 0.42 0.10
1 unregularized 0.49 0.24
2 .25 0.54 0.14
2 .5 0.52 0.08
2 association 0.41 0.42
2 gimme 0.53 0.43
2 mlVAR_EB -0.11 0.11
2 scaled 0.41 0.21
2 unregularized 0.49 0.12

What is the realtionship between ipsative consistency and the imbalance in number of observations across waves?

Do people who had more observations in one wave than the other show more (or less) consistency than those who had roughly equal numbers?
There appear to be small correlations between imbalance and consistency for contemporaneous, but not lagged, associations, such that the larger the difference between waves, the higher the consistency estimates, which is not the direction I would have predicted if there were to be issues in the estimation.

ip_temp_cors %>% full_join(ip_contemp_cors) %>%
  full_join(w1 %>% full_join(w2) %>% select(SID, count, wave) %>% distinct()) %>%
  filter(!is.na(type)) %>%
  group_by(SID, lambda_scale, cors, type) %>%
  summarise(abs_diff = abs(count[wave == 1] - count[wave == 2])) %>%
  group_by(lambda_scale, type) %>%
  summarize(r = cor(cors, abs_diff, use = "pairwise")) %>%
  spread(key = type, value = r) %>%
  kable(., "html", booktabs = T, escape = F, digits = 2,
        caption = "Imbalance Correlations") %>%
  kable_styling(full_width = F)
Imbalance Correlations
lambda_scale Contemporaneous Lagged
.25 0.19 0.07
.5 0.17 0.04
association 0.21 0.19
gimme 0.32 0.23
mlVAR_EB -0.06 0.04
scaled 0.06 0.07
unregularized 0.35 0.09

Disentangling Consistency from Reliability: Split-Half Networks

Person-Centered: Split-Half Profile Consistency

To test the reliability of the networks, we split each person’s responses in half and calculate a network of eah and then compare the two using profile correlations.

##Split Half Networks (Reliability Check)
# To test the reliability of the networks, we split each person's responses in half and
# calculate a network of eah and then compare the two using profile correlations.  

gVAR_split_fun <- function(sid, wave, spl_type, spl_num, row_num){
  df <- switch(as.numeric(wave), w1, w2) %>%
    filter(SID == sid)
  if(spl_type == "half"){
    # first havlf v. second half
    df <- df %>% 
      mutate(split = ifelse(count %% 2 == 0, count/2, count%/%2),
             split = ifelse(beep_seq <= split, 1, 2)) %>%
      filter(split == spl_num)
  } else {
    # odds v. evens
    df <- df %>%
      mutate(split = ifelse(beep_seq %in% seq(1,unique(count),2), 1, 2)) %>%
      filter(split == spl_num)
  }
  df <- df %>%
    group_by(SID, count, wave) %>% 
    nest() %>%
    mutate(data2 = map(data, jitter_fun)) %>%
    unnest(data2, .drop = T)
  print(row_num)
  gVAR_fun(df, sid, wave)
}

gVAR_fit_split <- unique(expand.grid(stringsAsFactors = F,
  SID = unique(w1$SID), wave = "1", 
  split_type = c("half", "every-other"), split_num = c(1,2)
  ) %>%
  full_join(expand.grid(stringsAsFactors = F,
    SID = unique(w2$SID), wave = "2",
    split_type = c("half", "every-other"), split_num = c(1,2)
  )) %>%
  full_join(unique(unique(w1 %>% select(SID, count, wave)) %>%
    full_join(unique(w2 %>% select(SID, count, wave))))) %>%
  filter(count >= 20) %>%
  tbl_df() %>%
  arrange(wave, SID)) %>%
  filter(!(wave == "1" & SID %in% c("88595", "7287", "30871", "42807", "53655",
            "70848", "6009", "29473", "75689", "28212", "25083", "34967"))) %>%
  filter(!(wave == "2" & SID %in% c("13674", "47525", "20054", "57290"))) %>%
  mutate(row = row_number(),
         gVAR_fit = pmap(list(SID, wave, split_type, split_num, row), 
                         possibly(gVAR_split_fun, NA_real_)))
save(gVAR_fit_split, file = sprintf("%s/results/split_half_gVAR_fit.RData", res_path))
# run the same extraction procedure as above for split-half networks
##split half networks
load(url(sprintf("%s/raw/master/results/split_half_gVAR_fit.RData?raw=true", res_path)))
gVAR_fit_split <- gVAR_fit_split %>%
  filter(!is.na(gVAR_fit)) %>%
  group_by(SID, wave, split_type) %>%
  mutate(n = n()) %>%
  # we can only assess individuals for whom we could estimate a network for each
  # half of their data within a wave
  filter(n == 2) %>%
  mutate(beta = map2(gVAR_fit, SID, possibly(temp_fun, NA_real_)),
         kappa_mat = map(gVAR_fit, possibly(contemp_mat_fun, NA_real_)),
         kappa = map(gVAR_fit, possibly(contemp_long_fun, NA_real_)))

split_beta_long <- gVAR_fit_split %>% filter(!is.na(beta)) %>% unnest(beta)
split_kappa_long <- gVAR_fit_split %>% filter(!is.na(kappa)) %>% unnest(kappa)

# extract PCC information
split_PCC_fit <- gVAR_fit_split$kappa_mat; names(split_PCC_fit) <- gVAR_fit_split$SID

# pull cross-wave lagged and contemporaneous effects
# and calculate correlations across waves
ip_split_cors <- split_beta_long %>% 
  ungroup() %>%
  mutate(type = "Lagged") %>%
  full_join(split_kappa_long %>%  ungroup() %>% select(-var) %>%
              mutate(type = "Contemporaneous") %>% 
              rename(from = Var1, to = Var2)) %>%
  group_by(SID, type, wave, split_type, split_num) %>%
  mutate(value.c = as.numeric(scale(weight, center = T, scale = F))) %>%
  ungroup() %>%
  arrange(wave, type, split_type, split_num, SID, from, to) %>%
  select(-weight, -n, -count, -row) %>%
  # unite(split, wave, split_num) %>%
  spread(split_num, value.c) %>%
  group_by(SID, wave, type, split_type) %>%
  summarize(r = cor(`1`, `2`, use = "pairwise.complete.obs"))

# descriptives
ip_split_cors %>%
  group_by(wave, type, split_type) %>%
  summarise(M = mean(r, na.rm = T),
            sd = sd(r, na.rm = T),
            min = min(r, na.rm = T),
            max = max(r, na.rm = T)) %>%
  kable(., booktabs = T, digits = 2, format = "html",
        caption = "Descriptives of Network Reliability") %>%
  kable_styling(bootstrap_options = c("striped","repeat_header"), full_width = T)
Descriptives of Network Reliability
wave type split_type M sd min max
1 Contemporaneous every-other 0.43 0.29 -0.19 0.99
1 Contemporaneous half 0.40 0.28 -0.32 0.92
1 Lagged every-other 0.01 0.15 -0.45 0.55
1 Lagged half 0.01 0.14 -0.61 0.53
2 Contemporaneous every-other 0.50 0.31 -0.19 0.98
2 Contemporaneous half 0.49 0.34 -0.34 0.96
2 Lagged every-other 0.00 0.17 -0.47 0.60
2 Lagged half 0.03 0.16 -0.59 0.58

Split-Half and Every-Other Reliability (Figures 4 & 5)

plot_fun <- function(df, type){
  plot <- df %>%
    mutate(split_type = dplyr::recode(split_type, `every-other` = "Odd-Even",
              `half` = "Split-Half")) %>%
  ggplot(aes(x = r, y = ..density.., fill = split_type)) +
  geom_histogram(color = "black", fill = "gray") +
  geom_density(alpha = .2) +
  scale_x_continuous(limits = c(-1,1), breaks = seq(-1,1,.5)) +
  labs(x = sprintf("%s Ipsative Correlations", type), y = "Density") +
  facet_grid(wave~split_type) +
  theme_classic() +
  theme(axis.text = element_text(face = "bold", size = rel(1.2)),
        axis.title = element_text(face = "bold", size = rel(1.2)),
        strip.text = element_text(face = "bold", size = rel(1.2)),
        plot.title = element_text(face = "bold", size = rel(1.2), hjust = .5),
        legend.position = "none")
  # ggsave(sprintf("%s/results/plots/%s_split_reliability.png", res_path, type), 
  #        width = 6, height = 4)
  print(plot)
  return(plot)
}

# plot histograms of ipsative lagged and contemporaneous consistency
ip_split_plot <- ip_split_cors %>%
  ungroup() %>%
  mutate(wave = sprintf("Wave %s", wave)) %>% 
  group_by(type) %>%
  nest() %>%
  mutate(plot = map2(data, type, plot_fun))

Question 3: Are there Individual Differences in Idiographic Network Consistency?

Congruence with the Reference Profile

load(url(sprintf("%s/blob/master/results/PAIRS_networks_pers_FINAL.RData?raw=true", res_path)))
profile_cor_fun <- function(id_list, wave, type){
  if(type == "Lagged"){
    id_list <- id_list %>% select(from, to, type, weight) %>% arrange(from, to)
    if(wave == "1"){pop_list <- lagged_effects_w1} else{pop_list <- lagged_effects_w2}
    pop_list <- pop_list %>% select(from, to, fixed) %>% arrange(from, to)
    id_list %>% full_join(pop_list) %>% summarize(r = cor(fixed, weight, use = "pairwise"))}
  else{
    id_list <- id_list %>% select(Var1, Var2, weight, type) %>% arrange(Var1, Var2)
    if(wave == "1"){pop_list <- contemp_eff_w1} else{pop_list <- contemp_eff_w2}
    pop_list <- pop_list %>% select(Var1, Var2, weight, type) %>% arrange(Var1, Var1) %>% rename(pcor = weight)
    id_list %>% full_join(pop_list) %>% group_by(type) %>% summarize(r = cor(pcor, weight, use = "pairwise"))}}

gVAR_fit <- gVAR_fit %>%
  mutate(temp_procor = map2(temp, wave, ~profile_cor_fun(.x, .y, "Lagged")),
         contemp_procor = map2(contemp, wave, ~profile_cor_fun(.x, .y, "Contemporaneous")))

(refCong_procors <- gVAR_fit %>% unnest(temp_procor, .drop = T) %>%
  mutate(type = "Lagged") %>%
  full_join(unnest(gVAR_fit, contemp_procor, .drop = T) %>%
              mutate(type = "Contemporaneous")))

Individual Differences in Network Edge Consistency (Figure 8)

To look at individual differences in Network consistency, we user a Fisher r to z transformation to compute the average and standard deviation. We also plot a histogram of individual ipsative profiles to show the full distribution of consistency.
### Plot

load(url(sprintf("%s/blob/master/results/fa_results.RData?raw=true", res_path)))

ip_cors <- ip_temp_cors %>% full_join(ip_contemp_cors) %>% 
  full_join(fa_cong %>% select(SID, fa_type, ip_eigen) %>% 
              mutate(fa_type = mapvalues(fa_type, c("dfa", "fa"), 
                        c("Lagged", "Contemporaneous"))) %>%
              rename(type = fa_type, cors = ip_eigen) %>%
              mutate(lambda_scale = "FA"))

ip_cors %>% filter(lambda_scale == ".25") %>%
  ggplot(aes(x = cors, y = ..density.., fill = type)) + 
    scale_fill_manual(values = c("blue", "springgreen4")) +
    geom_histogram(color = "black", fill = "gray") +
    geom_density(bw = .1, alpha = .3)+
    scale_x_continuous(limits = c(-1.1,1.1), breaks = seq(-1,1,1)) +
    labs(x = "Ipsative Correlations", y = "Density",
         title = "Ipsative Network Consistency") +
    facet_grid(~type) +
    theme_classic() +
    theme(axis.text = element_text(face = "bold", size = rel(1.2)),
          axis.title = element_text(face = "bold", size = rel(1.2)),
          strip.text = element_text(face = "bold", size = rel(1.2)),
          plot.title = element_text(face = "bold", size = rel(1.2), hjust = .5),
          legend.position = "none")

# ggsave(sprintf("%s/results/plots/ipsative_cor.png", res_path), 
       # width  = 6, height = 3)

new_names <- tribble(
  ~lambda_scale, ~new,
  ".25", "lambda==.025-.25~(Main)",
  ".5", "lambda==.025-.5~(Stricter)",
  "scaled", "lambda==.01%.%N~(Scaled)",
  "unregularized", "lambda==~0~(Unregularized)",
  "association", "Bivariate~Associations",
  "gimme", "GIMME",
  "mlVAR_EB", "Empirical~Bayes~Estimates",
  "FA", "P-Factor~Analysis"
) 

new <- new_names$new


p1 <-
  ip_cors %>% filter(type == "Lagged") %>%
  mutate(lambda_scale = factor(lambda_scale, labels = new, 
            levels = new_names$lambda_scale)) %>%
  ggplot(aes(x = cors, y = ..density.., fill = type)) + 
    scale_fill_manual(values = c( "springgreen4")) +
    geom_histogram(color = "black", fill = "gray") +
    geom_density(bw = .1, alpha = .3)+
    geom_vline(aes(xintercept = 0), linetype = "dashed") +
    scale_x_continuous(limits = c(-1.1,1.1), breaks = seq(-1,1,1)) +
    labs(x = "", y = NULL,
         title = "Lagged") +
    facet_wrap(~lambda_scale, nrow = 4, labeller = label_parsed) +
    theme_classic() +
    theme(axis.text = element_text(face = "bold", size = rel(1.2)),
          axis.text.y = element_blank(),
          axis.title = element_text(face = "bold", size = rel(1.2)),
          axis.title.x = element_text(hjust = 0),
          axis.ticks.y = element_blank(),
          axis.line.y = element_blank(),
          strip.text = element_text(face = "bold", size = rel(.8)),
          plot.title = element_text(face = "bold", size = rel(1.2), hjust = .5),
          legend.position = "none",
          strip.background = element_blank(),
          panel.border = element_rect(fill = NA, color = "black", size = 1))

p2 <-
  ip_cors %>% filter(type != "Lagged") %>%
  mutate(lambda_scale = factor(lambda_scale, labels = new, 
            levels = new_names$lambda_scale)) %>%
  ggplot(aes(x = cors, y = ..density.., fill = type)) + 
    scale_fill_manual(values = c("blue", "springgreen4")) +
    geom_histogram(color = "black", fill = "gray") +
    geom_density(bw = .1, alpha = .3)+
    geom_vline(aes(xintercept = 0), linetype = "dashed") +
    scale_x_continuous(limits = c(-1.1,1.1), breaks = seq(-1,1,1)) +
    labs(x = "", y = "Density",
         title = "Contemporaneous") +
    facet_wrap(~lambda_scale, nrow = 4, labeller = label_parsed) +
    theme_classic() +
    theme(axis.text = element_text(face = "bold", size = rel(1.2)),
          axis.title = element_text(face = "bold", size = rel(1.2)),
          axis.title.x = element_text(hjust = 1),
          axis.ticks.y = element_blank(),
          axis.line.y = element_blank(),
          strip.text = element_text(face = "bold", size = rel(.8)),
          plot.title = element_text(face = "bold", size = rel(1.2), hjust = .5),
          legend.position = "none",
          strip.background = element_blank(),
          panel.border = element_rect(fill = NA, color = "black", size = 1))

library(cowplot)
p <- cowplot::plot_grid(p2, p1, nrow = 1, rel_widths = c(53/100, 47/100))
p <- cowplot::ggdraw(add_sub(p, "Ipsative Consistency (Correlations)", vpadding=grid::unit(0,"lines"),y=6, hjust = .4, vjust=4.5, fontface = "bold"))
# ggsave(p, file = sprintf("%s/results/plots/ipsative_cor_all.png", data_path), width = 8, height = 8)

Table

ip_cors %>%
  group_by(type, lambda_scale) %>%
  summarize(mean_cor = meanSD_r2z2r(cors)[1],
            sd_cor = meanSD_r2z2r(cors)[2], 
            range = diff(range(cors, na.rm = T)),
            median = median(cors, na.rm = T)) %>%
  kable(., "html", escape = F, booktabs = T, digits = 2,
        col.names = c("Type", "Network Type", "Mean", "SD", "Range", "Median"))  %>%
  kable_styling(bootstrap_options = c("striped","repeat_header"), full_width = T)
Type Network Type Mean SD Range Median
Contemporaneous .25 0.64 0.41 1.12 0.65
Contemporaneous .5 0.66 0.44 1.07 0.68
Contemporaneous association 0.61 0.28 0.85 0.61
Contemporaneous FA 0.97 0.37 0.15 0.97
Contemporaneous gimme 0.41 0.31 1.20 0.43
Contemporaneous mlVAR_EB 0.92 0.25 0.21 0.92
Contemporaneous scaled 0.74 0.61 1.04 0.72
Contemporaneous unregularized 0.38 0.25 0.89 0.35
Lagged .25 0.03 0.16 0.89 0.01
Lagged .5 0.01 0.16 1.05 0.00
Lagged association 0.07 0.20 1.22 0.04
Lagged FA 0.98 0.52 0.20 0.97
Lagged gimme 0.07 0.20 0.85 0.04
Lagged mlVAR_EB 0.43 0.19 0.71 0.44
Lagged scaled 0.03 0.17 1.03 0.01
Lagged unregularized 0.03 0.14 0.67 0.04

Individual Differences in Centrality Consistency (Figure 9)

Plot

As with ipsative edge weight consistency, we can look at the average consistency of profiles of centrality measures as well as the distribution of ipsative consistency across the population.

ip_cent_cors <- ip_temp_cent_cors %>% 
  full_join(ip_contemp_cent_cors)

ip_temp_cent_cors %>%
  full_join(ip_contemp_cent_cors ) %>%
  filter(grepl("trength", measure) & lambda_scale == ".25") %>%
  ggplot(aes(x = r, y = ..density.., fill = measure)) + 
  geom_histogram(binwidth = .1, color = "black", fill = "gray")+
  geom_density(bw = .1, alpha = .3)+
  labs(y = "Density", x = "Profile Correlation") + 
  facet_wrap(~type + measure, nrow = 1) + 
  theme_classic() + 
  theme(plot.title = element_text(hjust = .5),
        legend.position = "none",
        axis.text = element_text(face = "bold", size = rel(1.2)),
        axis.title = element_text(face = "bold", size = rel(1.2)),
        strip.text = element_text(face = "bold", size = rel(1.2)))

# ggsave(sprintf("%s/results/plots/centrality_ipsative_cor.png", res_path), 
#        width  = 6, height = 3)

Table

ip_temp_cent_cors %>%
  full_join(ip_contemp_cent_cors) %>%
  group_by(type, lambda_scale, measure) %>%
  summarize(mean = meanSD_r2z2r(r)[1],
            sd = meanSD_r2z2r(r)[2], 
            min = min(r,na.rm = T),
            max = max(r,na.rm = T),
            range = diff(range(r, na.rm = T))) %>%
  kable(., "html", booktabs = T, escape = F, digits = 2,
        caption = "Descriptives of Ipsative Centrality Correlations") %>%
  kable_styling(bootstrap_options = c("striped","repeat_header"), full_width = T)
Descriptives of Ipsative Centrality Correlations
type lambda_scale measure mean sd min max range
Contemporaneous .25 Betweenness NaN NA Inf -Inf -Inf
Contemporaneous .25 Strength NaN NA Inf -Inf -Inf
Contemporaneous .5 Betweenness NaN NA Inf -Inf -Inf
Contemporaneous .5 Strength NaN NA Inf -Inf -Inf
Contemporaneous gimme Betweenness NaN NA Inf -Inf -Inf
Contemporaneous gimme Strength NaN NA Inf -Inf -Inf
Contemporaneous scaled Betweenness NaN NA Inf -Inf -Inf
Contemporaneous scaled Closeness NaN NA Inf -Inf -Inf
Contemporaneous scaled Strength NaN NA Inf -Inf -Inf
Lagged .25 Betweenness 0.06 0.40 -0.49 0.93 1.42
Lagged .25 Closeness -0.10 0.52 -1.00 1.00 2.00
Lagged .25 InStrength 0.32 0.46 -0.47 0.95 1.42
Lagged .25 OutStrength 0.22 0.40 -0.71 0.84 1.55
Lagged .5 Betweenness -0.06 0.40 -0.44 0.86 1.30
Lagged .5 Closeness -0.03 0.50 -0.67 1.00 1.67
Lagged .5 InStrength 0.40 0.66 -0.39 1.00 1.39
Lagged .5 OutStrength 0.13 0.37 -0.75 0.70 1.46
Lagged association Betweenness 0.04 0.39 -0.75 0.70 1.45
Lagged association Closeness 0.04 0.36 -0.75 0.75 1.50
Lagged association InStrength 0.00 0.39 -0.92 0.77 1.69
Lagged association OutStrength 0.03 0.37 -0.88 0.88 1.76
Lagged gimme Betweenness 0.02 0.49 -0.58 0.99 1.57
Lagged gimme Closeness 0.56 0.66 -1.00 1.00 2.00
Lagged gimme InStrength -0.01 0.40 -0.59 0.84 1.43
Lagged gimme OutStrength 0.03 0.42 -0.69 1.00 1.69
Lagged mlVAR_EB Betweenness 0.58 0.46 -0.74 0.96 1.70
Lagged mlVAR_EB Closeness 0.46 0.32 -0.17 0.87 1.04
Lagged mlVAR_EB InStrength 0.65 0.38 -0.12 0.97 1.09
Lagged mlVAR_EB OutStrength 0.52 0.36 -0.31 0.91 1.23
Lagged scaled Betweenness 0.06 0.43 -0.52 0.86 1.38
Lagged scaled Closeness 0.02 0.50 -1.00 0.66 1.66
Lagged scaled InStrength 0.34 0.52 -0.33 0.98 1.31
Lagged scaled OutStrength 0.21 0.33 -0.52 0.80 1.31
Lagged unregularized Betweenness 0.06 0.43 -0.71 0.86 1.57
Lagged unregularized Closeness 0.00 0.38 -0.78 0.81 1.59
Lagged unregularized InStrength 0.01 0.44 -0.95 0.96 1.91
Lagged unregularized OutStrength -0.04 0.40 -0.82 0.86 1.67

Footnotes

Footnote 1: Population Level Analyses

Bringmann et al. (2013) developed a technique for assessing ESM data using a network approach. This approach utilizes a series of univariate multilvel vector autoregressive models (mlVAR) in which all items are entered simultaneously as predictors and individually as outcomes. Below we run the models for the nine personality items at each wave. The mlVAR() function automatically within-centers data, so we will enter the raw data into the models. Because of the number of observations we have for each usbject we use a lag 1 factorization. Because we have more than 6 predictors, we use orthogonal estimation of lagged and contemporaneous effects.

Univariate Multilevel Autoregressive Models (footnote 1)

# raw data #
# not affected by using only complete cases of the data #
fit1_w1 <-   
  mlVAR(w1, 
        vars = colnames(w1)[6:14], #4:18
        idvar = "SID", 
        lags = 1,
        #dayvar = "day", 
        beepvar = "beep_seq",
        temporal = "orthogonal",
        contemporaneous = "orthogonal",
        verbose = TRUE, 
        scale = FALSE)

# raw data #
fit1_w2 <- 
  mlVAR(w2, 
        vars = colnames(w2)[5:13], #4:16
        idvar = "SID", 
        lags = 1,
        #dayvar = "day", 
        beepvar = "beep_seq",
        #covar = "Age",
        temporal = "orthogonal",
        contemporaneous = "orthogonal",
        verbose = TRUE,
        scale = FALSE)

#model summary
sum_fit1_w1        <- summary(fit1_w1)
sum_fit1_w2        <- summary(fit1_w2)

Network structure

The figure below presents the results of the four mlVAR models (1 lagged and 1 contemporaneous network for each wave). For the purposes of interpretation and comparison, the structure of the networks for the second wave have been constrained to match the first wave and only significant edges are displayed.

Plots
Fixed Effects
# The graphs below show the raw, directed network the estimated, directed network 
# using a univariate multilevel vector autoregressive models as (1) lagged and 
# (2) contemporaneous netowrks. Note that the code for the plot may appear complicated 
# at first glance but just largely deals with aesthetics of the graphs.  
b5_groups <- list(A = c(1,7), E = c(2, 6), C = c(3,8), N = c(4,5,9))
plot_fun <- function(mlVAR.obj, type, wave, sd = FALSE, Layout = "spring", 
                     noplot = TRUE, Nosig = 'hide'){
  plot <- plot(mlVAR.obj, type, layout = Layout, #labels = varnames2, 
               groups = b5_groups, nonsig = Nosig, curve = -1, legend = FALSE, 
               details = FALSE, mar = c(5,5,5,5), border.color = "black", 
               border.width = 2, title = sprintf("%s\nWave%s", str_to_title(type), wave),
               loop = .7, node.width = 1.6, edge.width = 1, asize = 5, label.font = 2,
               label.fill.vertical = 1, label.fill.horizontal = 1, edge.color = "blue", 
               color = t(brewer.pal(9, "Purples")[seq(1,7,2)]), DoNotPlot = noplot, SD = sd)
  # change negative edges to dashed
  plot$graphAttributes$Edges$lty[plot$Edgelist$weight < 0] <- 2
  # change edge colors based on weights
  if(sd == FALSE){
    if(type == "temporal"){
      plot$graphAttributes$Edges$color <-
      ifelse(plot$Edgelist$weight <.02, "thistle2",
      ifelse(plot$Edgelist$weight <.04, "mediumorchid", "midnightblue"))
      } else {
      plot$graphAttributes$Edges$color <- 
      ifelse(abs(plot$Edgelist$weight) < .1, "thistle2",
      ifelse(abs(plot$Edgelist$weight) < .3, "mediumorchid", "midnightblue"))}
  }
  #change variable names
  plot$graphAttributes$Nodes$labels <- str_replace(plot$graphAttributes$Nodes$labels, "_", "\n")
  # change labels of dark colored nodes to white
  dark_colors <- c("#9E9AC8", "#807DBA", "#6A51A3", "#54278F", "#3F007D")
  plot$graphAttributes$Nodes$label.color[plot$graphAttributes$Nodes$color %in% dark_colors] <- "white"
  return(plot)
}

# run but don't generate plots
plot_w1 <- plot_fun(fit1_w1, "temporal", "1")
plot_w1_contemp <- plot_fun(fit1_w1, "contemporaneous", "1")
plot_w2 <- plot_fun(fit1_w2, "temporal", "2", sd = FALSE, Layout = plot_w1$layout)
plot_w2_contemp <- plot_fun(fit1_w2, "contemporaneous", "2", Layout = plot_w1_contemp$layout)

# generate modified plots
par(mfrow = c(2,2))
plot(plot_w1)
plot(plot_w1_contemp)
plot(plot_w2)
plot(plot_w2_contemp)

Individual Differences
# generate sd plots
par(mfrow = c(2,2))
plot(plot_fun(fit1_w1, "temporal", "1", sd = TRUE, Layout = plot_w1$layout, noplot = TRUE))
plot(plot_fun(fit1_w1, "contemporaneous", "1", sd = TRUE, Layout = plot_w1_contemp$layout, noplot = TRUE, Nosig = 'show'))
plot(plot_fun(fit1_w2, "temporal", "2", sd = TRUE, Layout = plot_w1$layout, noplot = TRUE))
plot(plot_fun(fit1_w2, "contemporaneous", "2", sd = TRUE, Layout = plot_w1_contemp$layout, noplot = TRUE, Nosig = 'show'))

Centrality

In addition, we assessed the local network structure using centrality. Specifically, we calculated the strength centrality for lagged and contemporaneous networks at each wave separately. Because the lagged network is directed, we calculated both in strength and out strength for each node. We can use both centrality indices and edges to examine local properties of different nodes across both waves. In the population networks, central nodes represent consensus - behavioral patterns that were shared across people - while peripheral nodes represent idiosyncrasies - behavioral patterns that differed across people. For comparison across waves, we z-transformed all results for display in the figure below.
Centrality refers to the relative importance of a focal node to the structure and dynamics of a network. In other words, it provides information about a node’s role in the context of other nodes.

# save the lagged results to data frames
lagged_effects_w1 <- tbl_df(sum_fit1_w1$temporal) %>% mutate(wave = "1")
lagged_effects_w2 <- tbl_df(sum_fit1_w2$temporal) %>% mutate(wave = "2")

vars <- names(fit1_w1$output)

# save the contemporaneous results to matrices
contemp_effects_w1 <- fit1_w1$results$Theta$pcor$mean
contemp_effects_w2 <- fit1_w2$results$Theta$pcor$mean

colnames(contemp_effects_w1) <- vars; rownames(contemp_effects_w1) <- vars
colnames(contemp_effects_w2) <- vars; rownames(contemp_effects_w2) <- vars

# function to turn contemporaneous matrices to long format
contemp_long_fun <- function(fit, Wave){
  fit <- fit[,order(colnames(fit))]
  fit <- fit[order(rownames(fit)),]
  fit[lower.tri(fit, diag = T)] <- NA
  fit.long <- tbl_df(fit) %>%
    mutate(Var1 = colnames(.),
           type = "Contemporaneous", wave = Wave) %>%
    gather(key = Var2, value = weight, A_kind:N_worried) %>%
    filter(!is.na(weight)) %>%
    unite(var, Var1, Var2, sep = ".", remove = F)
}

# create long format contemporaneous results
contemp_eff_w1 <- contemp_long_fun(contemp_effects_w1, "1")
contemp_eff_w2 <- contemp_long_fun(contemp_effects_w2, "2")
### Run Centrality Analyses ###
#lagged
#raw
lagged_centrality_w1      <- centrality_auto(sum_fit1_w1$temporal[,c(1,2,4)])
lagged_centrality_w2      <- centrality_auto(sum_fit1_w2$temporal[,c(1,2,4)])

#contemporaneous
#raw
contemporaneous_centrality_w1      <- centrality_auto(contemp_effects_w1)
contemporaneous_centrality_w2      <- centrality_auto(contemp_effects_w2)
# save centrality results into data frame #
# lagged #
temp_cent <- lagged_centrality_w1$node.centrality %>% data.frame() %>%
  mutate(wave = "1", type = "Lagged", var = rownames(.)) %>%
  full_join(lagged_centrality_w2$node.centrality %>% data.frame() %>%
  mutate(wave = "2", type = "Lagged", var = rownames(.)))

# contemporaneous #
contemp_cent <- contemporaneous_centrality_w1$node.centrality %>%
  mutate(wave = "1", type = "Contemporaneous", var = rownames(.)) %>%
  full_join((contemporaneous_centrality_w2$node.centrality %>%
  mutate(wave = "2", type = "Contemporaneous", var = rownames(.))))
Centrality Plots
# Lagged #
# wrangle to long format and calculate standardized indices #
temp_cent_long <- temp_cent %>%
  gather(key = Measure, value = Centrality, Betweenness:OutStrength) %>%
  group_by(wave, Measure) %>%
  mutate(z = as.numeric(scale(Centrality)))

# Contemporaneous #
# wrangle to long format and calculate standardized indices #
contemp_cent_long <- contemp_cent %>%
  gather(key = Measure, value = Centrality, Betweenness:Strength) %>%
  group_by(wave, Measure) %>%
  mutate(z = as.numeric(scale(Centrality)))

# create combined data frame of lagged and contemporaneous effects #
combined_centrality <- temp_cent_long %>% full_join(contemp_cent_long) %>% ungroup()

combined_centrality %>%
  filter(grepl("trength", Measure)) %>%
  mutate(type = factor(type, levels = rev(sort(unique(type))))) %>%
  ggplot(aes(x = var, y = z, group = wave))+
  geom_line(aes(linetype = wave), color = "black", size = .3) + 
  geom_point(aes(shape = wave), size = 2) + 
  scale_y_continuous(limits = c(-3,3), breaks = seq(-3,3,1)) + 
  geom_hline(aes(yintercept = 0)) + 
  labs(x = NULL, y = "z-score") +
  coord_flip() + 
  facet_wrap(~type + Measure, nrow = 1) + 
  theme_classic()+ 
  theme(axis.text = element_text(face = "bold"),
        axis.title = element_text(face = "bold"),
        legend.title = element_text(face = "bold"),
        legend.position = "bottom")#c(.87, .25))

# ggsave(sprintf("%s/results/plots/centrality_plot.png", res_path), width = 5, height = 3.5)
Table Lagged
# wrangle to wide format for tabling #
temp_cent %>% select(-contains("fluence")) %>%
  gather(key = Measure, value = Centrality, Betweenness: OutStrength) %>%
  mutate(var = str_replace(var, "_", " ")) %>%
  unite(Measure, Measure, wave, sep = ".") %>%
  spread(key = Measure, value = Centrality) %>%
  mutate_at(vars(InStrength.1:OutStrength.2), funs(round(.,2))) %>%
  mutate_at(vars(Closeness.1:Closeness.2), funs(sprintf("%.2e", .))) %>%
  select(-type) %>%
  kable(., "html", booktabs = T, escape = F, digits = 2, 
        col.names = c("", rep(c("1","2"), times = 4))) %>%
  kable_styling(bootstrap_options = c("striped","repeat_header"), full_width = T) %>%
  #kable_styling(full_width = F) %>%
  column_spec(1, width = "4cm") %>%
  add_header_above(c(" " = 1,  "Betweenness" = 2, "Closeness" = 2,
                     "In Strength" = 2, "Out Strength" = 2))
Betweenness
Closeness
In Strength
Out Strength
1 2 1 2 1 2 1 2
A kind 7 5 2.14e-03 2.10e-03 0.11 0.14 0.13 0.13
A rude 3 0 3.01e-03 3.35e-03 0.07 0.07 0.22 0.16
C lazy 4 3 1.75e-03 2.43e-03 0.19 0.16 0.12 0.16
C reliable 2 8 1.67e-03 2.71e-03 0.09 0.16 0.09 0.18
E outgoing 1 3 1.35e-03 2.60e-03 0.21 0.17 0.07 0.13
E quiet 3 1 1.12e-03 1.69e-03 0.15 0.19 0.05 0.09
N depressed 4 0 2.32e-03 2.58e-03 0.12 0.11 0.14 0.16
N relaxed 4 1 2.15e-03 1.51e-03 0.20 0.26 0.16 0.10
N worried 13 16 3.04e-03 3.93e-03 0.16 0.16 0.32 0.31
Table Contemporaneous
# wrangle to wide format #
contemp_cent %>% select(-ExpectedInfluence) %>%
  gather(key = Measure, value = Centrality, Betweenness: Strength) %>%
  mutate(var = str_replace(var, "_", " ")) %>%
  unite(Measure, Measure, wave, sep = ".") %>%
  spread(key = Measure, value = Centrality) %>%
  mutate_at(vars(Strength.1:Strength.2), funs(round(.,2))) %>%
  mutate_at(vars(Closeness.1:Closeness.2), funs(sprintf("%.2e", .))) %>%
  select(-type) %>%
  kable(., "html", booktabs = T, escape = F, digits = 2, 
        col.names = c("", rep(c("1","2"), times = 3))) %>%
  kable_styling(bootstrap_options = c("striped","repeat_header"),full_width = T) %>%
  #kable_styling(full_width = F) %>%
  column_spec(1, width = "4cm") %>%
  add_header_above(c(" " = 1,  "Betweenness" = 2, "Closeness" = 2,
                     "Strength" = 2))
Betweenness
Closeness
Strength
1 2 1 2 1 2
A kind 3 6 1.23e-02 1.17e-02 0.68 0.70
A rude 0 1 9.38e-03 9.00e-03 0.57 0.50
C lazy 2 2 1.12e-02 1.13e-02 0.74 0.70
C reliable 2 2 1.14e-02 1.19e-02 0.67 0.68
E outgoing 6 6 1.13e-02 1.12e-02 1.07 1.08
E quiet 1 0 1.03e-02 9.98e-03 0.87 0.81
N depressed 1 1 1.10e-02 1.07e-02 0.77 0.74
N relaxed 8 8 1.33e-02 1.28e-02 1.05 1.02
N worried 0 0 1.16e-02 1.15e-02 0.75 0.80

Edge Weights

Contemporaneous networks are undirected and do not have feedback loops - that is, temporal precedence is unclear when behaviors are rated at the same time (see Figure 2). The strongest edge in the contemporaneous networks was between the two Extraversion items (quiet-outgoing: \(b_{W1}\) = -.61; \(b_{W2}\) = -.63). Indeed, many of the strongest relationships within the contemporaneous were within Big 5 domains (e.g. E1-E2, A1-A2) and were negative, which is not surprising given that one of the items in each domain was negatively keyed. Such relationships were coherent - participants reported feeling more lazy when they were less reliable (and vice versa; \(b_{W1}\) = -.28, \(b_{W2}\) = -.31) and more relaxed when they were less worried (and vice versa; \(b_{W1}\) = -.38, \(b_{W2}\) = -.38). There were notably strong relationships across domains as well. Reports of relaxation co-occurred with reports of feeling both lazy (\(b_{W1}\) = .26; \(b_{W2}\) = .24) and kind (\(b_{W1}\) = .11, \(b_{W2}\) = .08). Reports of kindness, in turn, were associated with feeling more outgoing ($b_{W1} = .13, \(b_{W2}\) = .12) and reliable (\(b_{W1}\) = .11, \(b_{W2}\) = .10).
The strongest edge in the lagged networks in both waves was the feedback loop of the Neuroticism item “worried” (worried, \(b_{W1}\) = .14; \(b_{W2}\) = .16). Feedback loops can be interpreted as partial autocorrelations, which has been termed inertia in the affect literature (Ong & Ram, 2016). In other words, worrying seemed to carry over across time points, strongly predicting itself four hours later. Worry also strongly predicted other nodes, including reports of relaxation (worried - relaxed, \(b_{W1}\) = -.11; \(b_{W2}\) = -.08), being quiet (worried - quiet, \(b_{W1}\) = 03; \(b_{W2}\) = .08), and feeling depressed (\(b_{W1}\) = .05; \(b_{W2}\) = .04). Notably, many of the strongest edges included one or more Neuroticism nodes - ratings of items from the Neuroticism domain strongly predicted each other across time - with the top 5 connections across both waves including a Neuroticism node. Such a pattern was not observed within other traits - Extraversion (b’s < |.005|), Agreeableness (b’s < |.02|), and Conscientiousness (b’s < |.03|) items weakly predicted each other over four hour intervals. However, several items exhibited strong inertia - reports of being lazy (\(b_{W1}\) = .06; \(b_{W2}\) = .08), reliable (\(b_{W1}\) = .04; \(b_{W2}\) = .06), and kind (\(b_{W1}\) = .03; \(b_{W2}\) = .06) were significant predictors of themselves. Feedback loops are critical features of lagged networks because although they do not explain shifts between behaviors over time, they do explain the likelihood of continuing to engage in a behavior once you begin.

Centrality

Next, we examined the centrality of different nodes in the network. Centrality indexes the relative importance of different nodes in the network - that is, nodes’ abilities to directly impact other nodes in the network. Central nodes represent patterns of influence shared across people, while peripheral nodes represent more unique patterns of influence. Centrality for all nodes in both lagged and contemporaneous networks across waves are displayed in Figure 3.
In the contemporaneous networks, how outgoing and relaxed participants reported had strong direct impacts on their other concurrent behaviors. The worried (N) and rudeness (A) nodes had notably little direct impact on other behaviors. In other words, in the moment, becoming more worried (N) or rude (A) would not strongly impact other concurrent behaviors, whereas feeling more outgoing and relaxed would. Nodes within traits tended to markedly differ in their centrality indices. For example, quiet (E) and depressed were at or below overall average centrality across all three measures, while outgoing (E) and relaxed (N) were well above average. In other words, behaviors, not traits, tended to drive concurrent behaviors.
In the lagged networks, worried (N) and relaxed (N) had the highest out-strength and in-strength, respectively, across both waves. That is, how worried you reported being strongly predicted many other behaviors four hours later but was little impacted by other behaviors. In contrast, how relaxed you reported was strongly predicted by what you were doing four hours ago but did not strongly predict your behavior later. Reports of how rude (A) and kind (A) were the lowest in in-strength. How rude or kind participants reported being was little impacted by their previous behaviors. Conversely, participants’ reports of how quiet (E), outgoing (E), and reliable (C) they were had little bearing on their later behaviors. Together this suggests that nodes related to emotions (e.g. worried, relaxed) notably impact behavior, and nodes related to social behaviors (e.g. kind, outgoing) are little impacted by previous behaviors and little impact future behaviors.

Network stability

Next, we assessed the stability of the population networks over time. To assess stability, we first calculated the profile correlation between the mlVAR fixed effects edge weights across the waves for both lagged and contemporaneous effects. Profile correlations index the stability of a profile of values over time - that is, how stable the positions of values are relative to all other values. Population networks were highly stable across waves. Contemporaneous network stability was almost at ceiling (\(r\) = .99). Lagged network stability was still quite strong (\(r\) = .68) but was significantly less stable than the contemporaneous networks (\(z\) = 9.28, \(p\) < .001).

# Profile (Ipsative) Edge Consistency
# The easiest and most straightforward way to assess the sconsistency in responses across
# time is simply to correlate the regression coefficients at each time point with those
# at the other time points. We do this below for models generated using raw and centered data.  
# For these correlations, we are correlating two vectors, each of which contains 81
# weights (9 x 9). We do so once for lagged and once for contemporaneous effects.  

cors <- data.frame(
  comparison = c("W1 v. W2"),
  type = c("lagged", "contemporaneous"),
  raw_cor = 
    c(cor(sum_fit1_w1$temporal$fixed,
          sum_fit1_w2$temporal$fixed),
      cor(sum_fit1_w1$contemporaneous$pcor,
          sum_fit1_w2$contemporaneous$pcor)))

cors %>%
  kable(., "html", booktabs = T, escape = F, digits = 2) %>%
  kable_styling(bootstrap_options = c("striped","repeat_header"), full_width = T)
comparison type raw_cor
W1 v. W2 lagged 0.63
W1 v. W2 contemporaneous 0.99

Next, we calculated the profile correlations between the centrality indices of lagged and contemporaneous effects across the waves separately for each measure of centrality. Across both waves, centrality was stable. Lagged in strength (\(r\) = .86) was slightly more stable than lagged out strength (\(r\) = .70). Contemporaneous strength centrality stability (\(r\) = .98) was significantly more stable than lagged in strength (\(z\) = 2.66, \(p\) < .01) but not out strength (\(z\) = 1.92, \(p\) = .054).

#### Profile (Ipsative) Centrality Consistency
combined_centrality %>%
  select(-z) %>%
  spread(key = wave, value = Centrality) %>%
  group_by(type, Measure) %>%
  summarize(r = cor(`1`, `2`, use = "pairwise")) %>%
  spread(key = type, value = r) %>% arrange(Contemporaneous) %>%
  kable(., "html", booktabs = T, escape = F, digits = 2,
  caption = "Profile Correlations of Population Level Centrality Consistency") %>%
  kable_styling(bootstrap_options = c("striped","repeat_header"), full_width = T)
Profile Correlations of Population Level Centrality Consistency
Measure Contemporaneous Lagged
Betweenness NA NA
Closeness NA NA
InStrength NA NA
OutStrength NA NA
Strength NA NA

Footnote 4: P-factor Analyses

Reference Factor Analyses

Typically, idiographic personality structure has been approached from a factor analytic standpoint using so-called P-technique factor analysis (e.g. Borkenau & Ostendorpf, 1998; Molenaar, 2004). Thus, to contrast with individual differences in network consistency, we also sought to replicate past research by conducting a series of individual level idiographic P-factor analyses of repeated-measures data. Concurrent examination of both factor analytic and network approaches allows us to better understand the relative advantages of each.
For the idiographic P-factor analyses, we calculated a time series varimax rotated factor analysis for each participant at each wave (\(N_{W1}\) = 348, \(N_{W2}\) = 146), using the psych package in R (Revelle, 2014). Using an eigenvalue criteria of 1, we found that the time-series factor solution ranged from 1 to 4 factors, with a median of 3 for both waves. 4.9% of the P-factor solutions in the first wave and 6.4% of the P-factor solutions in the second wave had the number of factors expected by the 9 ESM items putative factor structure (4). Despite this, the content of the 4 extracted factors of even this small minority of factor solutions differed from expectations. Across all subjects, the first factor explained between 11.4% and 37.7% (\(M_{W1}\) = 20.3%, \(SD_{W1}\) = 3.9%) of the variance in Wave 1 and between 9.6% and 37.7% (\(M_{W2}\) = 19.5%, \(SD_{W2}\) = 4.3%) in Wave 2. The cumulative variance explained by the extracted factor solution ranged from 12.4% to 79.6% (\(M_{W1}\) = 44.6%, \(SD_{W1}\) = 11.4%) in wave 1 and from 13.5% to 70.7% (\(M_{W2}\) = 42.1%, \(SD_{W2}\) = 10.8%) in wave 2.

# calculate individual for each variable
w1_pop <- w1 %>%
  mutate_at(vars(A_rude:N_relaxed), funs(mapvalues(., from = 1:5, to = 5:1))) %>%
  gather(key = item, value = value, A_rude:N_worried) %>%
  separate(item, c("trait", "item"), sep = "_") %>%
  group_by(SID, trait, wave) %>%
  summarize(esm = mean(value, na.rm = T)) %>%
  ungroup() %>% mutate(trait = paste(trait, "esm", sep = ".")) %>%
  spread(key = trait, value = esm) %>%
  full_join(w1 %>%
  group_by(SID) %>%
  summarize_at(vars(A_rude:N_worried), funs(mean)) %>%
  ungroup()) 
w2_pop <- w2 %>%
  mutate_at(vars(A_rude:N_relaxed), funs(mapvalues(., from = 1:5, to = 5:1))) %>%
  gather(key = item, value = value, A_rude:N_worried) %>%
  separate(item, c("trait", "item"), sep = "_") %>%
  group_by(SID, trait, wave) %>%
  summarize(esm = mean(value, na.rm = T)) %>%
  ungroup() %>% mutate(trait = paste(trait, "esm", sep = ".")) %>%
  spread(key = trait, value = esm) %>%
  full_join(w2 %>%
  group_by(SID) %>%
  summarize_at(vars(A_rude:N_worried), funs(mean)) %>%
  ungroup()) 

w1w2_subs <- w1_pop$SID[w1_pop$SID %in% w2_pop$SID]
w1_pop$wave <- "1"; w2_pop$wave <- "2"

composites.long <- w1_pop %>%
  full_join(w2_pop) %>%
  filter(SID %in% w1w2_subs) %>%
  gather(key = Variable, value = composite,-SID, -wave)
r_cors_w1 <- cor(w1_pop[,3:11])
r_cors_w2 <- cor(w2_pop[,3:11])

fa_w1  <- fa(r_cors_w1,  nfactors = 7, rotate = "varimax", 
              n.obs = length(w1_pop))
fa_w2 <- fa(r_cors_w2, nfactors = 7, rotate = "varimax", 
              n.obs = length(w2_pop))

factors_w1  <- sum(fa_w1$values  > 1)
factors_w2 <- sum(fa_w2$values > 1)

sink("/dev/null")
pop_var_w1 <- print(fa_w1)$Vaccounted[3, factors_w1]
## Factor Analysis using method =  minres
## Call: fa(r = r_cors_w1, nfactors = 7, n.obs = length(w1_pop), rotate = "varimax")
## Standardized loadings (pattern matrix) based upon correlation matrix
##               MR3   MR2   MR4   MR1   MR5   MR6   MR7   h2     u2 com
## A.esm       -0.09  0.11 -0.05 -0.02  0.46  0.00  0.00 0.23 0.7650 1.2
## C.esm       -0.92  0.18 -0.13 -0.07  0.26 -0.11  0.10 0.99 0.0088 1.4
## E.esm       -0.15  0.92 -0.14 -0.04  0.27  0.00 -0.04 0.96 0.0373 1.3
## N.esm        0.17 -0.11  0.80  0.55 -0.04  0.03 -0.04 0.99 0.0074 1.9
## A_rude       0.42  0.08  0.24  0.25  0.01  0.34  0.00 0.42 0.5844 3.4
## E_quiet      0.13 -0.95  0.03  0.07 -0.04 -0.03 -0.04 0.93 0.0695 1.1
## C_lazy       0.90 -0.20  0.02  0.16 -0.04 -0.04  0.09 0.89 0.1088 1.2
## N_relaxed   -0.06  0.09 -0.93 -0.15  0.12 -0.07 -0.02 0.92 0.0800 1.1
## N_depressed  0.24 -0.10  0.41  0.82 -0.05  0.08  0.01 0.92 0.0762 1.7
## 
##                        MR3  MR2  MR4  MR1  MR5  MR6  MR7
## SS loadings           1.98 1.87 1.77 1.11 0.37 0.14 0.02
## Proportion Var        0.22 0.21 0.20 0.12 0.04 0.02 0.00
## Cumulative Var        0.22 0.43 0.62 0.75 0.79 0.80 0.81
## Proportion Explained  0.27 0.26 0.24 0.15 0.05 0.02 0.00
## Cumulative Proportion 0.27 0.53 0.77 0.93 0.98 1.00 1.00
## 
## Mean item complexity =  1.6
## Test of the hypothesis that 7 factors are sufficient.
## 
## The degrees of freedom for the null model are  36  and the objective function was  7.42 with Chi Square of  75.43
## The degrees of freedom for the model are -6  and the objective function was  0 
## 
## The root mean square of the residuals (RMSR) is  0 
## The df corrected root mean square of the residuals is  NA 
## 
## The harmonic number of observations is  15 with the empirical chi square  0  with prob <  NA 
## The total number of observations was  15  with Likelihood Chi Square =  0  with prob <  NA 
## 
## Tucker Lewis Index of factoring reliability =  8.49
## Fit based upon off diagonal values = 1
## Measures of factor score adequacy             
##                                                    MR3  MR2  MR4  MR1  MR5
## Correlation of (regression) scores with factors   0.98 0.98 0.97 0.93 0.72
## Multiple R square of scores with factors          0.95 0.96 0.93 0.87 0.53
## Minimum correlation of possible factor scores     0.91 0.91 0.87 0.74 0.05
##                                                     MR6   MR7
## Correlation of (regression) scores with factors    0.50  0.53
## Multiple R square of scores with factors           0.25  0.28
## Minimum correlation of possible factor scores     -0.50 -0.44
pop_var_w2 <- print(fa_w2)$Vaccounted[3, factors_w2]
## Factor Analysis using method =  minres
## Call: fa(r = r_cors_w2, nfactors = 7, n.obs = length(w2_pop), rotate = "varimax")
## Standardized loadings (pattern matrix) based upon correlation matrix
##               MR3   MR2   MR5   MR1   MR4   MR6   MR7   h2     u2 com
## A.esm       -0.11  0.18 -0.07 -0.05  0.65 -0.05  0.00 0.48 0.5171 1.3
## C.esm       -0.91  0.12 -0.15 -0.12  0.22 -0.05  0.03 0.93 0.0679 1.3
## E.esm       -0.13  0.92 -0.15 -0.08  0.26  0.14  0.12 0.99 0.0128 1.4
## N.esm        0.18 -0.11  0.80  0.54 -0.05  0.09 -0.07 0.99 0.0061 2.0
## A_rude       0.44  0.12  0.17  0.23 -0.18  0.41  0.00 0.50 0.5021 3.4
## E_quiet      0.08 -0.96  0.04  0.08 -0.06  0.06  0.09 0.96 0.0390 1.1
## C_lazy       0.96 -0.15  0.05  0.13  0.02  0.05  0.02 0.96 0.0435 1.1
## N_relaxed   -0.08  0.08 -0.89 -0.12  0.09 -0.03 -0.03 0.83 0.1678 1.1
## N_depressed  0.24 -0.16  0.37  0.79 -0.08  0.09  0.01 0.86 0.1415 1.8
## 
##                        MR3  MR2  MR5  MR1  MR4  MR6  MR7
## SS loadings           2.07 1.89 1.65 1.04 0.60 0.22 0.03
## Proportion Var        0.23 0.21 0.18 0.12 0.07 0.02 0.00
## Cumulative Var        0.23 0.44 0.62 0.74 0.81 0.83 0.83
## Proportion Explained  0.28 0.25 0.22 0.14 0.08 0.03 0.00
## Cumulative Proportion 0.28 0.53 0.75 0.89 0.97 1.00 1.00
## 
## Mean item complexity =  1.6
## Test of the hypothesis that 7 factors are sufficient.
## 
## The degrees of freedom for the null model are  36  and the objective function was  7.14 with Chi Square of  72.55
## The degrees of freedom for the model are -6  and the objective function was  0 
## 
## The root mean square of the residuals (RMSR) is  0 
## The df corrected root mean square of the residuals is  NA 
## 
## The harmonic number of observations is  15 with the empirical chi square  0  with prob <  NA 
## The total number of observations was  15  with Likelihood Chi Square =  0  with prob <  NA 
## 
## Tucker Lewis Index of factoring reliability =  12.081
## Fit based upon off diagonal values = 1
## Measures of factor score adequacy             
##                                                    MR3  MR2  MR5  MR1  MR4
## Correlation of (regression) scores with factors   0.98 0.99 0.95 0.88 0.80
## Multiple R square of scores with factors          0.96 0.97 0.90 0.78 0.63
## Minimum correlation of possible factor scores     0.93 0.94 0.80 0.56 0.27
##                                                     MR6   MR7
## Correlation of (regression) scores with factors    0.65  0.56
## Multiple R square of scores with factors           0.42  0.32
## Minimum correlation of possible factor scores     -0.16 -0.37
sink()

Parallel Analysis

fa_par_w1 <- fa.parallel(w1_pop %>% select(A_rude:N_worried), fm = 'ml', 
      fa = 'fa', n.iter = 50, SMC = T, quant = .95)

## Parallel analysis suggests that the number of factors =  4  and the number of components =  NA
fa_par_w2 <- fa.parallel(w2_pop %>% select(A_rude:N_worried), fm = 'ml', 
      fa = 'fa', n.iter = 50, SMC = T, quant = .95)

## Parallel analysis suggests that the number of factors =  4  and the number of components =  NA

Idiographic P-Factor Analyses

cor_fun <- function(df, type){
  if(type == "fa"){r <- cor(df %>% select(A_rude:N_worried), use = "pairwise")}
  else{
    df <- df %>% select(A_rude:N_worried) %>% mutate_all(funs(lag = lag))
    r <- cor(df[,10:18], df[,1:9], use = "pairwise")
  }
  return(r)
}
par_fun <- function(df, n){
  fa.parallel(df, fm = 'ml', n.obs = n,
      fa = 'fa', n.iter = 50, SMC = T, quant = .95)
}
fa_fit <- w1 %>% full_join(w2) %>%
  group_by(SID, wave, count) %>%  
  arrange(SID, wave) %>%
  nest() %>%
  full_join(crossing(wave = c("1","2"), fa_type = c("fa", "dfa"))) %>%
  mutate(cor = map2(data, fa_type, possibly(cor_fun, NA_real_)),
         fa_par = map2(data, count, possibly(par_fun, NA_real_)),
         nfact = map_dbl(fa_par, possibly(~.$nfact, NA_real_)))

fa_fun <- function(df,nfact, SID, wave, fa_type){
  print(sprintf("%s Wave %s %s", SID, wave, fa_type))
  symm <- ifelse(fa_type == "dfa", FALSE, TRUE)
  if(!is.na(nfact) & nfact != 0){fa(df, nfactors = nfact, symmetric = symm)}
  }
fa_fit <- fa_fit %>%
  filter(!(SID == 13266 & wave == 1 & fa_type == "dfa")) %>%
  filter(!(SID == 28072 & wave == 2 & fa_type == "dfa")) %>%
  mutate(fa = pmap(list(cor, nfact, SID, wave, fa_type), possibly(fa_fun, NA_real_)))

Idiographic Factors

Vaccounted_fun <- function(fa, nfactor){
  y <- print(fa)$Vaccounted[3,]
  z <- y[nfactor]
  return(z)
}

sink("/dev/null")
#eigenvalue > 1 rule
fa_fit <- fa_fit %>% filter(!nfact == 0 & !is.na(nfact)) %>%
  mutate(Vacc_first = map_dbl(fa, possibly(~print(.)$Vaccounted[3,1], NA_real_)),
         Vacc_par = map2_dbl(fa, nfact, possibly(Vaccounted_fun, NA_real_)))
sink()
# descriptives of extracted factors from p-factors
fa_fit %>%
  select(fa_type, SID, wave, nfact, Vacc_first, Vacc_par) %>%
  gather(key = measure, value = value, nfact, Vacc_first, Vacc_par) %>%
  group_by(fa_type, wave, measure) %>%
  summarize_at(vars(value), funs(M = mean, SD = sd, Median = median, Min = min, Max = max), na.rm = T) %>%
  ungroup() %>%
  gather(key = ct, value = value, M:Max) %>%
  unite(measure, measure, wave, sep = ".") %>%
  spread(key = measure, value = value) %>%
  select(-fa_type) %>%
  kable(., "html", escape = F, booktabs = T, digits = 2,
        col.names = c("Measure", rep(c("W1", "W2"), times = 3)),
        caption = "Descriptives of P-factor Analyses") %>%
  add_header_above(header = c(" " = 1, "Parallel Analysis Factors" = 2, "Variance Accounted" = 2, 
                              "Variance First Factor" = 2)) %>%
  kable_styling(bootstrap_options = c("striped","repeat_header"), full_width = T) %>%
  group_rows("DFA", 1,5) %>%
  group_rows("FA", 6,10)
Descriptives of P-factor Analyses
Parallel Analysis Factors
Variance Accounted
Variance First Factor
Measure W1 W2 W1 W2 W1 W2
DFA
M 3.36 3.40 0.35 0.35 0.85 0.84
Max 7.00 9.00 0.68 0.77 1.00 1.00
Median 3.00 3.00 0.32 0.34 0.87 0.88
Min 1.00 1.00 0.18 0.18 0.47 0.50
SD 1.35 1.45 0.10 0.11 0.10 0.11
FA
M 3.32 3.44 0.23 0.23 0.61 0.60
Max 7.00 7.00 0.44 0.42 0.87 0.83
Median 3.00 3.00 0.22 0.21 0.62 0.61
Min 1.00 1.00 0.12 0.14 0.28 0.32
SD 1.35 1.37 0.05 0.05 0.11 0.11

Ipsative Consistency

cong_fun <- function(sid, type){
  fa1 <- (fa_fit %>% filter(fa_type == type & SID == sid & wave == 1))$fa[[1]]
  fa2 <- (fa_fit %>% filter(fa_type == type & SID == sid & wave == 2))$fa[[1]]
  factor.congruence(fa1, fa2)
}

ip_eigen_fun <- function(sid, type){
  fa1 <- (fa_fit %>% filter(fa_type == type & SID == sid & wave == 1))$fa[[1]]
  fa2 <- (fa_fit %>% filter(fa_type == type & SID == sid & wave == 2))$fa[[1]]
  cor(fa1$values, fa2$values, use = "pairwise")
}

fa_cong <- fa_fit %>% 
  filter(!is.na(fa)) %>% 
  group_by(SID, fa_type) %>% 
  summarize(n = n()) %>% 
  ungroup() %>%
  filter(n == 2) %>%
  mutate(congruence = map2(SID, fa_type, possibly(cong_fun, NA_real_)),
         ip_eigen = map2_dbl(SID, fa_type, possibly(ip_eigen_fun, NA_real_)))

fa_cong %>% 
  ggplot(aes(x = ip_eigen)) + 
  geom_histogram(aes(fill = fa_type), color = "black") + 
  facet_grid(~fa_type) + 
  theme_classic() + 
  theme(legend.position = "none")

Rank Order Consistency

fa_extract_fun <- function(fit){
  tibble(var = rownames(fit$weights), eigen = fit$values)
}

fa_fit <- fa_fit %>%
  mutate(eigen = map(fa, possibly(fa_extract_fun, NA_real_)))

fa_fit %>%
  filter(!is.na(eigen)) %>%
  group_by(SID, fa_type) %>%
  mutate(n = n()) %>% 
  filter(n == 2) %>%
  unnest(eigen) %>%
  group_by(wave, fa_type, var) %>%
  mutate(rank = dense_rank(desc(eigen))) %>%
  select(-count, -nfact, -eigen, -n, -Vacc_first, -Vacc_par) %>%
  spread(key = wave, value = rank) %>%
  group_by(fa_type, var) %>%
  summarize(r = cor(`1`, `2`, use = "pairwise")) %>%
  spread(key = fa_type, value = r)
save(fa_fit, fa_cong, file = "/Users/emoriebeck/Box/network/PAIRS/consistency/results/fa_results.RData")

Footnote 5: Pairwise Profile Congruence

Differences were not unique to the two example subjects. Globally, we can compare each participant’s profile of edge weights to all other participants’ profiles to assess similarity in network structure. On average, pairwise congruence was higher in the contemporaneous networks (\(M_{W1}\) = .44; \(M_{W2}\) = .45) than the lagged networks (\(M_{W1}\) = .01; \(M_{W2}\) = .01). The contemporaneous estimates suggest that there are similarities across people, with their profiles showing modest correlations, on average. This is to be expected, as it suggests that relationship between variables that are presumed in factor models is justified. In contrast, it appears that people have very little overlap in lagged edge weights, on average.

r_fun <- function(df){
  x <- data.frame((df %>% select(-SID)))
  rownames(x) <- df$SID
  y <- cor(t(x), use = "pairwise")
  y[upper.tri(y, diag = T)] <- NA
  z <- tbl_df(data.frame(y) %>%
    mutate(SID = colnames(y)) %>%
    gather(key = SID2, value = r, -SID) %>%
    mutate(SID2 = gsub("X", "", SID2))) %>%
    filter(!is.na(r)) 
}

pcong_cors <- temp_long %>%
  select(SID, wave, lambda_scale, type, from, to, weight) %>%
  unite(var, from, to, sep = ".") %>%
  full_join(contemp_long %>% select(SID, wave, lambda_scale, var, type, weight)) %>%
  spread(key = var, value = weight) %>%
  group_by(wave, lambda_scale, type) %>%
  nest() %>%
  mutate(pcr = map(data, r_fun))

pcong_cors %>% unnest(pcr, .drop = T) %>%
  filter(!is.na(r)) %>%
  group_by(wave, lambda_scale, type) %>%
  summarize(mean = meanSD_r2z2r(r)[1],
            sd = sd(r, na.rm = T)) %>%
  kable(., "html", digits = 2, booktabs = T,
        col.names = c("Wave","Model", "Type", "M", "SD"),
        caption = "Descriptives of Pairwise Congruence Correlations") %>%
  kable_styling(bootstrap_options = c("striped","repeat_header"), full_width = T)
Descriptives of Pairwise Congruence Correlations
Wave Model Type M SD
1 .25 Contemporaneous 0.49 0.26
1 .25 Lagged 0.01 0.14
1 .5 Contemporaneous 0.51 0.26
1 .5 Lagged 0.00 0.15
1 association Contemporaneous 0.49 0.19
1 association Lagged 0.04 0.17
1 gimme Contemporaneous 0.32 0.21
1 gimme Lagged 0.02 0.16
1 mlVAR_EB Contemporaneous 0.90 0.05
1 mlVAR_EB Lagged 0.64 0.18
1 scaled Contemporaneous 0.61 0.30
1 scaled Lagged 0.00 0.15
1 unregularized Contemporaneous 0.26 0.19
1 unregularized Lagged 0.01 0.14
2 .25 Contemporaneous 0.49 0.28
2 .25 Lagged 0.01 0.14
2 .5 Contemporaneous 0.50 0.29
2 .5 Lagged 0.00 0.15
2 association Contemporaneous 0.49 0.20
2 association Lagged 0.04 0.18
2 gimme Contemporaneous 0.32 0.24
2 gimme Lagged 0.04 0.19
2 mlVAR_EB Contemporaneous 0.92 0.06
2 mlVAR_EB Lagged 0.73 0.14
2 scaled Contemporaneous 0.60 0.34
2 scaled Lagged 0.00 0.14
2 unregularized Contemporaneous 0.35 0.19
2 unregularized Lagged 0.02 0.14

Footnote 7: ESM Composites

For comparison purposes, we also created a composite of ESM assessments. We first calculated individuals’ mean ratings on each of the personality variable for each wave. We also calculated composite scores for each Big 5 traits at each measurement point. Then, for each wave and item / composite combination, we assigned ranks to participants based on their ESM composites. We used the ranks to calculate rank-order correlations using Spearman correlations, resulting in 14 rank order correlations (1 for each of the 9 items and 4 composites). Overall, rank order stability was fairly high across the two years for both items (range .46 to .74) and composites (range .68 to .79). Finally, we calculated profile correlations for items and composites separately for each participant across the two waves. Overall, consistency of both Big 5 composites (M = .97) and items (M = .91) was very strong over two years. There were also interindividual differences in intraindividual consistency of both composites (SD = .66) and items (SD = .47). We use these to as a benchmark to which to compare rank order and ipsative consistency of idiographic networks.

#compute scale scores for BF domains
#first create the keys by location (the conventional way)
keys.list <- list(
  E.esm = c(-2, 6),
  A.esm = c(-1, 7),
  C.esm = c(-3, 8),
  N.esm = c(-4, 5, 9))
keys <- make.keys(9,keys.list,item.labels=colnames(w1)[5:13])

# score the items and save to columns
ncol_w1 <- dim(w1)[2]; ncol_w2 <- dim(w2)[2]
w1[(ncol_w1 + 1):(ncol_w1 + 4)] <- scoreItems(keys,w1[,5:13],min=1,max=5)$scores
w2[(ncol_w2 + 1):(ncol_w2 + 4)] <- scoreItems(keys,w2[,5:13],min=1,max=5)$scores
# rename the new columns
colnames(w1)[(ncol_w1 + 1):(ncol_w1 + 4)] <- names(keys.list)
colnames(w2)[(ncol_w2 + 1):(ncol_w2 + 4)] <- names(keys.list)

# create a data frame merging the responses
esm.composites <- w1 %>% mutate(wave = "1") %>%
  select(SID, wave, A_rude:N_worried, E.esm:N.esm) %>%
  full_join(w2 %>% mutate(wave = "2") %>%
    select(SID, wave, A_rude:N_worried, E.esm:N.esm)) %>%
  mutate(SID = as.character(SID)) %>%
  gather(key = item, value = value, A_rude:N.esm) %>%
  group_by(SID, wave, item) %>%
  summarize(mean = mean(value, na.rm = T)) %>%
  spread(key = item, value = mean)

Variable Centered: Rank-Order Change

cor_fun <- function(x){
  cor(x$`1`, x$`2`, use = "pairwise", method = "spearman")
}

mean_cors <- composites.long %>%
  mutate(type = ifelse(grepl("_", Variable) == T, "Item", "Composite")) %>%
  filter(SID %in% w1w2_subs) %>%
  group_by(Variable, wave) %>%
  mutate(rank = min_rank(desc(composite))) %>%
  select(-composite) %>%
  spread(key = wave, value = rank) %>%
  group_by(Variable, type) %>%
  nest() %>%
  mutate(r = map_dbl(data, cor_fun))

mean_cors %>%
  group_by(type) %>%
  summarise(meanr = meanSD_r2z2r(r)[1],
            sd = meanSD_r2z2r(r)[2], 
            min = min(r),
            max = max(r)) %>%
  kable(., booktabs = T, digits = 2, format = "html",
        caption = "Descriptives of ESM Composites Rank-Order Consistency") %>%
  kable_styling(bootstrap_options = c("striped","repeat_header"), full_width = T)
Descriptives of ESM Composites Rank-Order Consistency
type meanr sd min max
Composite 0.63 0.24 0.46 0.79
Item 0.66 0.13 0.47 0.73

Person-Centered: Ipsative Change

w1$wave <- "1"; w2$wave <- "2" 
mean_profile_cors <- w1 %>%
  select(SID, wave, A_rude:N_worried, E.esm:N.esm) %>%
  full_join(select(w2, wave, SID, A_rude:N_worried, E.esm:N.esm)) %>%
  filter(SID %in% w1w2_subs) %>%
  group_by(wave, SID) %>%
  summarize_at(vars(A_rude:N.esm), funs(mean(., na.rm = T))) %>%
  ungroup() %>%
  gather(key = variable, value = rating, A_rude:N.esm) %>%
  mutate(type = ifelse(grepl("_", variable) == T, "Item", "Composite")) %>%
  group_by(SID, type) %>%
  summarize(cor = cor(rating[wave == "1"], rating[wave == "2"], use = "pairwise.complete.obs")) %>%
  ungroup()

mean_profile_cors %>%
  ggplot(aes(x = cor)) + 
  geom_histogram(color = "black", fill = "gray") + 
  facet_grid(.~type) + 
  labs(x = "Profile Correlation", y = "Frequency", title = "Profile Correlations of ESM Composites") + 
  scale_x_continuous(lim = c(0,1), breaks = seq(0,1,.25)) + 
  theme_bw()

mean_profile_cors %>%
  group_by(type) %>%
  summarise(meanr = meanSD_r2z2r(cor)[1],
            sd = meanSD_r2z2r(cor)[2], 
            min = min(cor),
            max = max(cor)) %>%
  kable(., booktabs = T, digits = 2, format = "html",
        caption = "Descriptives of ESM Composites Ipsative Consistency") %>%
  kable_styling(bootstrap_options = c("striped","repeat_header"), full_width = T)
Descriptives of ESM Composites Ipsative Consistency
type meanr sd min max
Composite 0.97 0.62 0.14 1
Item 0.93 0.45 0.56 1

Footnote 8: Idiographic Individual Differences

An alternative way to index individual differences in network structure. To index whether people in general had similar edge weights (e.g., the relationship between outgoing and quiet, both items from extraversion) we is to examine the standard deviation of edge weights for both contemporaneous and lagged idiographic networks see Figure Sxx in the Supplementary Materials). Significant variation existed across edges and types of networks. In the contemporaneous networks, the outgoing (E) - quiet (E) edge in the contemporaneous networks was most variable in both waves (\(SD_{W1}\) = .28; \(SD_{W2}\) = .32), indicating that not everyone had the typical strong, negative correlation between feeling outgoing and quiet. The most variable edges for lagged were lazy (C) - rude (A) in wave 1 (\(SD\) = .87) and reliable (C) - worried (N) in wave 2 (\(SD\) = .92). Overall, it appears that most people manifest some similar behaviors when they feel they are rude (e.g., not-quiet, not-relaxed), but this is not always the case as many people were rude while being lazy time (Subject 10493) while others were rude while not being lazy (Subject 10549).

Edge Weights

Table

temp_long %>%
  rename(Var1 = from, Var2 = to) %>%
  select(wave, SID, type, lambda_scale, Var1, Var2, weight) %>%
  full_join(select(contemp_long, SID, wave, type, lambda_scale, Var1, Var2, weight)) %>%
  filter(Var1 == "E_quiet" & Var2 == "N_depressed" & type == "Contemporaneous") %>%
  mutate(sign = sign(weight)) %>%
  arrange(desc(weight))
  # group_by(wave, sign) %>%
  # summarize(n = n())

ew_ind_diff <- temp_long %>%
  rename(Var1 = from, Var2 = to) %>%
  select(wave, type, lambda_scale, Var1, Var2, weight) %>%
  full_join(select(contemp_long, wave, type, lambda_scale, Var1, Var2, weight)) %>%
  group_by(type, wave, lambda_scale, Var1, Var2) %>%
  summarize(sd = fisherz2r(sd(fisherz(weight), na.rm = T)))

Plot

graph_fun <- function(dat, type, wave){
  if(type == "Lagged"){
    qgraph(dat, directed = T, node.width = 2,  arrows = T, layout = "circle",
           title=sprintf("%s Wave %s", type, wave), edge.color = "blue", 
           mar = rep(6,6), label.font = 2, label.fill.vertical = 1, 
           label.fill.horizontal = 1, color = "white")
  } else if(type == "Contemporaneous"){
    qgraph(dat, directed = F, node.width = 2, arrows = F, layout = "circle",
           title=sprintf("%s Wave %s", type, wave), edge.color = "blue", 
           mar = rep(6,6), label.font = 2, label.fill.vertical = 1, 
           label.fill.horizontal = 1, color = "white")
  }
}

par(mfrow = c(2,2))
ew_ind_diff_nested <- ew_ind_diff %>% ungroup() %>%
  mutate(Var1 = str_replace(Var1, "_", "\n"),
         Var2 = str_replace(Var2, "_", "\n")) %>%
  group_by(type, lambda_scale, wave) %>%
  nest() %>%
  arrange(wave, lambda_scale, rev(type)) %>%
  mutate(graph = pmap(list(data, type, wave), graph_fun))

Individual Differences in Centrality

To look at individual differences in centrality, we can compute the standard deviation of the each edge for each measure. We do so below and display in a plot.

temp_centrality %>%
  gather(key = measure, value = value, Betweenness:OutStrength) %>%
  full_join(contemp_centrality %>%
              gather(key = measure, value = value, Betweenness:Strength)) %>%
  group_by(SID, wave, type, lambda_scale, measure) %>%
  mutate(z = as.numeric(scale(value))) %>%
  ungroup() %>%
  group_by(wave, lambda_scale, var, measure, type) %>%
  mutate(sd = sd(value, na.rm = T)) %>%
  filter(grepl("trengt", measure) & lambda_scale == ".25") %>%
  ungroup() %>%
  mutate(wave = as.character(wave)) %>%
  ggplot(aes(x = var, y = sd, group = wave))+
  geom_line(aes(linetype = wave), color = "black", size = .3) + 
  geom_point(aes(shape = wave), size = 2) + 
  labs(x = NULL, y = "z-score", linetype = "Wave", shape = "Wave") +
  scale_y_continuous(limits = c(0,3), breaks = seq(0,3,1)) + 
  geom_hline(aes(yintercept = 0)) + 
  coord_flip() + 
  facet_wrap(~type + measure, nrow = 1) + 
  theme_classic()+ 
  theme(axis.text = element_text(face = "bold"),
        axis.title = element_text(face = "bold"),
        legend.title = element_text(face = "bold"),
        legend.position = "bottom")#c(.75, .25))

Supplemental Analyses

Relationships Among Consistency Estimates: Do Networks Capture Unique Aspects of Development?

consis_rs <- ip_cors %>% 
  mutate(type2 = "Edge Weights") %>% rename(r = cors) %>%
  full_join(ip_cent_cors %>% filter(grepl("trength", measure)) %>%
              mutate(type2 = "Centrality") %>% unite(type, type, measure, sep = ".")) %>% 
  full_join(mean_profile_cors %>% mutate(type2 = type, type = "Composites") %>%
              rename(r = cor)) %>%
  full_join(ip_split_cors %>% mutate(type2 = sprintf("Edge Weights: %s", split_type)) %>%
              select(-split_type) %>% unite(type, type, wave, sep = ".")) %>%
  ungroup() %>%
  unite(type, type, type2, lambda_scale, sep = "_") %>%
  spread(key = type, value = r) %>%
  select(-SID) %>%
  cor(., use = "pairwise")


# new.names <- c("Big 5 Composites", "Big 5 Item Composites", "Contemporaneous Edge Weights",
#                "Contemporaneous Odd-Even Edge Weights (W1)","Contemporaneous Split-Half Edge Weights (W1)",
#                "Contemporaneous Odd-Even Edge Weights (W2)","Contemporaneous Split-Half Edge Weights (W2)",
#                "Contemporaneous Strength Centrality", "Lagged Edge Weights",
#                "Lagged Odd-Even Edge Weights (W1)","Lagged Split-Half Edge Weights (W1)",
#                "Lagged Odd-Even Edge Weights (W2)","Lagged Split-Half Edge Weights (W2)",
#                "Lagged In Strength Centrality", "Lagged Out Strength Centrality")
# 
# consis_rs[lower.tri(consis_rs)] <- sprintf("%.2f", consis_rs[lower.tri(consis_rs)])
# consis_rs[upper.tri(consis_rs)] <- ""
# diag(consis_rs) <- "--"
# data.frame(consis_rs) %>%
#   mutate(var = rownames(.),
#          var = mapvalues(var, unique(var), new.names),
#     var = paste(seq(1, ncol(consis_rs),1), var, sep = ". ")) %>%
#   select(var, everything()) %>%
#   setNames(c("Measure", seq(1,ncol(consis_rs),1))) %>%
#   kable(., "html", booktabs = T, escape = F, digits = 2,
#         caption = "Correlations Between Ipsative Consistency Measures") %>%
#   kable_styling(bootstrap_options = c("striped","repeat_header"), full_width = T)

Profile Consistency Correlates: Profile Consistency Correlates: What May Explain Individual Differences in Network Consistency?

# read outcome variables from wave 1 #
target.ratings.initial.w1 <- tbl_df(read.csv(url(sprintf("%s/raw/master/data/Wave 1/target_w1_RENAMED.csv?raw=T", res_path)))) %>%
  mutate(wave = "1", ts.IDnum.w1 = ifelse(ts.IDnum.w1 < 10000, ts.IDnum.w1 + 10000, ts.IDnum.w1))
target.ratings.initial.w2 <- tbl_df(read.csv(sprintf("%s/data/Wave 4/home_w4_RENAMED.csv", res_path))) %>%
  mutate(wave = "2", ts.IDnum.w4 = ifelse(ts.IDnum.w4 < 10000, ts.IDnum.w4 + 10000, ts.IDnum.w4))

names.w1 <- colnames(target.ratings.initial.w1)
names.w2 <- colnames(target.ratings.initial.w2)
names.w1 <- gsub(".w1", "", names.w1)
names.w2 <- gsub(".w4", "", names.w2)
colnames(target.ratings.initial.w1) <- names.w1
colnames(target.ratings.initial.w2) <- names.w2

target.ratings <- target.ratings.initial.w1 %>%
  full_join(target.ratings.initial.w2 %>%
              mutate(ts.AGQ03 = as.numeric(stringr::str_replace(ts.AGQ03, ",", ".")))) %>% 
  select(wave,contains("ts"), -X, -(ts.startDateTime:ts.PRO17), -ts.DEM04, 
         -(ts.DEM06:ts.DEM09), -(ts.DEM15:ts.DEM16), contains(".con")) %>%
  gather(key = item, value = value, -ts.IDnum, -wave) %>%
  group_by(item) %>% mutate(n = sum(!is.na(value))) %>%
  filter((wave == "1" & n > 200) | (wave == "2" & n > 175)) %>%
  select(-n) %>% rename(SID = ts.IDnum) %>%
  mutate(SID = ifelse(as.numeric(SID) < 10000, as.numeric(SID) + 10000, SID)) %>%
  spread(key = item, value = value)

target.depression <- target.ratings %>%
  select(SID, wave, contains("CESD")) %>%
  mutate_at(vars(ts.CESD01:ts.CESD10), funs(recode(., `1` = 0, `2` = 1, `3` = 2, `4` = 3))) %>%
  mutate_at(vars(ts.CESD06, ts.CESD03), funs(recode(., `0` = 3, `1` = 2, `2` = 1, `3` = 0))) %>%
  gather(key = item, value = rating, ts.CESD01:ts.CESD10) %>%
  group_by(SID, wave) %>%
  summarize(depression = sum(rating, na.rm = T)) %>%
  arrange(desc(depression)) %>%
  # mutate(wave = recode(wave, `4` = 2, `1` = 1)) %>%
  spread(key = wave, value = depression) %>%
  filter(!is.na(`1`) & !is.na(`2`)) %>%
  gather(key = wave, value = depression, -SID) %>%
  group_by(SID) %>%
  mutate(change = sign(depression[wave == 2] - depression[wave == 1])) %>% 
  ungroup() 

BFI_items <- paste("ts.", "BFI", c(paste("0", 1:9, sep = ""), 10:44), sep = "")
BFI_key <- c(paste(rep(c("E", "A", "C", "N", "O"), times = 8), 
             paste("0", rep(1:8, each = 5), sep = ""), sep = "_"), 
             "O_09", "A_09", "C_09", "O_10")

keys <- list(Extraversion = c(1, -6, 11, 16, -21, 26, -31, 36),
             Agreeableness = c(-2, 7, -12, 17, 22, -27, 32, -37, 42),
             Conscientiousness = c(3, -8, 13, -18, -23, 28, 33, 38, -43),
             Neuroticism = c(4, -9, 14, 19, -24, 29, -34, 39),
             Openness = c(5, 10, 15, 20, 25, 30, -35, 40, -41, 44))

BFI <- target.ratings %>% select(SID, wave, one_of(BFI_items)) %>%
  mutate_at(vars(-wave), funs(as.numeric)) %>%
  setNames(c("SID", "wave", BFI_key))
BFI[,47:51] <- scoreItems(keys, BFI[,3:46], min = 1, max = 15)$scores
colnames(BFI)[47:51] <- names(keys)

stab_cors <- ip_cors %>%
  left_join(target.ratings) %>%
  left_join(BFI %>% select(SID, wave, Extraversion:Openness)) %>%
  left_join(esm.composites %>% ungroup() %>% mutate(SID = as.numeric(SID))) %>%
  left_join(target.depression) %>%
  mutate_at(vars(ts.ACT01:ts.WT02), funs(as.numeric)) %>%
  gather(key = outcome, value = value, ts.ACT01:change) %>%
  group_by(wave, lambda_scale, outcome, type) %>%
  summarize(r = cor(cors, value, use = "pairwise")) %>%
  filter(!is.na(r)) %>%
  unite(comb, type, wave) %>%
  spread(key = comb, value = r) %>%
  filter(!is.na(Contemporaneous_2))

outcomes <- 
tribble(
  ~oldName, ~newName, ~prettyName,
  "ts.NQ02",   "intelligent", "Intelligence",
  "ts.NQ15",   "compassionate", "Compassion",
  "ts.NQ24",   "dominant", "Dominance",
  "ts.NQ33",   "lonely", "Loneliness",
  "ts.VQ16",   "giveBack", "Enjoys Giving Back",
  "ts.AGQ09",  "probWPartying", "Partying Causes Life Problems",
  "ts.ACT22",  "talkRelat", "Talks About Relationships",
  "ts.LE09",   "winAward", "Won An Award",
  "A.esm", "A.esm", "State Agreeableness",
  "E.esm", "E.esm", "State Extraversion",
  "C.esm", "C.esm", "State Conscientiousness",
  "N.esm", "N.esm", "State Neuroticism",
  "Agreeableness", "Agreeableness", "Trait Agreeableness",
  "Extraversion", "Extraversion", "Trait Extraversion",
  "Conscientiousness", "Conscientiousness", "Trait Conscientiousness",
  "Neuroticism", "Neuroticism", "Trait Neuroticism",
  "Openness", "Openness", "Trait Openness"
)

stab_cors %>% ungroup() %>%
  filter(outcome %in% outcomes$oldName) %>%
  mutate(#type = ifelse(grepl(".esm", outcome) == T, "ESM", "Trait"), 
         outcome = mapvalues(outcome, outcomes$oldName, outcomes$prettyName)) %>%
  arrange(outcome) %>%
#  select(-type) %>%
  mutate_at(vars(Contemporaneous_1:Lagged_2), funs(round(.,2))) %>%
  kable(., "html", booktabs = T, digits = 2, 
            caption = "Correlates of Measures of Ipsative Consistency",
            col.names = c("Outcome", "W1", "W2", "W1", "W2"),
            align = c("l", "r", "r", "r", "r")) %>%
  add_header_above(c("Outcome" = 1, "Contemporaneous" = 2, "Lagged" = 2))