knitr::opts_chunk$set(echo = TRUE)
library(tidyverse)
library(haven)
library(dplyr)
library(psych)
library(DT)
# library(knitr)
library(openxlsx)
library(expss)
library(psych)
library(likert)
library(careless)
library(corrplot)
library(survey) # analyze survey with weights
library(srvyr)
library(knitr)
library(readr)
library(lavaan)
library(qualtRics)
library(corrplot)
library(sem)
library(semPlot)
library(semPower)
library(lavaan)
library(GPArotation)
library(lme4)
library(ggplot2)
library(tidyr)
library(RColorBrewer)
#set working directory & load data set
setwd("~/Google Drive/My Drive/CircEUlar/WP4/WP4 Survey")
d <- read_sav("Circular Consumption Survey_updated.sav") # create extra columns for open-ended questions, though response labels are preserved
As the data set includes many variables that are not relevant for the current RQ, we will create a new data set with only the relevant variables.
#data set with only columns relevant for the analysis
#dR <- subset(d, select = c(37:40, 149:152, 154:157, 159:162, 258:261, 263:266, 268:271, 295:261, 263:266, 268:271, 295:297, 299:301, 303:306, 308, 309))
dR <- subset(d, select = c("country", "gender", "birthyear", "educ_UK", "educ_NL", "educ_DE", "educ_IT", "educ_LT", "hhincome", "bio_val", "alt_val", "ego_val", "hed_val", "ccb_gov", "ccb_busi", "ccb_cit", "ccb_se", "ccb_oe", "ccb_pn", "ccb_pa", "ccb_ar", "pweight"))
dR$age <- 2024 - dR$birthyear
#For continuous variables:
# Age - Mean and SD
age_per_country <- dR %>%
group_by(country) %>%
summarise(
mean_age = mean(age, na.rm = TRUE), # Mean age
sd_age = sd(age, na.rm = TRUE) # Standard deviation of age
)
print(age_per_country)
## # A tibble: 5 × 3
## country mean_age sd_age
## <dbl+lbl> <dbl> <dbl>
## 1 1 [United Kingdom] 48.3 18.0
## 2 2 [Germany] 51.3 16.3
## 3 3 [Netherlands] 48.9 17.7
## 4 4 [Italy] 50.9 17.5
## 5 5 [Lithuania] 48.0 17.5
hist(dR$age,
main="Age of participants",
xlab="Year of birth",
ylab="Amount of people",
col="lightblue",
border="black")
Countries: 1 = United Kingdom 2 = Germany 3 = The Netherlands 4 = Italy 5 = Lithuania
#For categorical variables:
#country
table(dR$country)
##
## 1 2 3 4 5
## 1053 1100 1081 1409 1008
#gender distribution per country
table(dR$country, dR$gender)
##
## 1 2
## 1 519 534
## 2 536 564
## 3 535 546
## 4 694 715
## 5 462 546
# education
dR$educ_group_UK <- cut(dR$educ_UK, breaks=c(-1, 2, 4, 8), labels = c("0-2", "3-4", "5-8"))
dR$educ_group_DE <- cut(dR$educ_DE, breaks=c(-1, 3, 5, 8), labels = c("0-3", "4-5", "6-8"))
dR$educ_group_NL <- cut(dR$educ_NL, breaks=c(-1, 2, 4, 8), labels = c("0-2", "3-4", "5-8"))
dR$educ_group_IT <- cut(dR$educ_IT, breaks=c(-1, 2, 4, 8), labels = c("0-2", "3-4", "5-8"))
dR$educ_group_LT <- cut(dR$educ_LT, breaks=c(-1, 2, 4, 8), labels = c("0-2", "3-4", "5-8"))
tab <- data.frame(
UK = as.numeric(prop.table(table(d$educ_group_UK)) * 100),
DE = as.numeric(prop.table(table(d$educ_group_DE)) * 100),
NL = as.numeric(prop.table(table(d$educ_group_NL)) * 100),
IT = as.numeric(prop.table(table(d$educ_group_IT)) * 100),
LT = as.numeric(prop.table(table(d$educ_group_LT)) * 100)
)
## Warning: Unknown or uninitialised column: `educ_group_UK`.
## Warning: Unknown or uninitialised column: `educ_group_DE`.
## Warning: Unknown or uninitialised column: `educ_group_NL`.
## Warning: Unknown or uninitialised column: `educ_group_IT`.
## Warning: Unknown or uninitialised column: `educ_group_LT`.
#rownames(tab) <- c("0-2", "3-4", "5-8")
round(tab, 1)
## [1] UK DE NL IT LT
## <0 rows> (or 0-length row.names)
tab
## [1] UK DE NL IT LT
## <0 rows> (or 0-length row.names)
#household income per country
table(dR$country, dR$hhincome)
##
## 1 2 3 4 5 6 7 8 9 10 11
## 1 44 83 146 148 118 95 99 44 95 64 117
## 2 16 49 106 122 123 131 111 111 126 108 97
## 3 27 32 73 98 134 157 152 88 148 101 71
## 4 71 96 239 275 211 167 142 70 84 28 26
## 5 149 229 239 155 99 57 27 13 17 7 16
gender: 1 male 2 female 3 diverse 99 prefer not to say
describeBy(dR[, c("bio", "alt", "hed", "ego", "pa", "ar", "se", "oe", "pn", "gov", "busi", "ind")])
## Warning in describeBy(dR[, c("bio", "alt", "hed", "ego", "pa", "ar", "se", : no
## grouping variable requested
## vars n mean sd median trimmed mad min max range skew kurtosis se
## bio 1 5651 4.84 1.80 5 5.00 1.48 1 7 6 -0.52 -0.76 0.02
## alt 2 5651 4.90 1.83 5 5.07 1.48 1 7 6 -0.61 -0.74 0.02
## hed 3 5651 4.75 1.82 5 4.88 1.48 1 7 6 -0.46 -0.85 0.02
## ego 4 5651 3.84 1.68 4 3.84 1.48 1 7 6 0.06 -0.73 0.02
## pa 5 5651 4.38 1.76 4 4.46 1.48 1 7 6 -0.29 -0.74 0.02
## ar 6 5651 3.90 1.75 4 3.91 1.48 1 7 6 -0.07 -0.85 0.02
## se 7 5651 3.66 1.71 4 3.64 1.48 1 7 6 0.01 -0.80 0.02
## oe 8 5651 3.69 1.71 4 3.67 1.48 1 7 6 -0.02 -0.78 0.02
## pn 9 5651 3.51 1.75 4 3.45 1.48 1 7 6 0.12 -0.88 0.02
## gov 10 5651 3.09 1.82 3 2.93 2.97 1 7 6 0.39 -0.91 0.02
## busi 11 5651 3.06 1.80 3 2.90 2.97 1 7 6 0.38 -0.90 0.02
## ind 12 5651 3.44 1.79 4 3.36 1.48 1 7 6 0.13 -0.96 0.02
summary(dR[, c("bio", "alt", "hed", "ego", "pa", "ar", "se", "oe", "pn", "gov", "busi", "ind")])
## bio alt hed ego
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:4.000 1st Qu.:4.000 1st Qu.:3.000 1st Qu.:3.000
## Median :5.000 Median :5.000 Median :5.000 Median :4.000
## Mean :4.843 Mean :4.902 Mean :4.748 Mean :3.844
## 3rd Qu.:6.000 3rd Qu.:6.000 3rd Qu.:6.000 3rd Qu.:5.000
## Max. :7.000 Max. :7.000 Max. :7.000 Max. :7.000
## pa ar se oe
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:3.000 1st Qu.:3.000 1st Qu.:2.000 1st Qu.:2.000
## Median :4.000 Median :4.000 Median :4.000 Median :4.000
## Mean :4.377 Mean :3.902 Mean :3.662 Mean :3.692
## 3rd Qu.:6.000 3rd Qu.:5.000 3rd Qu.:5.000 3rd Qu.:5.000
## Max. :7.000 Max. :7.000 Max. :7.000 Max. :7.000
## pn gov busi ind
## Min. :1.000 Min. :1.00 Min. :1.000 Min. :1.000
## 1st Qu.:2.000 1st Qu.:1.00 1st Qu.:1.000 1st Qu.:2.000
## Median :4.000 Median :3.00 Median :3.000 Median :4.000
## Mean :3.514 Mean :3.09 Mean :3.062 Mean :3.441
## 3rd Qu.:5.000 3rd Qu.:4.00 3rd Qu.:4.000 3rd Qu.:5.000
## Max. :7.000 Max. :7.00 Max. :7.000 Max. :7.000
std_devs <- sapply(dR[, c("bio", "alt", "hed", "ego", "pa", "ar", "se", "oe", "pn", "gov", "busi", "ind")], sd, na.rm = TRUE)
print(std_devs)
## bio alt hed ego pa ar se oe
## 1.800941 1.827367 1.815965 1.676475 1.759294 1.754855 1.708616 1.712705
## pn gov busi ind
## 1.751646 1.816225 1.798300 1.788116
# Biospheric values
hist(dR$bio,
main = "Distribution of Scores",
xlab = "Biospheric values",
ylab = "Frequency",
col = "lightblue",
border = "black")
# Altruistic values
hist(dR$alt,
main = "Distribution of Scores",
xlab = "Altruistic values",
ylab = "Frequency",
col = "lightblue",
border = "black")
# Hedonic values
hist(dR$hed,
main = "Distribution of Scores",
xlab = "Hedonic values",
ylab = "Frequency",
col = "lightblue",
border = "black")
# Egoistic values
hist(dR$ego,
main = "Distribution of Scores",
xlab = "Egoistic values",
ylab = "Frequency",
col = "lightblue",
border = "black")
# Problem awareness
hist(dR$pa,
main = "Distribution of Scores",
xlab = "Problem awareness",
ylab = "Frequency",
col = "lightblue",
border = "black")
# Ascription of responsibility
hist(dR$ar,
main = "Distribution of Scores",
xlab = "Ascription of Responsibility",
ylab = "Frequency",
col = "lightblue",
border = "black")
# Self-efficacy
hist(dR$se,
main = "Distribution of Scores",
xlab = "Self-efficacy",
ylab = "Frequency",
col = "lightblue",
border = "black")
# Outcome efficacy
hist(dR$oe,
main = "Distribution of Scores",
xlab = "Outcome efficacy",
ylab = "Frequency",
col = "lightblue",
border = "black")
# Personal norms
hist(dR$pn,
main = "Distribution of Scores",
xlab = "Outcome efficacy",
ylab = "Frequency",
col = "lightblue",
border = "black")
dR_reduced <- subset(dR, select = c("country", "bio", "alt", "hed", "ego", "pa", "ar", "se", "oe", "pn", "gov", "busi", "ind"))
# Reshape the data to long format
dR_long <- dR_reduced %>%
pivot_longer(-country, names_to = "variable", values_to = "value")
dR_long
## # A tibble: 67,812 × 3
## country variable value
## <dbl+lbl> <chr> <dbl>
## 1 2 [Germany] bio 7
## 2 2 [Germany] alt 6
## 3 2 [Germany] hed 6
## 4 2 [Germany] ego 3
## 5 2 [Germany] pa 6
## 6 2 [Germany] ar 6
## 7 2 [Germany] se 5
## 8 2 [Germany] oe 4
## 9 2 [Germany] pn 5
## 10 2 [Germany] gov 5
## # ℹ 67,802 more rows
dR_long$country <- as.factor(dR_long$country)
dR_long$variable <- as.factor(dR_long$variable)
dR_long <- dR_long %>%
mutate(variable = factor(variable,
levels = c("ind", "busi", "gov", "pn", "oe", "se", "ar", "pa", "ego", "hed", "alt","bio"),
labels = c("CCBs aimed at other individuals", "CCBs aimed at businesses", "CCBs aimed at governments", "Personal norms", "Outcome efficacy", "Self-efficacy", "Ascription of responsibility", "Problem awareness", "Egoistic values", "Hedonic values", "Altruistic values", "Biospheric values")))
variables_m_sd <- ggplot(dR_long) +
aes(x = value, y = variable, colour = country, fill = country) +
stat_summary(fun = mean, geom = "point", size = 3, position = position_dodge(width = 0.5)) + # Mean as points
stat_summary(fun.data = mean_sdl, fun.args = list(mult = 1),
geom = "errorbar", width = 0.2, position = position_dodge(width = 0.5)) + # SD as error bars
scale_colour_manual(values = rev(brewer.pal(n = 5, name = "Dark2"))) +
labs(
x = "means ± SD", # Rename x-axis
y = "variable", # Rename y-axis
colour = "country", # Rename colour legend
fill = "country"
) +
#legend ...
theme_bw()
variables_m_sd
# Export as PDF
#pdf("Figure variables and M, SD.pdf", width = 8, height = 12)
library(effectsize)
##
## Attaching package: 'effectsize'
## The following object is masked from 'package:xtable':
##
## display
## The following object is masked from 'package:psych':
##
## phi
aov_bio <- aov(bio ~ country, data = dR)
summary(aov_bio)
## Df Sum Sq Mean Sq F value Pr(>F)
## country 1 282 282.28 88.38 <2e-16 ***
## Residuals 5649 18043 3.19
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
aov_alt <- aov(alt ~ country, data = dR)
summary(aov_alt)
## Df Sum Sq Mean Sq F value Pr(>F)
## country 1 327 327.4 99.76 <2e-16 ***
## Residuals 5649 18539 3.3
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
aov_hed <- aov(hed ~ country, data = dR)
summary(aov_hed)
## Df Sum Sq Mean Sq F value Pr(>F)
## country 1 586 586.3 183.5 <2e-16 ***
## Residuals 5649 18046 3.2
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
aov_ego <- aov(ego ~ country, data = dR)
summary(aov_ego)
## Df Sum Sq Mean Sq F value Pr(>F)
## country 1 10 10.151 3.614 0.0574 .
## Residuals 5649 15870 2.809
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
aov_pa <- aov(pa ~ country, data = dR)
summary(aov_pa)
## Df Sum Sq Mean Sq F value Pr(>F)
## country 1 7 7.275 2.351 0.125
## Residuals 5649 17480 3.094
aov_ar <- aov(ar ~ country, data = dR)
summary(aov_ar)
## Df Sum Sq Mean Sq F value Pr(>F)
## country 1 27 27.377 8.902 0.00286 **
## Residuals 5649 17372 3.075
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
aov_se <- aov(se ~ country, data = dR)
summary(aov_se)
## Df Sum Sq Mean Sq F value Pr(>F)
## country 1 1 1.147 0.393 0.531
## Residuals 5649 16493 2.920
aov_oe <- aov(oe ~ country, data = dR)
summary(aov_oe)
## Df Sum Sq Mean Sq F value Pr(>F)
## country 1 36 35.82 12.23 0.000473 ***
## Residuals 5649 16538 2.93
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
aov_pn <- aov(pn ~ country, data = dR)
summary(aov_pn)
## Df Sum Sq Mean Sq F value Pr(>F)
## country 1 56 55.97 18.3 1.92e-05 ***
## Residuals 5649 17280 3.06
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Effect sizes (η² for ANOVA)
eta_squared(aov_bio, partial = FALSE)
## # Effect Size for ANOVA (Type I)
##
## Parameter | Eta2 | 95% CI
## -------------------------------
## country | 0.02 | [0.01, 1.00]
##
## - One-sided CIs: upper bound fixed at [1.00].
eta_squared(aov_alt, partial = FALSE)
## # Effect Size for ANOVA (Type I)
##
## Parameter | Eta2 | 95% CI
## -------------------------------
## country | 0.02 | [0.01, 1.00]
##
## - One-sided CIs: upper bound fixed at [1.00].
eta_squared(aov_hed, partial = FALSE)
## # Effect Size for ANOVA (Type I)
##
## Parameter | Eta2 | 95% CI
## -------------------------------
## country | 0.03 | [0.02, 1.00]
##
## - One-sided CIs: upper bound fixed at [1.00].
eta_squared(aov_ego, partial = FALSE)
## # Effect Size for ANOVA (Type I)
##
## Parameter | Eta2 | 95% CI
## -----------------------------------
## country | 6.39e-04 | [0.00, 1.00]
##
## - One-sided CIs: upper bound fixed at [1.00].
eta_squared(aov_pa, partial = FALSE)
## # Effect Size for ANOVA (Type I)
##
## Parameter | Eta2 | 95% CI
## -----------------------------------
## country | 4.16e-04 | [0.00, 1.00]
##
## - One-sided CIs: upper bound fixed at [1.00].
eta_squared(aov_ar, partial = FALSE)
## # Effect Size for ANOVA (Type I)
##
## Parameter | Eta2 | 95% CI
## -----------------------------------
## country | 1.57e-03 | [0.00, 1.00]
##
## - One-sided CIs: upper bound fixed at [1.00].
eta_squared(aov_se, partial = FALSE)
## # Effect Size for ANOVA (Type I)
##
## Parameter | Eta2 | 95% CI
## -----------------------------------
## country | 6.95e-05 | [0.00, 1.00]
##
## - One-sided CIs: upper bound fixed at [1.00].
eta_squared(aov_oe, partial = FALSE)
## # Effect Size for ANOVA (Type I)
##
## Parameter | Eta2 | 95% CI
## -----------------------------------
## country | 2.16e-03 | [0.00, 1.00]
##
## - One-sided CIs: upper bound fixed at [1.00].
eta_squared(aov_pn, partial = FALSE)
## # Effect Size for ANOVA (Type I)
##
## Parameter | Eta2 | 95% CI
## -----------------------------------
## country | 3.23e-03 | [0.00, 1.00]
##
## - One-sided CIs: upper bound fixed at [1.00].
Results from anova: For all variables there are significant country differences.
Results from effect sizes: The effect sizes are very small to small.
#overall
describeBy(dR$gov)
## Warning in describeBy(dR$gov): no grouping variable requested
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 5651 3.09 1.82 3 2.93 2.97 1 7 6 0.39 -0.91 0.02
describeBy(dR$busi)
## Warning in describeBy(dR$busi): no grouping variable requested
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 5651 3.06 1.8 3 2.9 2.97 1 7 6 0.38 -0.9 0.02
describeBy(dR$ind)
## Warning in describeBy(dR$ind): no grouping variable requested
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 5651 3.44 1.79 4 3.36 1.48 1 7 6 0.13 -0.96 0.02
#per country
dR <- dR %>%
mutate(country = case_when(
country == 1 ~ "United Kingdom",
country == 2 ~ "Germany",
country == 3 ~ "Netherlands",
country == 4 ~ "Italy",
country == 5 ~ "Lithuania",
TRUE ~ as.character(country) # fallback for unmatched values
))
print(dR %>%
group_by(country) %>%
summarise(
mean_ccb_gov = mean(gov, na.rm = TRUE),
sd_ccb_gov = sd(gov, na.rm = TRUE),
mean_ccb_busi = mean(busi, na.rm = TRUE),
sd_ccb_busi = sd(busi, na.rm = TRUE),
mean_ccb_ind = mean(ind, na.rm = TRUE),
sd_ccb_ind = sd(ind, na.rm = TRUE)
))
## # A tibble: 5 × 7
## country mean_ccb_gov sd_ccb_gov mean_ccb_busi sd_ccb_busi mean_ccb_ind
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Germany 2.96 1.86 2.84 1.80 3.10
## 2 Italy 3.18 1.74 3.14 1.71 3.75
## 3 Lithuania 3.53 1.75 3.66 1.75 3.94
## 4 Netherlands 2.50 1.63 2.54 1.62 2.75
## 5 United Kingdom 3.29 1.94 3.15 1.94 3.60
## # ℹ 1 more variable: sd_ccb_ind <dbl>
# Reshape data to long format for the 3 variables
dR_long <- dR %>%
pivot_longer(
cols = c(gov, busi, ind),
names_to = "variable",
values_to = "value")
# Rename variable labels for nicer x-axis
dR_long$variable <- factor(dR_long$variable,
levels = c("gov", "busi", "ind"),
labels = c("Governments", "Businesses", "Other individuals"))
# Plot all countries pooled, with violins and boxplots by variable
ccb_plot <- ggplot(dR_long, aes(x = variable, y = value, fill = variable)) +
geom_violin(trim = FALSE, alpha = 0.6) +
geom_boxplot(width = 0.1, outlier.size = 0.5, color = "black") +
scale_fill_manual(values = rev(brewer.pal(n = 4, name = "YlGnBu"))) +
scale_y_continuous(
breaks = 0:8, # full scale breaks (adjust if needed)
labels = c(" ", "(1) Never", "(2)", "(3)", "(4)", "(5)", "(6)", "(7) Frequently", "")
) +
theme_minimal() +
theme(
panel.grid.minor = element_blank(), # remove minor grid lines
text = element_text(color = "black"), # make all text black
axis.text = element_text(color = "black"), # explicitly make axis text black
axis.title = element_text(color = "black"), # axis titles black
plot.title = element_text(color = "black", hjust = 0.5), # title black and centered
legend.text = element_text(color = "black"), # legend text black (if legend shown)
legend.title = element_text(color = "black") # legend title black
) +
labs(title = "Distribution of CCBs for different actors (all countries pooled)",
x = "CCBs aimed at",
y = "Freuquency of engagement") +
theme(axis.text.x = element_text(angle = 30, vjust = 0.7, hjust = 0.8),
legend.position = "none",
plot.title = element_text(hjust = 0.5))
ccb_plot
ggsave("ccb_plot.png", plot = ccb_plot, width = 10, height = 6, dpi = 300)
library(lsr)
aov_gov <- aov(gov ~ country, data = dR)
summary(aov_gov)
## Df Sum Sq Mean Sq F value Pr(>F)
## country 4 648 161.97 50.84 <2e-16 ***
## Residuals 5646 17990 3.19
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
etaSquared(aov_gov)
## eta.sq eta.sq.part
## country 0.0347626 0.0347626
aov_busi <- aov(busi ~ country, data = dR)
summary(aov_busi)
## Df Sum Sq Mean Sq F value Pr(>F)
## country 4 719 179.79 57.83 <2e-16 ***
## Residuals 5646 17552 3.11
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
etaSquared(aov_busi)
## eta.sq eta.sq.part
## country 0.03936066 0.03936066
aov_ind <- aov(ind ~ country, data = dR)
summary(aov_ind)
## Df Sum Sq Mean Sq F value Pr(>F)
## country 4 1050 262.60 87.14 <2e-16 ***
## Residuals 5646 17015 3.01
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
etaSquared(aov_ind)
## eta.sq eta.sq.part
## country 0.05814637 0.05814637
ccb_gov_plot <- ggplot(dR, aes(x = country, y = gov, fill = country)) +
geom_violin(trim = FALSE, alpha = 0.6) +
geom_boxplot(width = 0.1, outlier.size = 0.5, color = "black") +
scale_fill_manual(values = rev(brewer.pal(n = 5, name = "Dark2"))) +
theme_minimal() +
scale_y_continuous(
breaks = 0:8, # full scale breaks (adjust if needed)
labels = c(" ", "(1) Never", "(2)", "(3)", "(4)", "(5)", "(6)", "(7) Frequently", "")
) +
theme_minimal() +
theme(
panel.grid.minor = element_blank(), # remove minor grid lines
text = element_text(color = "black"), # make all text black
axis.text = element_text(color = "black"), # explicitly make axis text black
axis.title = element_text(color = "black"), # axis titles black
plot.title = element_text(color = "black", hjust = 0.5), # title black and centered
legend.text = element_text(color = "black"), # legend text black (if legend shown)
legend.title = element_text(color = "black") # legend title black
) +
labs(title = "Distribution of CCBs aimed at governments by country",
x = "Country",
y = "Frequency of engagement") +
theme(axis.text.x = element_text(angle = 30, vjust = 0.5, hjust=1),
legend.position = "none",
plot.title = element_text(hjust = 0.5))
ccb_gov_plot
ggsave("ccb_gov_plot.png", plot = ccb_gov_plot, width = 10, height = 6, dpi = 300)
ccb_busi_plot <- ggplot(dR, aes(x = country, y = busi, fill = country)) +
geom_violin(trim = FALSE, alpha = 0.6) +
geom_boxplot(width = 0.1, outlier.size = 0.5, color = "black") +
scale_fill_manual(values = rev(brewer.pal(n = 5, name = "Dark2"))) +
theme_minimal() +
scale_y_continuous(
breaks = 0:8, # full scale breaks (adjust if needed)
labels = c(" ", "(1) Never", "(2)", "(3)", "(4)", "(5)", "(6)", "(7) Frequently", "")
) +
theme_minimal() +
theme(
panel.grid.minor = element_blank(), # remove minor grid lines
text = element_text(color = "black"), # make all text black
axis.text = element_text(color = "black"), # explicitly make axis text black
axis.title = element_text(color = "black"), # axis titles black
plot.title = element_text(color = "black", hjust = 0.5), # title black and centered
legend.text = element_text(color = "black"), # legend text black (if legend shown)
legend.title = element_text(color = "black") # legend title black
) +
labs(title = "Distribution of CCBs aimed at businesses by country",
x = "Country",
y = "Frequency of engagement") +
theme(axis.text.x = element_text(angle = 30, vjust = 0.5, hjust=1),
legend.position = "none",
plot.title = element_text(hjust = 0.5))
ccb_busi_plot
ggsave("ccb_busi_plot.png", plot = ccb_busi_plot, width = 10, height = 6, dpi = 300)
ccb_ind_plot <- ggplot(dR, aes(x = country, y = ind, fill = country)) +
geom_violin(trim = FALSE, alpha = 0.6) +
geom_boxplot(width = 0.1, outlier.size = 0.5, color = "black") +
scale_fill_manual(values = rev(brewer.pal(n = 5, name = "Dark2"))) +
theme_minimal() +
scale_y_continuous(
breaks = 0:8,
labels = c(" ", "(1) Never", "(2)", "(3)", "(4)", "(5)", "(6)", "(7) Frequently", "")
) +
theme_minimal() +
theme(
panel.grid.minor = element_blank(), # remove minor grid lines
text = element_text(color = "black"), # make all text black
axis.text = element_text(color = "black"), # explicitly make axis text black
axis.title = element_text(color = "black"), # axis titles black
plot.title = element_text(color = "black", hjust = 0.5), # title black and centered
legend.text = element_text(color = "black"), # legend text black (if legend shown)
legend.title = element_text(color = "black") # legend title black
) +
labs(title = "Distribution of CCBs aimed at other individuals by country",
x = "Country",
y = "Frequency of engagement") +
theme(axis.text.x = element_text(angle = 30, vjust = 0.5, hjust=1),
legend.position = "none",
plot.title = element_text(hjust = 0.5))
ccb_ind_plot
ggsave("ccb_ind_plot.png", plot = ccb_ind_plot, width = 10, height = 6, dpi = 300)
There is a significant difference between the means of CCBs aimed at individuals versus CCBs aimed at governments or businesses. However, the effect sizes are negligible to small.
library(afex)
## ************
## Welcome to afex. For support visit: http://afex.singmann.science/
## - Functions for ANOVAs: aov_car(), aov_ez(), and aov_4()
## - Methods for calculating p-values with mixed(): 'S', 'KR', 'LRT', and 'PB'
## - 'afex_aov' and 'mixed' objects can be passed to emmeans() for follow-up tests
## - Get and set global package options with: afex_options()
## - Set sum-to-zero contrasts globally: set_sum_contrasts()
## - For example analyses see: browseVignettes("afex")
## ************
##
## Attaching package: 'afex'
## The following object is masked from 'package:lme4':
##
## lmer
library(emmeans)
## Welcome to emmeans.
## Caution: You lose important information if you filter this package's results.
## See '? untidy'
library(effectsize)
library(effsize)
##
## Attaching package: 'effsize'
## The following object is masked from 'package:psych':
##
## cohen.d
#Sig. test for means of CCBs
dR_long <- dR %>%
dplyr::select(id, gov, busi, ind) %>%
tidyr::pivot_longer(cols = c(gov, busi, ind), names_to = "CCB_type", values_to = "value")
#checking for sig. differences between CCBs
aov_res <- aov_ez(id = "id", dv = "value", within = "CCB_type", data = dR_long)
summary(aov_res)
##
## Univariate Type III Repeated-Measures ANOVA Assuming Sphericity
##
## Sum Sq num Df Error SS den Df F value Pr(>F)
## (Intercept) 173326 1 44589 5650 21962.75 < 2.2e-16 ***
## CCB_type 505 2 10385 11300 274.63 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
##
## Mauchly Tests for Sphericity
##
## Test statistic p-value
## CCB_type 0.97529 2.0447e-31
##
##
## Greenhouse-Geisser and Huynh-Feldt Corrections
## for Departure from Sphericity
##
## GG eps Pr(>F[GG])
## CCB_type 0.97589 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## HF eps Pr(>F[HF])
## CCB_type 0.9762206 1.7606e-114
#post hoc tests as ANOVA is signficiant
emmeans(aov_res, pairwise ~ CCB_type)
## $emmeans
## CCB_type emmean SE df lower.CL upper.CL
## gov 3.09 0.0242 5650 3.04 3.14
## busi 3.06 0.0239 5650 3.01 3.11
## ind 3.44 0.0238 5650 3.39 3.49
##
## Confidence level used: 0.95
##
## $contrasts
## contrast estimate SE df t.ratio p.value
## gov - busi 0.028 0.0173 5650 1.621 0.2369
## gov - ind -0.351 0.0194 5650 -18.107 <.0001
## busi - ind -0.379 0.0174 5650 -21.826 <.0001
##
## P value adjustment: tukey method for comparing a family of 3 estimates
# Calculate effect sizes for pairwise differences
dR_subset <- dR %>% select(gov, busi, ind)
cohen_d_ind_gov <- cohen.d(dR_subset$ind, dR_subset$gov, paired = TRUE)
cohen_d_ind_gov
##
## Cohen's d
##
## d estimate: 0.1948821 (negligible)
## 95 percent confidence interval:
## lower upper
## 0.1735857 0.2161784
cohen_d_ind_busi <- cohen.d(dR_subset$ind, dR_subset$busi, paired = TRUE)
cohen_d_ind_busi
##
## Cohen's d
##
## d estimate: 0.2114729 (small)
## 95 percent confidence interval:
## lower upper
## 0.1922699 0.2306759
aov_gov <- aov(gov ~ country, data = dR)
summary(aov_gov)
## Df Sum Sq Mean Sq F value Pr(>F)
## country 4 648 161.97 50.84 <2e-16 ***
## Residuals 5646 17990 3.19
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
aov_busi <- aov(busi ~ country, data = dR)
summary(aov_busi)
## Df Sum Sq Mean Sq F value Pr(>F)
## country 4 719 179.79 57.83 <2e-16 ***
## Residuals 5646 17552 3.11
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
aov_ind <- aov(ind ~ country, data = dR)
summary(aov_ind)
## Df Sum Sq Mean Sq F value Pr(>F)
## country 4 1050 262.60 87.14 <2e-16 ***
## Residuals 5646 17015 3.01
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Post hoc pairwise comparisons (Tukey)
TukeyHSD(aov_gov)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = gov ~ country, data = dR)
##
## $country
## diff lwr upr p adj
## Italy-Germany 0.2235073 0.02753805 0.41947660 0.0160221
## Lithuania-Germany 0.5755483 0.36317588 0.78792080 0.0000000
## Netherlands-Germany -0.4595694 -0.66816646 -0.25097238 0.0000000
## United Kingdom-Germany 0.3276681 0.11767699 0.53765928 0.0002036
## Lithuania-Italy 0.3520410 0.15111228 0.55296976 0.0000177
## Netherlands-Italy -0.6830767 -0.88001080 -0.48614269 0.0000000
## United Kingdom-Italy 0.1041608 -0.09424932 0.30257094 0.6066034
## Netherlands-Lithuania -1.0351178 -1.24838081 -0.82185472 0.0000000
## United Kingdom-Lithuania -0.2478802 -0.46250705 -0.03325336 0.0141212
## United Kingdom-Netherlands 0.7872376 0.57634577 0.99812935 0.0000000
TukeyHSD(aov_busi)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = busi ~ country, data = dR)
##
## $country
## diff lwr upr p adj
## Italy-Germany 0.306290728 0.1127183 0.49986320 0.0001561
## Lithuania-Germany 0.819390332 0.6096153 1.02916536 0.0000000
## Netherlands-Germany -0.292422841 -0.4984686 -0.08637705 0.0010316
## United Kingdom-Germany 0.315583182 0.1081603 0.52300603 0.0003234
## Lithuania-Italy 0.513099603 0.3146283 0.71157088 0.0000000
## Netherlands-Italy -0.598713569 -0.7932390 -0.40418812 0.0000000
## United Kingdom-Italy 0.009292454 -0.1866910 0.20527592 0.9999370
## Netherlands-Lithuania -1.111813173 -1.3224679 -0.90115845 0.0000000
## United Kingdom-Lithuania -0.503807150 -0.7158090 -0.29180530 0.0000000
## United Kingdom-Netherlands 0.608006023 0.3996936 0.81631849 0.0000000
TukeyHSD(aov_ind)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = ind ~ country, data = dR)
##
## $country
## diff lwr upr p adj
## Italy-Germany 0.6491806 0.458595708 0.83976548 0.0000000
## Lithuania-Germany 0.8349387 0.628401296 1.04147605 0.0000000
## Netherlands-Germany -0.3506139 -0.553479600 -0.14774822 0.0000243
## United Kingdom-Germany 0.4975438 0.293322321 0.70176531 0.0000000
## Lithuania-Italy 0.1857581 -0.009650003 0.38116616 0.0715798
## Netherlands-Italy -0.9997945 -1.191317659 -0.80827135 0.0000000
## United Kingdom-Italy -0.1516368 -0.344595451 0.04132189 0.2015281
## Netherlands-Lithuania -1.1855526 -1.392956076 -0.97814909 0.0000000
## United Kingdom-Lithuania -0.3373949 -0.546124681 -0.12866504 0.0001025
## United Kingdom-Netherlands 0.8481577 0.643060333 1.05325511 0.0000000
#Effect sizes (η² for ANOVA)
eta_squared(aov_gov, partial = FALSE)
## # Effect Size for ANOVA (Type I)
##
## Parameter | Eta2 | 95% CI
## -------------------------------
## country | 0.03 | [0.03, 1.00]
##
## - One-sided CIs: upper bound fixed at [1.00].
eta_squared(aov_busi, partial = FALSE)
## # Effect Size for ANOVA (Type I)
##
## Parameter | Eta2 | 95% CI
## -------------------------------
## country | 0.04 | [0.03, 1.00]
##
## - One-sided CIs: upper bound fixed at [1.00].
eta_squared(aov_ind, partial = FALSE)
## # Effect Size for ANOVA (Type I)
##
## Parameter | Eta2 | 95% CI
## -------------------------------
## country | 0.06 | [0.05, 1.00]
##
## - One-sided CIs: upper bound fixed at [1.00].
#Variable labels
new_labels <- c("Biospheric values", "Altruistic values", "Hedonic values", "Egoistic values",
"Problem awareness", "Ascription of responsibility", "Self-efficacy", "Outcome efficacy", "Personal norms",
"CCBs aimed at governments", "CCBs aimed at businesses", "CCBs aimed at other individuals")
#correlation matrix
cor_matrix <- cor(dR[, c("bio", "alt", "hed", "ego", "pa", "ar", "se", "oe", "pn", "gov", "busi", "ind")])
rownames(cor_matrix) <- new_labels
colnames(cor_matrix) <- new_labels
corrplot(cor_matrix,
method = "color", # Use color to represent correlation values
type = "lower", # Display the full matrix
col = brewer.pal(n = 10, name = "RdYlBu"),
addCoef.col = "black", # Add correlation coefficients in black
tl.col = "black", # Label color
tl.srt = 45, # Angle for the text labels
diag = TRUE) # Optionally remove the diagonal (set to TRUE to include)
dR_UK <- subset(dR, (country == "United Kingdom"))
dR_GER <- subset(dR, (country == "Germany"))
dR_NL <- subset(dR, (country == "Netherlands"))
dR_IT <- subset(dR, (country == "Italy"))
dR_LI <- subset(dR, (country == "Lithuania"))
# Correlation matrix UK
cor_matrix_UK <- cor(dR_UK[, c("bio", "alt", "hed", "ego", "pa", "ar", "se", "oe", "pn", "gov", "busi", "ind")])
corrplot(cor_matrix_UK,
method = "color", # Use color to represent correlation values
type = "lower", # Display the full matrix
col = brewer.pal(n = 10, name = "RdYlBu"),
addCoef.col = "black", # Add correlation coefficients in black
tl.col = "black", # Label color
tl.srt = 45, # Angle for the text labels
diag = FALSE) # Optionally remove the diagonal (set to TRUE to include)
# Correlation matrix Germany
cor_matrix_GER <- cor(dR_GER[, c("bio", "alt", "hed", "ego", "pa", "ar", "se", "oe", "pn", "gov", "busi", "ind")])
corrplot(cor_matrix_GER,
method = "color", # Use color to represent correlation values
type = "lower", # Display the full matrix
col = brewer.pal(n = 10, name = "RdYlBu"),
addCoef.col = "black", # Add correlation coefficients in black
tl.col = "black", # Label color
tl.srt = 45, # Angle for the text labels
diag = FALSE) # Optionally remove the diagonal (set to TRUE to include)
# Correlation matrix Netherlands
cor_matrix_NL <- cor(dR_NL[, c("bio", "alt", "hed", "ego", "pa", "ar", "se", "oe", "pn", "gov", "busi", "ind")])
corrplot(cor_matrix_NL,
method = "color", # Use color to represent correlation values
type = "lower", # Display the full matrix
col = brewer.pal(n = 10, name = "RdYlBu"),
addCoef.col = "black", # Add correlation coefficients in black
tl.col = "black", # Label color
tl.srt = 45, # Angle for the text labels
diag = FALSE) # Optionally remove the diagonal (set to TRUE to include)
# Correlation matrix Italy
cor_matrix_IT <- cor(dR_IT[, c("bio", "alt", "hed", "ego", "pa", "ar", "se", "oe", "pn", "gov", "busi", "ind")])
corrplot(cor_matrix_IT,
method = "color", # Use color to represent correlation values
type = "lower", # Display the full matrix
col = brewer.pal(n = 10, name = "RdYlBu"),
addCoef.col = "black", # Add correlation coefficients in black
tl.col = "black", # Label color
tl.srt = 45, # Angle for the text labels
diag = FALSE) # Optionally remove the diagonal (set to TRUE to include)
# Correlation matrix Lithuania
cor_matrix_LI <- cor(dR_LI[, c("bio", "alt", "hed", "ego", "pa", "ar", "se", "oe", "pn", "gov", "busi", "ind")])
corrplot(cor_matrix_LI,
method = "color", # Use color to represent correlation values
type = "lower", # Display the full matrix
col = brewer.pal(n = 10, name = "RdYlBu"),
addCoef.col = "black", # Add correlation coefficients in black
tl.col = "black", # Label color
tl.srt = 45, # Angle for the text labels
diag = FALSE) # Optionally remove the diagonal (set to TRUE to include)
library(lavaan)
library(lavaanPlot)
library(rsvg)
## Linking to librsvg 2.61.0
library(DiagrammeRsvg)
## VBN model & ego mediation
model_vbn_ego <- '
# Regression paths
pa ~ a1*bio + a2*alt + a3*hed + a4*ego
ar ~ b*pa
se ~ c1*ar + c2*ego
oe ~ d1*ar + d2*ego
pn ~ e1*se + e2*oe
gov ~ f1*pn + g1*ego
busi ~ f2*pn + g2*ego
ind ~ f3*pn + g3*ego
# Indirect effects (ego → se/oe → pn → outcomes): indirect = (ego → se → pn → ccb) + (ego → oe → pn → ccb)
ego_gov_indirect := c2*e1*f1 + d2*e2*f1
ego_busi_indirect := c2*e1*f2 + d2*e2*f2
ego_ind_indirect := c2*e1*f3 + d2*e2*f3
# Total effects
ego_gov_total := ego_gov_indirect + g1
ego_busi_total := ego_busi_indirect + g2
ego_ind_total := ego_ind_indirect + g3
'
#fit_vbn_ego_bootstrap <- lavaan::sem(model_vbn_ego, data = dR, se = "bootstrap", bootstrap = 5000)
fit_vbn_ego <- lavaan::sem(model_vbn_ego, data = dR)
summary(fit_vbn_ego, standardized = TRUE, fit.measures = TRUE, rsquare = TRUE, ci = TRUE)
## lavaan 0.6-20 ended normally after 19 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 28
##
## Number of observations 5651
##
## Model Test User Model:
##
## Test statistic 4042.997
## Degrees of freedom 40
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 33539.080
## Degrees of freedom 60
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.880
## Tucker-Lewis Index (TLI) 0.821
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -74973.887
## Loglikelihood unrestricted model (H1) -72952.389
##
## Akaike (AIC) 150003.775
## Bayesian (BIC) 150189.683
## Sample-size adjusted Bayesian (SABIC) 150100.708
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.133
## 90 Percent confidence interval - lower 0.130
## 90 Percent confidence interval - upper 0.137
## P-value H_0: RMSEA <= 0.050 0.000
## P-value H_0: RMSEA >= 0.080 1.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.094
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
## Regressions:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## pa ~
## bio (a1) 0.249 0.020 12.689 0.000 0.211 0.288
## alt (a2) 0.054 0.020 2.717 0.007 0.015 0.094
## hed (a3) -0.109 0.017 -6.389 0.000 -0.142 -0.075
## ego (a4) 0.036 0.014 2.565 0.010 0.008 0.063
## ar ~
## pa (b) 0.697 0.009 73.442 0.000 0.678 0.716
## se ~
## ar (c1) 0.539 0.011 50.489 0.000 0.518 0.560
## ego (c2) 0.087 0.011 7.788 0.000 0.065 0.109
## oe ~
## ar (d1) 0.602 0.010 59.431 0.000 0.583 0.622
## ego (d2) 0.068 0.011 6.417 0.000 0.047 0.089
## pn ~
## se (e1) 0.471 0.008 60.159 0.000 0.455 0.486
## oe (e2) 0.448 0.008 57.469 0.000 0.433 0.464
## gov ~
## pn (f1) 0.628 0.012 52.109 0.000 0.604 0.652
## ego (g1) 0.030 0.011 2.572 0.010 0.007 0.052
## busi ~
## pn (f2) 0.619 0.012 52.360 0.000 0.596 0.643
## ego (g2) 0.086 0.011 7.592 0.000 0.063 0.108
## ind ~
## pn (f3) 0.669 0.011 59.682 0.000 0.647 0.691
## ego (g3) 0.050 0.011 4.694 0.000 0.029 0.071
## Std.lv Std.all
##
## 0.249 0.255
## 0.054 0.056
## -0.109 -0.112
## 0.036 0.034
##
## 0.697 0.699
##
## 0.539 0.555
## 0.087 0.086
##
## 0.602 0.618
## 0.068 0.067
##
## 0.471 0.503
## 0.448 0.480
##
## 0.628 0.570
## 0.030 0.028
##
## 0.619 0.569
## 0.086 0.082
##
## 0.669 0.621
## 0.050 0.049
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## .gov ~~
## .busi 1.197 0.031 38.138 0.000 1.135 1.258
## .ind 0.871 0.028 30.989 0.000 0.816 0.927
## .busi ~~
## .ind 1.045 0.029 36.373 0.000 0.989 1.101
## Std.lv Std.all
##
## 1.197 0.589
## 0.871 0.452
##
## 1.045 0.553
##
## Variances:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## .pa 2.902 0.055 53.155 0.000 2.795 3.009
## .ar 1.575 0.030 53.155 0.000 1.517 1.633
## .se 1.982 0.037 53.155 0.000 1.908 2.055
## .oe 1.785 0.034 53.155 0.000 1.719 1.850
## .pn 0.881 0.017 53.155 0.000 0.849 0.914
## .gov 2.071 0.039 53.155 0.000 1.995 2.148
## .busi 1.995 0.038 53.155 0.000 1.921 2.069
## .ind 1.791 0.034 53.155 0.000 1.725 1.857
## Std.lv Std.all
## 2.902 0.938
## 1.575 0.512
## 1.982 0.681
## 1.785 0.610
## 0.881 0.346
## 2.071 0.671
## 1.995 0.660
## 1.791 0.606
##
## R-Square:
## Estimate
## pa 0.062
## ar 0.488
## se 0.319
## oe 0.390
## pn 0.654
## gov 0.329
## busi 0.340
## ind 0.394
##
## Defined Parameters:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## ego_gov_indrct 0.045 0.005 9.850 0.000 0.036 0.054
## ego_busi_ndrct 0.044 0.004 9.852 0.000 0.035 0.053
## ego_ind_indrct 0.048 0.005 9.892 0.000 0.038 0.057
## ego_gov_total 0.074 0.012 6.066 0.000 0.050 0.098
## ego_busi_total 0.130 0.012 10.772 0.000 0.106 0.153
## ego_ind_total 0.098 0.012 8.409 0.000 0.075 0.121
## Std.lv Std.all
## 0.045 0.043
## 0.044 0.043
## 0.048 0.047
## 0.074 0.071
## 0.130 0.125
## 0.098 0.095
#plot
lavaanPlot(
model = fit_vbn_ego,
graph_options = list(rankdir = "LR"),
labels = list(
bio = "Biospheric values", alt = "Altruistic values", hed = "Hedonic values", ego = "Egoistic values",
pa = "Problem awareness", ar = "Ascription of responsibility", se = "Self-efficacy", oe = "Outcome efficacy",
pn = "Personal norm", gov = "CCB aimed at governments", busi = "CCB aimed at businesses",
ind = "CCB aimed at other citizens"
),
node_options = list(shape = "box", fontname = "Helvetica"),
edge_options = list(color = "grey"),
coefs = TRUE,
covs = FALSE,
stars = c("regress")
)
##Analysis per country
dGER <- subset(dR, country == "Germany")
dIT <- subset(dR, country == "Italy")
dLT <- subset(dR, country == "Lithuania")
dNL <- subset(dR, country == "Netherlands")
dUK <- subset(dR, country == "United Kingdom")
#fit_GER <- lavaan::sem(model_vbn_ego, data = dGER, se = "bootstrap", bootstrap = 5000)
fit_GER <- lavaan::sem(model_vbn_ego, data = dGER)
summary(fit_GER, standardized = TRUE, fit.measures = TRUE, rsquare = TRUE, ci = TRUE)
## lavaan 0.6-20 ended normally after 17 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 28
##
## Number of observations 1100
##
## Model Test User Model:
##
## Test statistic 698.620
## Degrees of freedom 40
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 6970.618
## Degrees of freedom 60
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.905
## Tucker-Lewis Index (TLI) 0.857
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -14494.861
## Loglikelihood unrestricted model (H1) -14145.551
##
## Akaike (AIC) 29045.723
## Bayesian (BIC) 29185.808
## Sample-size adjusted Bayesian (SABIC) 29096.874
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.122
## 90 Percent confidence interval - lower 0.114
## 90 Percent confidence interval - upper 0.130
## P-value H_0: RMSEA <= 0.050 0.000
## P-value H_0: RMSEA >= 0.080 1.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.089
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
## Regressions:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## pa ~
## bio (a1) 0.368 0.047 7.791 0.000 0.276 0.461
## alt (a2) 0.157 0.047 3.341 0.001 0.065 0.248
## hed (a3) -0.125 0.043 -2.926 0.003 -0.209 -0.041
## ego (a4) -0.033 0.033 -1.022 0.307 -0.097 0.031
## ar ~
## pa (b) 0.723 0.021 33.930 0.000 0.682 0.765
## se ~
## ar (c1) 0.529 0.023 22.625 0.000 0.483 0.575
## ego (c2) 0.095 0.027 3.572 0.000 0.043 0.147
## oe ~
## ar (d1) 0.628 0.021 30.303 0.000 0.588 0.669
## ego (d2) 0.066 0.024 2.799 0.005 0.020 0.112
## pn ~
## se (e1) 0.386 0.019 20.765 0.000 0.349 0.422
## oe (e2) 0.531 0.019 28.308 0.000 0.494 0.568
## gov ~
## pn (f1) 0.683 0.026 26.696 0.000 0.633 0.733
## ego (g1) 0.056 0.026 2.143 0.032 0.005 0.107
## busi ~
## pn (f2) 0.648 0.024 26.472 0.000 0.600 0.696
## ego (g2) 0.149 0.025 5.967 0.000 0.100 0.198
## ind ~
## pn (f3) 0.723 0.022 32.213 0.000 0.679 0.767
## ego (g3) 0.079 0.023 3.452 0.001 0.034 0.124
## Std.lv Std.all
##
## 0.368 0.267
## 0.157 0.116
## -0.125 -0.091
## -0.033 -0.030
##
## 0.723 0.715
##
## 0.529 0.562
## 0.095 0.089
##
## 0.628 0.674
## 0.066 0.062
##
## 0.386 0.406
## 0.531 0.553
##
## 0.683 0.626
## 0.056 0.050
##
## 0.648 0.615
## 0.149 0.139
##
## 0.723 0.693
## 0.079 0.074
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## .gov ~~
## .busi 0.975 0.064 15.355 0.000 0.851 1.100
## .ind 0.666 0.055 12.027 0.000 0.558 0.775
## .busi ~~
## .ind 0.970 0.057 16.890 0.000 0.857 1.082
## Std.lv Std.all
##
## 0.975 0.522
## 0.666 0.389
##
## 0.970 0.592
##
## Variances:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## .pa 2.968 0.127 23.452 0.000 2.720 3.216
## .ar 1.660 0.071 23.452 0.000 1.522 1.799
## .se 2.043 0.087 23.452 0.000 1.872 2.214
## .oe 1.606 0.068 23.452 0.000 1.472 1.740
## .pn 0.975 0.042 23.452 0.000 0.894 1.057
## .gov 1.951 0.083 23.452 0.000 1.788 2.115
## .busi 1.787 0.076 23.452 0.000 1.638 1.937
## .ind 1.503 0.064 23.452 0.000 1.377 1.628
## Std.lv Std.all
## 2.968 0.894
## 1.660 0.489
## 2.043 0.679
## 1.606 0.544
## 0.975 0.358
## 1.951 0.603
## 1.787 0.593
## 1.503 0.508
##
## R-Square:
## Estimate
## pa 0.106
## ar 0.511
## se 0.321
## oe 0.456
## pn 0.642
## gov 0.397
## busi 0.407
## ind 0.492
##
## Defined Parameters:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## ego_gov_indrct 0.049 0.011 4.345 0.000 0.027 0.071
## ego_busi_ndrct 0.046 0.011 4.345 0.000 0.026 0.067
## ego_ind_indrct 0.052 0.012 4.364 0.000 0.029 0.075
## ego_gov_total 0.105 0.028 3.704 0.000 0.049 0.160
## ego_busi_total 0.195 0.027 7.220 0.000 0.142 0.248
## ego_ind_total 0.131 0.026 5.091 0.000 0.080 0.181
## Std.lv Std.all
## 0.049 0.044
## 0.046 0.043
## 0.052 0.049
## 0.105 0.094
## 0.195 0.182
## 0.131 0.123
#fit_IT <- lavaan::sem(model_vbn_ego, data = dIT, se = "bootstrap", bootstrap = 5000)
fit_IT <- lavaan::sem(model_vbn_ego, data = dIT)
summary(fit_IT, standardized = TRUE, fit.measures = TRUE, rsquare = TRUE, ci = TRUE)
## lavaan 0.6-20 ended normally after 18 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 28
##
## Number of observations 1409
##
## Model Test User Model:
##
## Test statistic 1360.034
## Degrees of freedom 40
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 8550.542
## Degrees of freedom 60
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.845
## Tucker-Lewis Index (TLI) 0.767
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -18278.329
## Loglikelihood unrestricted model (H1) -17598.312
##
## Akaike (AIC) 36612.658
## Bayesian (BIC) 36759.676
## Sample-size adjusted Bayesian (SABIC) 36670.730
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.153
## 90 Percent confidence interval - lower 0.146
## 90 Percent confidence interval - upper 0.160
## P-value H_0: RMSEA <= 0.050 0.000
## P-value H_0: RMSEA >= 0.080 1.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.100
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
## Regressions:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## pa ~
## bio (a1) 0.151 0.039 3.847 0.000 0.074 0.228
## alt (a2) 0.107 0.040 2.696 0.007 0.029 0.184
## hed (a3) -0.072 0.037 -1.962 0.050 -0.144 -0.000
## ego (a4) 0.058 0.030 1.892 0.058 -0.002 0.117
## ar ~
## pa (b) 0.657 0.018 35.764 0.000 0.621 0.693
## se ~
## ar (c1) 0.596 0.022 27.525 0.000 0.553 0.638
## ego (c2) 0.070 0.023 3.040 0.002 0.025 0.116
## oe ~
## ar (d1) 0.614 0.021 29.035 0.000 0.572 0.655
## ego (d2) 0.064 0.023 2.824 0.005 0.020 0.108
## pn ~
## se (e1) 0.536 0.014 39.668 0.000 0.509 0.562
## oe (e2) 0.402 0.014 29.637 0.000 0.375 0.429
## gov ~
## pn (f1) 0.585 0.025 22.960 0.000 0.535 0.635
## ego (g1) -0.020 0.025 -0.784 0.433 -0.069 0.029
## busi ~
## pn (f2) 0.564 0.025 22.298 0.000 0.515 0.614
## ego (g2) 0.005 0.025 0.186 0.853 -0.044 0.053
## ind ~
## pn (f3) 0.634 0.023 27.000 0.000 0.588 0.680
## ego (g3) 0.018 0.023 0.793 0.428 -0.027 0.064
## Std.lv Std.all
##
## 0.151 0.173
## 0.107 0.117
## -0.072 -0.078
## 0.058 0.051
##
## 0.657 0.690
##
## 0.596 0.590
## 0.070 0.065
##
## 0.614 0.610
## 0.064 0.059
##
## 0.536 0.589
## 0.402 0.440
##
## 0.585 0.523
## -0.020 -0.018
##
## 0.564 0.512
## 0.005 0.004
##
## 0.634 0.585
## 0.018 0.017
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## .gov ~~
## .busi 1.248 0.064 19.552 0.000 1.123 1.374
## .ind 0.755 0.054 13.873 0.000 0.648 0.862
## .busi ~~
## .ind 0.861 0.055 15.588 0.000 0.753 0.970
## Std.lv Std.all
##
## 1.248 0.610
## 0.755 0.398
##
## 0.861 0.457
##
## Variances:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## .pa 2.806 0.106 26.542 0.000 2.599 3.014
## .ar 1.409 0.053 26.542 0.000 1.305 1.513
## .se 1.772 0.067 26.542 0.000 1.641 1.903
## .oe 1.691 0.064 26.542 0.000 1.566 1.815
## .pn 0.611 0.023 26.542 0.000 0.566 0.656
## .gov 2.059 0.078 26.542 0.000 1.907 2.211
## .busi 2.033 0.077 26.542 0.000 1.883 2.183
## .ind 1.751 0.066 26.542 0.000 1.622 1.880
## Std.lv Std.all
## 2.806 0.948
## 1.409 0.524
## 1.772 0.646
## 1.691 0.622
## 0.611 0.269
## 2.059 0.727
## 2.033 0.738
## 1.751 0.656
##
## R-Square:
## Estimate
## pa 0.052
## ar 0.476
## se 0.354
## oe 0.378
## pn 0.731
## gov 0.273
## busi 0.262
## ind 0.344
##
## Defined Parameters:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## ego_gov_indrct 0.037 0.009 4.048 0.000 0.019 0.055
## ego_busi_ndrct 0.036 0.009 4.044 0.000 0.018 0.053
## ego_ind_indrct 0.040 0.010 4.066 0.000 0.021 0.060
## ego_gov_total 0.017 0.027 0.658 0.511 -0.035 0.070
## ego_busi_total 0.040 0.026 1.537 0.124 -0.011 0.092
## ego_ind_total 0.059 0.025 2.340 0.019 0.010 0.108
## Std.lv Std.all
## 0.037 0.034
## 0.036 0.033
## 0.040 0.038
## 0.017 0.016
## 0.040 0.037
## 0.059 0.055
#fit_LT <- lavaan::sem(model_vbn_ego, data = dLT, se = "bootstrap", bootstrap = 5000)
fit_LT <- lavaan::sem(model_vbn_ego, data = dLT)
summary(fit_LT, standardized = TRUE, fit.measures = TRUE, rsquare = TRUE, ci = TRUE)
## lavaan 0.6-20 ended normally after 20 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 28
##
## Number of observations 1008
##
## Model Test User Model:
##
## Test statistic 797.769
## Degrees of freedom 40
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 5232.428
## Degrees of freedom 60
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.853
## Tucker-Lewis Index (TLI) 0.780
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -13602.587
## Loglikelihood unrestricted model (H1) -13203.703
##
## Akaike (AIC) 27261.175
## Bayesian (BIC) 27398.815
## Sample-size adjusted Bayesian (SABIC) 27309.885
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.137
## 90 Percent confidence interval - lower 0.129
## 90 Percent confidence interval - upper 0.145
## P-value H_0: RMSEA <= 0.050 0.000
## P-value H_0: RMSEA >= 0.080 1.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.105
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
## Regressions:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## pa ~
## bio (a1) 0.177 0.049 3.618 0.000 0.081 0.273
## alt (a2) 0.039 0.046 0.842 0.400 -0.052 0.130
## hed (a3) -0.041 0.038 -1.066 0.287 -0.116 0.034
## ego (a4) 0.039 0.038 1.033 0.302 -0.035 0.114
## ar ~
## pa (b) 0.653 0.023 27.828 0.000 0.607 0.699
## se ~
## ar (c1) 0.515 0.025 20.603 0.000 0.466 0.564
## ego (c2) 0.047 0.024 1.977 0.048 0.000 0.093
## oe ~
## ar (d1) 0.554 0.025 22.458 0.000 0.506 0.602
## ego (d2) 0.041 0.023 1.760 0.078 -0.005 0.087
## pn ~
## se (e1) 0.527 0.020 26.971 0.000 0.489 0.566
## oe (e2) 0.352 0.019 18.242 0.000 0.314 0.389
## gov ~
## pn (f1) 0.573 0.029 19.497 0.000 0.515 0.630
## ego (g1) 0.025 0.025 1.021 0.307 -0.023 0.073
## busi ~
## pn (f2) 0.537 0.030 17.826 0.000 0.478 0.596
## ego (g2) 0.059 0.025 2.348 0.019 0.010 0.109
## ind ~
## pn (f3) 0.519 0.028 18.305 0.000 0.463 0.575
## ego (g3) 0.052 0.024 2.181 0.029 0.005 0.098
## Std.lv Std.all
##
## 0.177 0.199
## 0.039 0.045
## -0.041 -0.042
## 0.039 0.041
##
## 0.653 0.659
##
## 0.515 0.544
## 0.047 0.052
##
## 0.554 0.577
## 0.041 0.045
##
## 0.527 0.565
## 0.352 0.382
##
## 0.573 0.524
## 0.025 0.027
##
## 0.537 0.489
## 0.059 0.064
##
## 0.519 0.499
## 0.052 0.059
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## .gov ~~
## .busi 1.279 0.079 16.274 0.000 1.125 1.432
## .ind 0.985 0.071 13.937 0.000 0.847 1.124
## .busi ~~
## .ind 1.057 0.073 14.457 0.000 0.914 1.201
## Std.lv Std.all
##
## 1.279 0.597
## 0.985 0.489
##
## 1.057 0.511
##
## Variances:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## .pa 2.985 0.133 22.450 0.000 2.724 3.245
## .ar 1.759 0.078 22.450 0.000 1.606 1.913
## .se 1.935 0.086 22.450 0.000 1.767 2.104
## .oe 1.887 0.084 22.450 0.000 1.722 2.052
## .pn 0.961 0.043 22.450 0.000 0.877 1.045
## .gov 2.089 0.093 22.450 0.000 1.907 2.272
## .busi 2.196 0.098 22.450 0.000 2.004 2.387
## .ind 1.946 0.087 22.450 0.000 1.776 2.116
## Std.lv Std.all
## 2.985 0.942
## 1.759 0.566
## 1.935 0.695
## 1.887 0.659
## 0.961 0.396
## 2.089 0.721
## 2.196 0.750
## 1.946 0.741
##
## R-Square:
## Estimate
## pa 0.058
## ar 0.434
## se 0.305
## oe 0.341
## pn 0.604
## gov 0.279
## busi 0.250
## ind 0.259
##
## Defined Parameters:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## ego_gov_indrct 0.022 0.009 2.590 0.010 0.005 0.039
## ego_busi_ndrct 0.021 0.008 2.586 0.010 0.005 0.037
## ego_ind_indrct 0.020 0.008 2.587 0.010 0.005 0.036
## ego_gov_total 0.048 0.026 1.831 0.067 -0.003 0.099
## ego_busi_total 0.080 0.026 3.042 0.002 0.029 0.132
## ego_ind_total 0.072 0.025 2.896 0.004 0.023 0.121
## Std.lv Std.all
## 0.022 0.025
## 0.021 0.023
## 0.020 0.023
## 0.048 0.052
## 0.080 0.087
## 0.072 0.083
#fit_NL <- lavaan::sem(model_vbn_ego, data = dNL, se = "bootstrap", bootstrap = 5000)
fit_NL <- lavaan::sem(model_vbn_ego, data = dNL)
summary(fit_NL, standardized = TRUE, fit.measures = TRUE, rsquare = TRUE, ci = TRUE)
## lavaan 0.6-20 ended normally after 16 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 28
##
## Number of observations 1081
##
## Model Test User Model:
##
## Test statistic 778.230
## Degrees of freedom 40
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 7169.878
## Degrees of freedom 60
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.896
## Tucker-Lewis Index (TLI) 0.844
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -13410.730
## Loglikelihood unrestricted model (H1) -13021.615
##
## Akaike (AIC) 26877.460
## Bayesian (BIC) 27017.058
## Sample-size adjusted Bayesian (SABIC) 26928.124
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.131
## 90 Percent confidence interval - lower 0.123
## 90 Percent confidence interval - upper 0.139
## P-value H_0: RMSEA <= 0.050 0.000
## P-value H_0: RMSEA >= 0.080 1.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.086
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
## Regressions:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## pa ~
## bio (a1) 0.301 0.044 6.903 0.000 0.215 0.386
## alt (a2) -0.046 0.048 -0.954 0.340 -0.141 0.049
## hed (a3) -0.082 0.041 -2.011 0.044 -0.162 -0.002
## ego (a4) 0.034 0.031 1.072 0.284 -0.028 0.095
## ar ~
## pa (b) 0.713 0.021 34.672 0.000 0.673 0.753
## se ~
## ar (c1) 0.559 0.025 22.802 0.000 0.511 0.608
## ego (c2) 0.057 0.025 2.266 0.023 0.008 0.106
## oe ~
## ar (d1) 0.638 0.023 27.298 0.000 0.593 0.684
## ego (d2) 0.035 0.024 1.473 0.141 -0.012 0.082
## pn ~
## se (e1) 0.568 0.018 30.851 0.000 0.532 0.604
## oe (e2) 0.320 0.018 17.687 0.000 0.285 0.356
## gov ~
## pn (f1) 0.596 0.026 23.208 0.000 0.545 0.646
## ego (g1) 0.009 0.024 0.385 0.700 -0.038 0.057
## busi ~
## pn (f2) 0.619 0.025 25.157 0.000 0.571 0.667
## ego (g2) 0.045 0.023 1.932 0.053 -0.001 0.091
## ind ~
## pn (f3) 0.657 0.024 27.451 0.000 0.610 0.703
## ego (g3) 0.005 0.023 0.235 0.814 -0.039 0.050
## Std.lv Std.all
##
## 0.301 0.291
## -0.046 -0.049
## -0.082 -0.096
## 0.034 0.032
##
## 0.713 0.726
##
## 0.559 0.569
## 0.057 0.057
##
## 0.638 0.638
## 0.035 0.034
##
## 0.568 0.605
## 0.320 0.347
##
## 0.596 0.577
## 0.009 0.010
##
## 0.619 0.607
## 0.045 0.047
##
## 0.657 0.641
## 0.005 0.005
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## .gov ~~
## .busi 1.213 0.061 19.763 0.000 1.092 1.333
## .ind 0.952 0.056 17.060 0.000 0.842 1.061
## .busi ~~
## .ind 0.969 0.054 17.816 0.000 0.862 1.075
## Std.lv Std.all
##
## 1.213 0.752
## 0.952 0.607
##
## 0.969 0.645
##
## Variances:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## .pa 2.735 0.118 23.249 0.000 2.504 2.965
## .ar 1.314 0.057 23.249 0.000 1.203 1.425
## .se 1.806 0.078 23.249 0.000 1.654 1.958
## .oe 1.640 0.071 23.249 0.000 1.502 1.779
## .pn 0.853 0.037 23.249 0.000 0.781 0.925
## .gov 1.683 0.072 23.249 0.000 1.541 1.824
## .busi 1.545 0.066 23.249 0.000 1.415 1.675
## .ind 1.461 0.063 23.249 0.000 1.338 1.584
## Std.lv Std.all
## 2.735 0.951
## 1.314 0.473
## 1.806 0.672
## 1.640 0.591
## 0.853 0.360
## 1.683 0.666
## 1.545 0.627
## 1.461 0.588
##
## R-Square:
## Estimate
## pa 0.049
## ar 0.527
## se 0.328
## oe 0.409
## pn 0.640
## gov 0.334
## busi 0.373
## ind 0.412
##
## Defined Parameters:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## ego_gov_indrct 0.026 0.010 2.670 0.008 0.007 0.045
## ego_busi_ndrct 0.027 0.010 2.673 0.008 0.007 0.047
## ego_ind_indrct 0.029 0.011 2.675 0.007 0.008 0.050
## ego_gov_total 0.035 0.026 1.354 0.176 -0.016 0.087
## ego_busi_total 0.072 0.025 2.842 0.004 0.022 0.122
## ego_ind_total 0.034 0.025 1.360 0.174 -0.015 0.083
## Std.lv Std.all
## 0.026 0.027
## 0.027 0.028
## 0.029 0.030
## 0.035 0.036
## 0.072 0.075
## 0.034 0.035
#fit_UK <- lavaan::sem(model_vbn_ego, data = dUK, se = "bootstrap", bootstrap = 5000)
fit_UK <- lavaan::sem(model_vbn_ego, data = dUK)
summary(fit_UK, standardized = TRUE, fit.measures = TRUE, rsquare = TRUE, ci = TRUE)
## lavaan 0.6-20 ended normally after 19 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 28
##
## Number of observations 1053
##
## Model Test User Model:
##
## Test statistic 830.566
## Degrees of freedom 40
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 6373.252
## Degrees of freedom 60
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.875
## Tucker-Lewis Index (TLI) 0.812
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -14396.218
## Loglikelihood unrestricted model (H1) -13980.935
##
## Akaike (AIC) 28848.436
## Bayesian (BIC) 28987.300
## Sample-size adjusted Bayesian (SABIC) 28898.367
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.137
## 90 Percent confidence interval - lower 0.129
## 90 Percent confidence interval - upper 0.145
## P-value H_0: RMSEA <= 0.050 0.000
## P-value H_0: RMSEA >= 0.080 1.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.110
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
## Regressions:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## pa ~
## bio (a1) 0.250 0.049 5.126 0.000 0.154 0.346
## alt (a2) 0.047 0.048 0.991 0.322 -0.046 0.140
## hed (a3) -0.128 0.045 -2.833 0.005 -0.217 -0.040
## ego (a4) 0.060 0.032 1.873 0.061 -0.003 0.122
## ar ~
## pa (b) 0.744 0.023 32.068 0.000 0.698 0.789
## se ~
## ar (c1) 0.499 0.025 19.590 0.000 0.449 0.549
## ego (c2) 0.170 0.027 6.289 0.000 0.117 0.223
## oe ~
## ar (d1) 0.592 0.024 25.004 0.000 0.545 0.638
## ego (d2) 0.159 0.025 6.333 0.000 0.110 0.208
## pn ~
## se (e1) 0.352 0.018 19.853 0.000 0.317 0.386
## oe (e2) 0.584 0.018 33.077 0.000 0.549 0.618
## gov ~
## pn (f1) 0.642 0.028 23.075 0.000 0.587 0.696
## ego (g1) 0.017 0.027 0.621 0.535 -0.037 0.071
## busi ~
## pn (f2) 0.659 0.026 25.044 0.000 0.608 0.711
## ego (g2) 0.113 0.026 4.344 0.000 0.062 0.164
## ind ~
## pn (f3) 0.692 0.025 27.849 0.000 0.643 0.741
## ego (g3) 0.045 0.025 1.842 0.065 -0.003 0.093
## Std.lv Std.all
##
## 0.250 0.256
## 0.047 0.049
## -0.128 -0.130
## 0.060 0.060
##
## 0.744 0.703
##
## 0.499 0.508
## 0.170 0.163
##
## 0.592 0.601
## 0.159 0.152
##
## 0.352 0.371
## 0.584 0.618
##
## 0.642 0.585
## 0.017 0.016
##
## 0.659 0.607
## 0.113 0.105
##
## 0.692 0.654
## 0.045 0.043
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## .gov ~~
## .busi 0.979 0.074 13.253 0.000 0.834 1.124
## .ind 0.733 0.068 10.849 0.000 0.600 0.865
## .busi ~~
## .ind 1.085 0.069 15.747 0.000 0.950 1.220
## Std.lv Std.all
##
## 0.979 0.447
## 0.733 0.355
##
## 1.085 0.555
##
## Variances:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## .pa 2.863 0.125 22.946 0.000 2.618 3.107
## .ar 1.715 0.075 22.946 0.000 1.569 1.862
## .se 2.310 0.101 22.946 0.000 2.113 2.507
## .oe 1.995 0.087 22.946 0.000 1.825 2.165
## .pn 0.955 0.042 22.946 0.000 0.874 1.037
## .gov 2.311 0.101 22.946 0.000 2.114 2.508
## .busi 2.072 0.090 22.946 0.000 1.895 2.249
## .ind 1.845 0.080 22.946 0.000 1.688 2.003
## Std.lv Std.all
## 2.863 0.945
## 1.715 0.506
## 2.310 0.707
## 1.995 0.606
## 0.955 0.325
## 2.311 0.654
## 2.072 0.597
## 1.845 0.560
##
## R-Square:
## Estimate
## pa 0.055
## ar 0.494
## se 0.293
## oe 0.394
## pn 0.675
## gov 0.346
## busi 0.403
## ind 0.440
##
## Defined Parameters:
## Estimate Std.Err z-value P(>|z|) ci.lower ci.upper
## ego_gov_indrct 0.098 0.012 8.041 0.000 0.074 0.122
## ego_busi_ndrct 0.101 0.012 8.116 0.000 0.076 0.125
## ego_ind_indrct 0.106 0.013 8.198 0.000 0.080 0.131
## ego_gov_total 0.115 0.029 3.921 0.000 0.058 0.172
## ego_busi_total 0.214 0.028 7.592 0.000 0.158 0.269
## ego_ind_total 0.151 0.027 5.567 0.000 0.098 0.204
## Std.lv Std.all
## 0.098 0.090
## 0.101 0.094
## 0.106 0.101
## 0.115 0.106
## 0.214 0.199
## 0.151 0.144