In this script I use loops to perform gamlss regressions for all 52 attitudes. The lists that I will get as output are saved with all the information, after which - in another script - i will extract the raw effects sizes used as input for the meta-regressions.
rm(list = ls())
library(gamlss)
library(tidyverse)
library(dplyr)
library(fastDummies)
load("./data/final_data/esstotal.RData")
# Gamlss cannot handle NAs, so I have to listwise delete all of them
ess_complete <- esstotal %>% drop_na()
ess_complete$time <- ess_complete$surveyyear - min(ess_complete$surveyyear)
# I want to build models. In the empty model, I only want to include time.
predictors <- c("time")
deps <- c("worry", "cause", "pers_resp")
ess_list_empty <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression. The sigma formula pastes every variable one by one and calculates variance, the other formula shows the mean attitudes effects
ess_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = ess_complete, weights = weightvec)
ess_list_empty[[i]] <- ess_fit
}
summary(ess_list_empty[[1]]) #Sig pos effect of surveyyear on both intercept and variance (worry)
summary(ess_list_empty[[2]]) # Sig neg effect on intercept, sig pos effect on variance (cause)
summary(ess_list_empty[[3]]) # Sig pos effect on intercept, sig neg effect on variance (pers_resp)
save(ess_list_empty, file="./data/final_data/regression_outputs/ess_list_empty_w.RData")
#Estimate a second model with the indicators + time
predictors <- c("time", "sex", "isced_cat", "age")
deps <- c("worry", "cause", "pers_resp")
ess_list_preds <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
ess_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = ess_complete, weights = weightvec)
ess_list_preds[[i]] <- ess_fit
}
summary(ess_list_preds[[1]])
save(ess_list_preds, file="./data/final_data/regression_outputs/ess_list_preds_w_new.RData")
#Now the last model with interaction of time on predictor variables
ess_complete$age_time <- ess_complete$age * ess_complete$time
ess_complete$sex_time <- as.numeric(ess_complete$sex) * ess_complete$time
ess_complete <- fastDummies::dummy_cols(ess_complete, select_columns = "isced_cat")
ess_complete$isced_basic_time <- ess_complete$isced_cat_Basic * ess_complete$time
ess_complete$isced_intermediate_time <- ess_complete$isced_cat_Intermediate * ess_complete$time
ess_complete$isced_advanced_time <- ess_complete$isced_cat_Advanced * ess_complete$time
interactions <- c("age_time", "sex_time", "isced_intermediate_time", "isced_advanced_time")
ess_list_interactions <- list()
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = " + ")))
# Perform the linear regression
ess_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = "+ "))), sigma.formula = sigma.formula," + ", family=NO(mu.link = "identity", sigma.link = "identity"), data = ess_complete, weights = weightvec)
ess_list_interactions[[i]] <- ess_fit
}
summary(ess_list_interactions[[1]])
summary(ess_list_interactions[[2]])
summary(ess_list_interactions[[3]])
save(ess_list_interactions, file="./data/final_data/regression_outputs/ess_list_interactions_w_new.RData")
# Perform the same procedure for the EVS
load("./data/final_data/evssel.RData")
evs_complete <- evssel %>% dplyr::select(surveyyear:marstat, weightvec, isced_cat)
evs_complete <- evs_complete %>% drop_na()
evs_complete$time <- evs_complete$surveyyear - min(evs_complete$surveyyear)
predictors <- c("time")
deps <- c("climate5")
evs_list_empty <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regrevsion
evs_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = evs_complete, weights = weightvec)
evs_list_empty[[i]] <- evs_fit
}
summary(evs_list_empty[[1]]) #Sig pos effect of time on intercept
model1 <- evs_list_empty[[1]]
save(evs_list_empty, file="./data/final_data/regression_outputs/evs_list_empty_w.RData")
# Predictor model
predictors <- c("time", "sex", "isced_cat", "age")
deps <- c("climate5")
evs_list_preds <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regrevsion
evs_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = evs_complete, weights = weightvec)
evs_list_preds[[i]] <- evs_fit
}
summary(evs_list_preds[[1]])
save(evs_list_preds, file="./data/final_data/regression_outputs/evs_list_preds_w_new.RData")
#Now the last model with interaction of time on predictor variables
evs_complete$age_time <- evs_complete$age * evs_complete$time
evs_complete$sex_time <- as.numeric(evs_complete$sex) * evs_complete$time
evs_complete <- fastDummies::dummy_cols(evs_complete, select_columns = "isced_cat")
evs_complete$isced_basic_time <- evs_complete$isced_cat_Basic * evs_complete$time
evs_complete$isced_intermediate_time <- evs_complete$isced_cat_Intermediate * evs_complete$time
evs_complete$isced_advanced_time <- evs_complete$isced_cat_Advanced * evs_complete$time
interactions <- c("age_time", "sex_time", "isced_intermediate_time", "isced_advanced_time")
evs_list_interactions <- list()
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = " + ")))
# Perform the linear regrevsion
evs_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = "+ "))), sigma.formula = sigma.formula," + ", family=NO(mu.link = "identity", sigma.link = "identity"), data = evs_complete, weights = weightvec)
evs_list_interactions[[i]] <- evs_fit
}
summary(evs_list_interactions[[1]])
save(evs_list_interactions, file="./data/final_data/regression_outputs/evs_list_interactions_w_new.RData")
load("./data/final_data/io_total.RData")
io_complete <- io_total %>% dplyr::select(worried:surveyyear, weightvec, isced_cat)
#Urban, IOINKOMEN, IOPOL has to go away
io_complete = subset(io_complete, select = -c(urban,IOINKOMEN, IOPOL2017) )
io_complete <- io_complete %>% drop_na()
io_complete$time <- io_complete$surveyyear - min(io_complete$surveyyear)
predictors <- c("time")
deps <- c("worried", "frontrunner", "worry_future", "resp_citiz", "dk_start", "do_gov", "buss_help", "min_contr", "human_resp")
io_list_empty <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
io_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = io_complete, weights = weightvec)
io_list_empty[[i]] <- io_fit
}
summary(io_list_empty[[1]]) #Sig pos effect of time on intercept, not on variance
summary(io_list_empty[[2]])
model1 <- io_list_empty[[1]]
plot(model1, ts = "true")
save(io_list_empty, file="./data/final_data/regression_outputs/io_list_empty_w.RData")
# Predictor model
predictors <- c("time", "sex", "isced_cat", "age")
deps <- c("worried", "frontrunner", "worry_future", "resp_citiz", "dk_start", "do_gov", "buss_help", "min_contr", "human_resp")
io_list_preds <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
io_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = io_complete, weights = weightvec)
io_list_preds[[i]] <- io_fit
}
summary(io_list_preds[[1]])
save(io_list_preds, file="./data/final_data/regression_outputs/io_list_preds_w_new.RData")
#Now the last model with interaction of time on predictor variables
io_complete$age_time <- io_complete$age * io_complete$time
io_complete$sex_time <- as.numeric(io_complete$sex) * io_complete$time
io_complete <- fastDummies::dummy_cols(io_complete, select_columns = "isced_cat")
io_complete$isced_basic_time <- io_complete$isced_cat_Basic * io_complete$time
io_complete$isced_intermediate_time <- io_complete$isced_cat_Intermediate * io_complete$time
io_complete$isced_advanced_time <- io_complete$isced_cat_Advanced * io_complete$time
interactions <- c("age_time", "sex_time", "isced_intermediate_time", "isced_advanced_time")
io_list_interactions <- list()
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = " + ")))
# Perform the linear regression
io_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = "+ "))), sigma.formula = sigma.formula," + ", family=NO(mu.link = "identity", sigma.link = "identity"), data = io_complete, weights = weightvec)
io_list_interactions[[i]] <- io_fit
}
summary(io_list_interactions[[1]])
save(io_list_interactions, file="./data/final_data/regression_outputs/io_list_interactions_w_new.RData")
load("./data/final_data/issptotal.Rdata")
issptotal$surveyyear[is.na(issptotal$surveyyear)] <- "2010"
issptotal$surveyyear <- as.numeric(issptotal$surveyyear)
# The issp has variables that are asked in all three waves, and variables that are asked only in 2 waves. So I have to run the code on subsets of the data. First I estimate the models for the statements that are asked throughout the three waves
issp_complete <- issptotal %>% dplyr::select(surveyyear:marstat, weightvec, isced_cat)
issp_complete <- issp_complete %>% drop_na()
issp_complete$time <- issp_complete$surveyyear - min(issp_complete$surveyyear)
# Time-only
predictors <- c("time")
deps <- c("worry", "lifeharm", "willing_price", "willing_tax", "willing_living", "do_right", "progharm", "econprotect", "people_decide")
issp_list_empty <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
issp_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula,
family=NO(mu.link = "identity", sigma.link = "identity"), data = issp_complete, weights = weightvec)
issp_list_empty[[i]] <- issp_fit
}
summary(issp_list_empty[[1]])
summary(issp_list_empty[[2]])
summary(issp_list_empty[[3]])
save(issp_list_empty, file="./data/final_data/regression_outputs/issp_list_empty_w.RData")
# Now with predictors
predictors <- c("time", "sex", "isced_cat", "age")
deps <- c("worry", "lifeharm", "willing_price", "willing_tax", "willing_living", "do_right", "progharm", "econprotect", "people_decide" )
issp_list_preds <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
issp_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula,
family=NO(mu.link = "identity", sigma.link = "identity"), data = issp_complete, weights = weightvec)
issp_list_preds[[i]] <- issp_fit
}
summary(issp_list_preds[[9]])
save(issp_list_preds, file="./data/final_data/regression_outputs/issp_list_preds_w_new.RData")
# And now interactions
issp_complete$age_time <- issp_complete$age * issp_complete$time
issp_complete$sex_time <- as.numeric(issp_complete$sex) * issp_complete$time
issp_complete <- fastDummies::dummy_cols(issp_complete, select_columns = "isced_cat")
issp_complete$isced_basic_time <- issp_complete$isced_cat_Basic * issp_complete$time
issp_complete$isced_intermediate_time <- issp_complete$isced_cat_Intermediate * issp_complete$time
issp_complete$isced_advanced_time <- issp_complete$isced_cat_Advanced * issp_complete$time
interactions <- c("age_time", "sex_time", "isced_intermediate_time", "isced_advanced_time")
issp_list_interactions <- list()
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = " + ")))
# Perform the linear regressisspn
issp_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = "+ "))), sigma.formula = sigma.formula," + ", family=NO(mu.link = "identity", sigma.link = "identity"), data = issp_complete, weights = weightvec)
issp_list_interactions[[i]] <- issp_fit
}
summary(issp_list_interactions[[1]])
save(issp_list_interactions, file="./data/final_data/regression_outputs/issp_list_interactions_w_new.RData")
# Now the variables that are only asked twice
issp_complete <- issptotal %>% dplyr::select(surveyyear, isced:growharm, weightvec, isced_cat)
issp_complete <- issp_complete %>% drop_na()
issp_complete$time <- issp_complete$surveyyear - min(issp_complete$surveyyear)
# Time-only model
predictors <- c("time")
deps <- c("exag", "moreimp", "othersame", "country_effort", "growharm")
issp_list_empty_2_waves <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
issp_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = issp_complete, weights = weightvec)
issp_list_empty_2_waves[[i]] <- issp_fit
}
summary(issp_list_empty_2_waves[[1]])
summary(issp_list_empty_2_waves[[2]])
summary(issp_list_empty_2_waves[[3]])
save(issp_list_empty_2_waves, file="./data/final_data/regression_outputs/issp_list_empty_2_waves_w.RData")
# And the model with the predictors
predictors <- c("time", "sex", "isced_cat", "age")
deps <- c("exag", "moreimp", "othersame", "country_effort", "growharm")
issp_list_preds_2_waves <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
issp_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = issp_complete, weights = weightvec)
issp_list_preds_2_waves[[i]] <- issp_fit
}
summary(issp_list_preds_2_waves[[1]])
save(issp_list_preds_2_waves, file="./data/final_data/regression_outputs/issp_list_preds_2_waves_w_new.RData")
# And lastly, again the interactions
issp_complete$age_time <- issp_complete$age * issp_complete$time
issp_complete$sex_time <- as.numeric(issp_complete$sex) * issp_complete$time
issp_complete <- fastDummies::dummy_cols(issp_complete, select_columns = "isced_cat")
issp_complete$isced_basic_time <- issp_complete$isced_cat_Basic * issp_complete$time
issp_complete$isced_intermediate_time <- issp_complete$isced_cat_Intermediate * issp_complete$time
issp_complete$isced_advanced_time <- issp_complete$isced_cat_Advanced * issp_complete$time
interactions <- c("age_time", "sex_time", "isced_intermediate_time", "isced_advanced_time")
issp_list_interactions_2_waves <- list()
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = " + ")))
# Perform the linear regressisspn
issp_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = "+ "))), sigma.formula = sigma.formula," + ", family=NO(mu.link = "identity", sigma.link = "identity"), data = issp_complete, weights = weightvec)
issp_list_interactions_2_waves[[i]] <- issp_fit
}
summary(issp_list_interactions_2_waves[[1]])
save(issp_list_interactions_2_waves, file="./data/final_data/regression_outputs/issp_list_interactions_2_waves_w_new.RData")
# Now the most difficult one: Eurobarometer. No items are asked steadily throughout time, so have to work with a lot of subsets.
load("./data/final_data/eb_tot.Rdata")
# first 1986 - 1995
eb_complete <- eb_tot %>% dplyr::select(surveyyear, env_ec_stat, env_prsimp, sex, isced: urban, weightvec, isced_cat)
# Religion is only asked in one wave
eb_complete <- eb_complete %>% drop_na()
eb_complete$time <- eb_complete$surveyyear - min(eb_complete$surveyyear)
# First empty model
predictors <- c("time")
deps <- c("env_ec_stat", "env_prsimp")
eb_list_empty_1986 <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula,
family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_empty_1986[[i]] <- eb_fit
}
summary(eb_list_empty_1986[[1]])
summary(eb_list_empty_1986[[2]])
save(eb_list_empty_1986, file="./data/final_data/regression_outputs/eb_list_empty_1986_w.RData")
# Model with predictors
predictors <- c("time", "sex", "isced_cat", "age")
deps <- c("env_ec_stat", "env_prsimp")
eb_list_preds_1986 <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula,
family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_preds_1986[[i]] <- eb_fit
}
summary(eb_list_preds_1986[[1]])
summary(eb_list_preds_1986[[2]])
save(eb_list_preds_1986, file="./data/final_data/regression_outputs/eb_list_preds_1986_w_new.RData")
# And the model with interactions
eb_complete$age_time <- eb_complete$age * eb_complete$time
eb_complete$sex_time <- as.numeric(eb_complete$sex) * eb_complete$time
eb_complete <- fastDummies::dummy_cols(eb_complete, select_columns = "isced_cat")
eb_complete$isced_basic_time <- eb_complete$isced_cat_Basic * eb_complete$time
eb_complete$isced_intermediate_time <- eb_complete$isced_cat_Intermediate * eb_complete$time
eb_complete$isced_advanced_time <- eb_complete$isced_cat_Advanced * eb_complete$time
interactions <- c("age_time", "sex_time", "isced_intermediate_time", "isced_advanced_time")
eb_list_interactions_1986 <- list()
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = "+ "))), sigma.formula = sigma.formula," + ", family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_interactions_1986[[i]] <- eb_fit
}
summary(eb_list_interactions_1986[[1]])
summary(eb_list_interactions_1986[[2]])
save(eb_list_interactions_1986, file="./data/final_data/regression_outputs/eb_list_interactions_1986_w_new.RData")
# Now with the influence of environment on quality of life
eb_complete <- eb_tot %>% dplyr::select(surveyyear, env_quallife, sex, isced, urban, age, weightvec, isced_cat)
# Lrplace and income are not asked in all waves
eb_complete <- eb_complete %>% drop_na()
eb_complete$time <- eb_complete$surveyyear - min(eb_complete$surveyyear)
# First empty model
predictors <- c("time")
deps <- c("env_quallife")
eb_list_empty_quallife <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_empty_quallife[[i]] <- eb_fit
}
summary(eb_list_empty_quallife[[1]])
save(eb_list_empty_quallife, file="./data/final_data/regression_outputs/eb_list_empty_quallife_w.RData")
# Model with predictors
predictors <- c("time", "sex", "isced_cat", "age")
deps <- c("env_quallife")
eb_list_preds_quallife <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula,
family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_preds_quallife[[i]] <- eb_fit
}
summary(eb_list_preds_quallife[[1]])
save(eb_list_preds_quallife, file="./data/final_data/regression_outputs/eb_list_preds_quallife_w_new.RData")
# And the model with interactions
eb_complete$age_time <- eb_complete$age * eb_complete$time
eb_complete$sex_time <- as.numeric(eb_complete$sex) * eb_complete$time
eb_complete <- fastDummies::dummy_cols(eb_complete, select_columns = "isced_cat")
eb_complete$isced_basic_time <- eb_complete$isced_cat_Basic * eb_complete$time
eb_complete$isced_intermediate_time <- eb_complete$isced_cat_Intermediate * eb_complete$time
eb_complete$isced_advanced_time <- eb_complete$isced_cat_Advanced * eb_complete$time
interactions <- c("age_time", "sex_time", "isced_intermediate_time", "isced_advanced_time")
eb_list_interactions_quallife <- list()
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = " + ")))
# Perform the linear regressebn
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = "+ "))), sigma.formula = sigma.formula," + ", family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_interactions_quallife[[i]] <- eb_fit
}
summary(eb_list_interactions_quallife[[1]])
save(eb_list_interactions_quallife, file="./data/final_data/regression_outputs/eb_list_interactions_quallife_w_new.RData")
# Now 2 statements that are asked 4 times
eb_complete <- eb_tot %>% dplyr::select(surveyyear, role_ind, big_pol, sex, isced, urban, age, weightvec, isced_cat)
# Lrplace and income are not asked in all waves
eb_complete <- eb_complete %>% drop_na()
eb_complete$time <- eb_complete$surveyyear - min(eb_complete$surveyyear)
# First empty model
predictors <- c("time")
deps <- c("role_ind", "big_pol")
eb_list_empty_2007 <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_empty_2007[[i]] <- eb_fit
}
summary(eb_list_empty_2007[[2]])
save(eb_list_empty_2007, file="./data/final_data/regression_outputs/eb_list_empty_2007_w.RData")
# Model with predictors
predictors <- c("time", "sex", "isced_cat", "age")
deps <- c("role_ind", "big_pol")
eb_list_preds_2007 <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_preds_2007[[i]] <- eb_fit
}
summary(eb_list_preds_2007[[1]])
save(eb_list_preds_2007, file="./data/final_data/regression_outputs/eb_list_preds_2007_w_new.RData")
# And the model with interactions
eb_complete$age_time <- eb_complete$age * eb_complete$time
eb_complete$sex_time <- as.numeric(eb_complete$sex) * eb_complete$time
eb_complete <- fastDummies::dummy_cols(eb_complete, select_columns = "isced_cat")
eb_complete$isced_basic_time <- eb_complete$isced_cat_Basic * eb_complete$time
eb_complete$isced_intermediate_time <- eb_complete$isced_cat_Intermediate * eb_complete$time
eb_complete$isced_advanced_time <- eb_complete$isced_cat_Advanced * eb_complete$time
interactions <- c("age_time", "sex_time", "isced_intermediate_time", "isced_advanced_time")
eb_list_interactions_2007 <- list()
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = " + ")))
# Perform the linear regressebn
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = "+ "))), sigma.formula = sigma.formula," + ", family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_interactions_2007[[i]] <- eb_fit
}
summary(eb_list_interactions_2007[[1]])
save(eb_list_interactions_2007, file="./data/final_data/regression_outputs/eb_list_interactions_2007_w_new.RData")
# Now 2 statements that are asked 4 times
eb_complete <- eb_tot %>% dplyr::select(surveyyear, buyprod, sex, isced, urban, age, weightvec, isced_cat)
eb_complete <- eb_complete %>% drop_na()
eb_complete$time <- eb_complete$surveyyear - min(eb_complete$surveyyear)
# First empty model
predictors <- c("time")
deps <- c("buyprod")
eb_list_empty_buyprod <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_empty_buyprod[[i]] <- eb_fit
}
summary(eb_list_empty_buyprod[[1]])
save(eb_list_empty_buyprod, file="./data/final_data/regression_outputs/eb_list_empty_buyprod_w.RData")
# Model with predictors
predictors <- c("time", "sex", "isced_cat", "age")
deps <- c("buyprod")
eb_list_preds_buyprod <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_preds_buyprod[[i]] <- eb_fit
}
summary(eb_list_preds_buyprod[[1]])
save(eb_list_preds_buyprod, file="./data/final_data/regression_outputs/eb_list_preds_buyprod_w_new.RData")
# And the model with interactions
eb_complete$age_time <- eb_complete$age * eb_complete$time
eb_complete$sex_time <- as.numeric(eb_complete$sex) * eb_complete$time
eb_complete <- fastDummies::dummy_cols(eb_complete, select_columns = "isced_cat")
eb_complete$isced_basic_time <- eb_complete$isced_cat_Basic * eb_complete$time
eb_complete$isced_intermediate_time <- eb_complete$isced_cat_Intermediate * eb_complete$time
eb_complete$isced_advanced_time <- eb_complete$isced_cat_Advanced * eb_complete$time
interactions <- c("age_time", "sex_time", "isced_intermediate_time", "isced_advanced_time")
eb_list_interactions_buyprod <- list()
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = "+ "))), sigma.formula = sigma.formula," + ", family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_interactions_buyprod[[i]] <- eb_fit
}
summary(eb_list_interactions_buyprod[[1]])
save(eb_list_interactions_buyprod, file="./data/final_data/regression_outputs/eb_list_interactions_buyprod_w_new.RData")
# Now 2 statements that are asked 4 times
eb_complete <- eb_tot %>% dplyr::select(surveyyear, eff_daily, sex, isced, urban, age, weightvec, isced_cat)
eb_complete <- eb_complete %>% drop_na()
eb_complete$time <- eb_complete$surveyyear - min(eb_complete$surveyyear)
# First empty model
predictors <- c("time")
deps <- c("eff_daily")
eb_list_empty_eff_daily <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_empty_eff_daily[[i]] <- eb_fit
}
summary(eb_list_empty_eff_daily[[1]])
save(eb_list_empty_eff_daily, file="./data/final_data/regression_outputs/eb_list_empty_eff_daily_w.RData")
# Model with predictors
predictors <- c("time", "sex", "isced_cat", "age")
deps <- c("eff_daily")
eb_list_preds_eff_daily <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_preds_eff_daily[[i]] <- eb_fit
}
summary(eb_list_preds_eff_daily[[1]])
save(eb_list_preds_eff_daily, file="./data/final_data/regression_outputs/eb_list_preds_eff_daily_w_new.RData")
# And the model with interactions
eb_complete$age_time <- eb_complete$age * eb_complete$time
eb_complete$sex_time <- as.numeric(eb_complete$sex) * eb_complete$time
eb_complete <- fastDummies::dummy_cols(eb_complete, select_columns = "isced_cat")
eb_complete$isced_basic_time <- eb_complete$isced_cat_Basic * eb_complete$time
eb_complete$isced_intermediate_time <- eb_complete$isced_cat_Intermediate * eb_complete$time
eb_complete$isced_advanced_time <- eb_complete$isced_cat_Advanced * eb_complete$time
interactions <- c("age_time", "sex_time", "isced_intermediate_time", "isced_advanced_time")
eb_list_interactions_eff_daily <- list()
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = "+ "))), sigma.formula = sigma.formula," + ", family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_interactions_eff_daily[[i]] <- eb_fit
}
summary(eb_list_interactions_eff_daily[[1]])
save(eb_list_interactions_eff_daily, file="./data/final_data/regression_outputs/eb_list_interactions_eff_daily_w_new.RData")
# Now 4 vars that are asked 2 waves
eb_complete <- eb_tot %>% dplyr::select(surveyyear, cc_unstop:cc_prsact, sex, isced, urban, age, weightvec, isced_cat)
eb_complete <- eb_complete %>% drop_na()
eb_complete$time <- eb_complete$surveyyear - min(eb_complete$surveyyear)
# First empty model
predictors <- c("time")
deps <- c("cc_unstop", "cc_exag", "cc_poseu", "cc_prsact")
eb_list_empty_2008 <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_empty_2008[[i]] <- eb_fit
}
summary(eb_list_empty_2008[[1]])
save(eb_list_empty_2008, file="./data/final_data/regression_outputs/eb_list_empty_2008_w.RData")
# Model with predictors
predictors <- c("time", "sex", "isced_cat", "age")
deps <- c("cc_unstop", "cc_exag", "cc_poseu", "cc_prsact")
eb_list_preds_2008 <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_preds_2008[[i]] <- eb_fit
}
summary(eb_list_preds_2008[[1]])
save(eb_list_preds_2008, file="./data/final_data/regression_outputs/eb_list_preds_2008_w_new.RData")
# And the model with interactions
eb_complete$age_time <- eb_complete$age * eb_complete$time
eb_complete$sex_time <- as.numeric(eb_complete$sex) * eb_complete$time
eb_complete <- fastDummies::dummy_cols(eb_complete, select_columns = "isced_cat")
eb_complete$isced_basic_time <- eb_complete$isced_cat_Basic * eb_complete$time
eb_complete$isced_intermediate_time <- eb_complete$isced_cat_Intermediate * eb_complete$time
eb_complete$isced_advanced_time <- eb_complete$isced_cat_Advanced * eb_complete$time
interactions <- c("age_time", "sex_time", "isced_intermediate_time", "isced_advanced_time")
eb_list_interactions_2008 <- list()
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = "+ "))), sigma.formula = sigma.formula," + ", family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_interactions_2008[[i]] <- eb_fit
}
summary(eb_list_interactions_2008[[1]])
save(eb_list_interactions_2008, file="./data/final_data/regression_outputs/eb_list_interactions_2008_w_new.RData")
# Climate change perception asked in six waves
eb_complete <- eb_tot %>% dplyr::select(surveyyear, ccpercept, cchange, sex, isced, urban, age, weightvec, isced_cat)
eb_complete <- eb_complete %>% drop_na()
eb_complete$time <- eb_complete$surveyyear - min(eb_complete$surveyyear)
# First empty model
predictors <- c("time")
deps <- c("ccpercept", "cchange")
eb_list_empty_2009 <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_empty_2009[[i]] <- eb_fit
}
summary(eb_list_empty_2009[[1]])
save(eb_list_empty_2009, file="./data/final_data/regression_outputs/eb_list_empty_2009_w.RData")
# Model with predictors
predictors <- c("time", "sex", "isced_cat", "age")
deps <- c("ccpercept", "cchange")
eb_list_preds_2009 <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_preds_2009[[i]] <- eb_fit
}
summary(eb_list_preds_2009[[1]])
save(eb_list_preds_2009, file="./data/final_data/regression_outputs/eb_list_preds_2009_w_new.RData")
# And the model with interactions
eb_complete$age_time <- eb_complete$age * eb_complete$time
eb_complete$sex_time <- as.numeric(eb_complete$sex) * eb_complete$time
eb_complete <- fastDummies::dummy_cols(eb_complete, select_columns = "isced_cat")
eb_complete$isced_basic_time <- eb_complete$isced_cat_Basic * eb_complete$time
eb_complete$isced_intermediate_time <- eb_complete$isced_cat_Intermediate * eb_complete$time
eb_complete$isced_advanced_time <- eb_complete$isced_cat_Advanced * eb_complete$time
interactions <- c("age_time", "sex_time", "isced_intermediate_time", "isced_advanced_time")
eb_list_interactions_2009 <- list()
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = "+ "))), sigma.formula = sigma.formula," + ", family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_interactions_2009[[i]] <- eb_fit
}
summary(eb_list_interactions_2009[[1]])
save(eb_list_interactions_2009, file="./data/final_data/regression_outputs/eb_list_interactions_2009_w_new.RData")
# Personal importance asked in 3 waves
eb_complete <- eb_tot %>% dplyr::select(surveyyear, pers_imp, sex, isced, urban, age, weightvec, isced_cat)
eb_complete <- eb_complete %>% drop_na()
eb_complete$time <- eb_complete$surveyyear - min(eb_complete$surveyyear)
# First empty model
predictors <- c("time")
deps <- c("pers_imp")
eb_list_empty_pers_imp <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula,family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_empty_pers_imp[[i]] <- eb_fit
}
summary(eb_list_empty_pers_imp[[1]])
save(eb_list_empty_pers_imp, file="./data/final_data/regression_outputs/eb_list_empty_pers_imp_w.RData")
# Model with predictors
predictors <- c("time", "sex", "isced_cat", "age")
deps <- c("pers_imp")
eb_list_preds_pers_imp <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula,
family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_preds_pers_imp[[i]] <- eb_fit
}
summary(eb_list_preds_pers_imp[[1]])
save(eb_list_preds_pers_imp, file="./data/final_data/regression_outputs/eb_list_preds_pers_imp_w_new.RData")
# And the model with interactions
eb_complete$age_time <- eb_complete$age * eb_complete$time
eb_complete$sex_time <- as.numeric(eb_complete$sex) * eb_complete$time
eb_complete <- fastDummies::dummy_cols(eb_complete, select_columns = "isced_cat")
eb_complete$isced_basic_time <- eb_complete$isced_cat_Basic * eb_complete$time
eb_complete$isced_intermediate_time <- eb_complete$isced_cat_Intermediate * eb_complete$time
eb_complete$isced_advanced_time <- eb_complete$isced_cat_Advanced * eb_complete$time
interactions <- c("age_time", "sex_time", "isced_intermediate_time", "isced_advanced_time")
eb_list_interactions_pers_imp <- list()
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = "+ "))), sigma.formula = sigma.formula," + ", family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_interactions_pers_imp[[i]] <- eb_fit
}
summary(eb_list_interactions_pers_imp[[1]])
save(eb_list_interactions_pers_imp, file="./data/final_data/regression_outputs/eb_list_interactions_pers_imp_w_new.RData")
# Questions about who does enough asked in 3 waves
eb_complete <- eb_tot %>% dplyr::select(surveyyear, doprot_natgov:doprot_citiz, sex, isced, urban, age, weightvec, isced_cat)
eb_complete <- eb_complete %>% drop_na()
eb_complete$time <- eb_complete$surveyyear - min(eb_complete$surveyyear)
# First empty model
predictors <- c("time")
deps <- c("doprot_natgov", "doprot_eu", "doprot_region", "doprot_comp", "doprot_citiz")
eb_list_empty_doprot <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_empty_doprot[[i]] <- eb_fit
}
summary(eb_list_empty_doprot[[1]])
save(eb_list_empty_doprot, file="./data/final_data/regression_outputs/eb_list_empty_doprot_w.RData")
# Model with predictors
predictors <- c("time", "sex", "isced_cat", "age")
deps <- c("doprot_natgov", "doprot_eu", "doprot_region", "doprot_comp", "doprot_citiz")
eb_list_preds_doprot <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_preds_doprot[[i]] <- eb_fit
}
summary(eb_list_preds_doprot[[1]])
save(eb_list_preds_doprot, file="./data/final_data/regression_outputs/eb_list_preds_doprot_w_new.RData")
# And the model with interactions
eb_complete$age_time <- eb_complete$age * eb_complete$time
eb_complete$sex_time <- as.numeric(eb_complete$sex) * eb_complete$time
eb_complete <- fastDummies::dummy_cols(eb_complete, select_columns = "isced_cat")
eb_complete$isced_basic_time <- eb_complete$isced_cat_Basic * eb_complete$time
eb_complete$isced_intermediate_time <- eb_complete$isced_cat_Intermediate * eb_complete$time
eb_complete$isced_advanced_time <- eb_complete$isced_cat_Advanced * eb_complete$time
interactions <- c("age_time", "sex_time", "isced_intermediate_time", "isced_advanced_time")
eb_list_interactions_doprot <- list()
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = "+ "))), sigma.formula = sigma.formula," + ", family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_interactions_doprot[[i]] <- eb_fit
}
summary(eb_list_interactions_doprot[[1]])
save(eb_list_interactions_doprot, file="./data/final_data/regression_outputs/eb_list_interactions_doprot_w_new.RData")
# Questions about environment asked in 2 waves
eb_complete <- eb_tot %>% dplyr::select(surveyyear, envp_eg, effr_eg, sex, isced, urban, age, weightvec, isced_cat)
eb_complete <- eb_complete %>% drop_na()
eb_complete$time <- eb_complete$surveyyear - min(eb_complete$surveyyear)
# First empty model
predictors <- c("time")
deps <- c("envp_eg", "effr_eg")
eb_list_empty_2011 <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_empty_2011[[i]] <- eb_fit
}
summary(eb_list_empty_2011[[1]])
save(eb_list_empty_2011, file="./data/final_data/regression_outputs/eb_list_empty_2011_w.RData")
# Model with predictors
predictors <- c("time", "sex", "isced_cat", "age")
deps <- c("envp_eg", "effr_eg")
eb_list_preds_2011 <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_preds_2011[[i]] <- eb_fit
}
summary(eb_list_preds_2011[[1]])
save(eb_list_preds_2011, file="./data/final_data/regression_outputs/eb_list_preds_2011_w_new.RData")
# And the model with interactions
eb_complete$age_time <- eb_complete$age * eb_complete$time
eb_complete$sex_time <- as.numeric(eb_complete$sex) * eb_complete$time
eb_complete <- fastDummies::dummy_cols(eb_complete, select_columns = "isced_cat")
eb_complete$isced_basic_time <- eb_complete$isced_cat_Basic * eb_complete$time
eb_complete$isced_intermediate_time <- eb_complete$isced_cat_Intermediate * eb_complete$time
eb_complete$isced_advanced_time <- eb_complete$isced_cat_Advanced * eb_complete$time
interactions <- c("age_time", "sex_time", "isced_intermediate_time", "isced_advanced_time")
eb_list_interactions_2011 <- list()
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = "+ "))), sigma.formula = sigma.formula," + ", family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_interactions_2011[[i]] <- eb_fit
}
summary(eb_list_interactions_2011[[1]])
save(eb_list_interactions_2011, file="./data/final_data/regression_outputs/eb_list_interactions_2011_w_new.RData")
# Questions about naming climate change a problem
eb_complete <- eb_tot %>% dplyr::select(surveyyear, cchange2, cchangetot, sex, isced, urban, age, weightvec, isced_cat)
eb_complete <- eb_complete %>% drop_na()
eb_complete$time <- eb_complete$surveyyear - min(eb_complete$surveyyear)
# First empty model
predictors <- c("time")
deps <- c("cchange2", "cchangetot")
eb_list_empty_cchange2 <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_empty_cchange2[[i]] <- eb_fit
}
summary(eb_list_empty_cchange2[[1]])
save(eb_list_empty_cchange2, file="./data/final_data/regression_outputs/eb_list_empty_cchange2_w.RData")
# Model with predictors
predictors <- c("time", "sex", "isced_cat", "age")
deps <- c("cchange2", "cchangetot")
eb_list_preds_cchange2 <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula,
family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_preds_cchange2[[i]] <- eb_fit
}
summary(eb_list_preds_cchange2[[1]])
save(eb_list_preds_cchange2, file="./data/final_data/regression_outputs/eb_list_preds_cchange2_w_new.RData")
# And the model with interactions
eb_complete$age_time <- eb_complete$age * eb_complete$time
eb_complete$sex_time <- as.numeric(eb_complete$sex) * eb_complete$time
eb_complete <- fastDummies::dummy_cols(eb_complete, select_columns = "isced_cat")
eb_complete$isced_basic_time <- eb_complete$isced_cat_Basic * eb_complete$time
eb_complete$isced_intermediate_time <- eb_complete$isced_cat_Intermediate * eb_complete$time
eb_complete$isced_advanced_time <- eb_complete$isced_cat_Advanced * eb_complete$time
interactions <- c("age_time", "sex_time", "isced_intermediate_time", "isced_advanced_time")
eb_list_interactions_cchange2 <- list()
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = "+ "))), sigma.formula = sigma.formula," + ", family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_interactions_cchange2[[i]] <- eb_fit
}
summary(eb_list_interactions_cchange2[[1]])
save(eb_list_interactions_cchange2, file="./data/final_data/regression_outputs/eb_list_interactions_cchange2_w_new.RData")
# Question about personal action taken
eb_complete <- eb_tot %>% dplyr::select(surveyyear, prsaction, sex, isced, urban, age, weightvec, isced_cat)
eb_complete <- eb_complete %>% drop_na()
eb_complete$time <- eb_complete$surveyyear - min(eb_complete$surveyyear)
# First empty model
predictors <- c("time")
deps <- c("prsaction")
eb_list_empty_prsaction <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_empty_prsaction[[i]] <- eb_fit
}
summary(eb_list_empty_prsaction[[1]])
save(eb_list_empty_prsaction, file="./data/final_data/regression_outputs/eb_list_empty_prsaction_w.RData")
# Model with predictors
predictors <- c("time", "sex", "isced_cat", "age")
deps <- c("prsaction")
eb_list_preds_prsaction <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_preds_prsaction[[i]] <- eb_fit
}
summary(eb_list_preds_prsaction[[1]])
save(eb_list_preds_prsaction, file="./data/final_data/regression_outputs/eb_list_preds_prsaction_w_new.RData")
# And the model with interactions
eb_complete$age_time <- eb_complete$age * eb_complete$time
eb_complete$sex_time <- as.numeric(eb_complete$sex) * eb_complete$time
eb_complete <- fastDummies::dummy_cols(eb_complete, select_columns = "isced_cat")
eb_complete$isced_basic_time <- eb_complete$isced_cat_Basic * eb_complete$time
eb_complete$isced_intermediate_time <- eb_complete$isced_cat_Intermediate * eb_complete$time
eb_complete$isced_advanced_time <- eb_complete$isced_cat_Advanced * eb_complete$time
interactions <- c("age_time", "sex_time", "isced_intermediate_time", "isced_advanced_time")
eb_list_interactions_prsaction <- list()
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = "+ "))), sigma.formula = sigma.formula," + ", family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_interactions_prsaction[[i]] <- eb_fit
}
summary(eb_list_interactions_prsaction[[1]])
save(eb_list_interactions_prsaction, file="./data/final_data/regression_outputs/eb_list_interactions_prsaction_w_new.RData")
# Last item, whether the city undertakes enough action
eb_complete <- eb_tot %>% dplyr::select(surveyyear, doprot_city, sex, isced, urban, age, weightvec, isced_cat)
eb_complete <- eb_complete %>% drop_na()
eb_complete$time <- eb_complete$surveyyear - min(eb_complete$surveyyear)
# First empty model
predictors <- c("time")
deps <- c("doprot_city")
eb_list_empty_doprot_city <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_empty_doprot_city[[i]] <- eb_fit
}
summary(eb_list_empty_doprot_city[[1]])
save(eb_list_empty_doprot_city, file="./data/final_data/regression_outputs/eb_list_empty_doprot_city_w.RData")
# Model with predictors
predictors <- c("time", "sex", "isced_cat", "age")
deps <- c("doprot_city")
eb_list_preds_doprot_city <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_preds_doprot_city[[i]] <- eb_fit
}
summary(eb_list_preds_doprot_city[[1]])
save(eb_list_preds_doprot_city, file="./data/final_data/regression_outputs/eb_list_preds_doprot_city_w_new.RData")
# And the model with interactions
eb_complete$age_time <- eb_complete$age * eb_complete$time
eb_complete$sex_time <- as.numeric(eb_complete$sex) * eb_complete$time
eb_complete <- fastDummies::dummy_cols(eb_complete, select_columns = "isced_cat")
eb_complete$isced_basic_time <- eb_complete$isced_cat_Basic * eb_complete$time
eb_complete$isced_intermediate_time <- eb_complete$isced_cat_Intermediate * eb_complete$time
eb_complete$isced_advanced_time <- eb_complete$isced_cat_Advanced * eb_complete$time
interactions <- c("age_time", "sex_time", "isced_intermediate_time", "isced_advanced_time")
eb_list_interactions_doprot_city <- list()
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = " + ")))
# Perform the linear regression
eb_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = "+ "))), sigma.formula = sigma.formula," + ", family=NO(mu.link = "identity", sigma.link = "identity"), data = eb_complete, weights = weightvec)
eb_list_interactions_doprot_city[[i]] <- eb_fit
}
summary(eb_list_interactions_doprot_city[[1]])
save(eb_list_interactions_doprot_city, file="./data/final_data/regression_outputs/eb_list_interactions_doprot_city_w_new.RData")
load("./data/final_data/mottotal.RData")
# Gamlss cannot handle NAs, so I have to listwise delete all of them
mot_complete <- mottotal %>% drop_na()
mot_complete$time <- mot_complete$surveyyear - min(mot_complete$surveyyear)
# I want to build models. In the empty model, I only want to include time.
predictors <- c("time")
deps <- c("cchange_mot", "worried_mot", "futuregen", "nowor", "ontime", "gov", "resp_gov", "resp_comp", "resp_mkb", "resp_citiz_mot", "resp_you", "pers_resp_mot", "sust_choice", "contr", "energy", "noidea", "motiv")
mot_list_empty <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression. The sigma formula pastes every variable one by one and calculates variance, the other formula shows the mean attitudes effects
mot_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = mot_complete, weights = weightvec)
mot_list_empty[[i]] <- mot_fit
}
summary(mot_list_empty[[8]])
save(mot_list_empty, file="./data/final_data/regression_outputs/mot_list_empty_w.RData")
#Estimate a second model with the indicators + time
predictors <- c("time", "sex", "isced_cat", "age")
deps <- c("cchange_mot", "worried_mot", "futuregen", "nowor", "ontime", "gov", "resp_gov", "resp_comp", "resp_mkb", "resp_citiz_mot", "resp_you", "pers_resp_mot", "sust_choice", "contr", "energy", "noidea", "motiv")
mot_list_preds <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regrmotion
mot_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = mot_complete, weights = weightvec)
mot_list_preds[[i]] <- mot_fit
}
summary(mot_list_preds[[1]])
save(mot_list_preds, file="./data/final_data/regression_outputs/mot_list_preds_w_new.RData")
#Now the last model with interaction of time on predictor variables
mot_complete$age_time <- mot_complete$age * mot_complete$time
mot_complete$sex_time <- as.numeric(mot_complete$sex) * mot_complete$time
mot_complete <- fastDummies::dummy_cols(mot_complete, select_columns = "isced_cat")
mot_complete$isced_basic_time <- mot_complete$isced_cat_Basic * mot_complete$time
mot_complete$isced_intermediate_time <- mot_complete$isced_cat_Intermediate * mot_complete$time
mot_complete$isced_advanced_time <- mot_complete$isced_cat_Advanced * mot_complete$time
interactions <- c("age_time", "sex_time", "isced_intermediate_time", "isced_advanced_time")
mot_list_interactions <- list()
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = " + ")))
# Perform the linear regrmotion
mot_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = "+ "))), sigma.formula = sigma.formula," + ", family=NO(mu.link = "identity", sigma.link = "identity"), data = mot_complete, weights = weightvec)
mot_list_interactions[[i]] <- mot_fit
}
summary(mot_list_interactions[[1]])
save(mot_list_interactions, file="./data/final_data/regression_outputs/mot_list_interactions_w_new.RData")
rm(list=ls())
load("./data/final_data/lisstotal.RData")
# Gamlss cannot handle NAs, so I have to listwise delete all of them
liss_complete <- lisstotal %>% drop_na()
liss_complete$time <- liss_complete$surveyyear - min(liss_complete$surveyyear)
# I want to build models. In the empty model, I only want to include time.
predictors <- c("time")
deps <- c("lifestyle")
liss_list_empty <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression. The sigma formula pastes every variable one by one and calculates variance, the other formula shows the mean attitudes effects
liss_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = liss_complete, weights = weightvec)
liss_list_empty[[i]] <- liss_fit
}
summary(liss_list_empty[[1]])
save(liss_list_empty, file="./data/final_data/regression_outputs/liss_list_empty_w.RData")
#Estimate a second model with the indicators + time
predictors <- c("time", "sex", "isced_cat", "age")
deps <- c("lifestyle")
liss_list_preds <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regrlission
liss_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = liss_complete, weights = weightvec)
liss_list_preds[[i]] <- liss_fit
}
summary(liss_list_preds[[1]])
save(liss_list_preds, file="./data/final_data/regression_outputs/liss_list_preds_w_new.RData")
#Now the last model with interaction of time on predictor variables
liss_complete$age_time <- liss_complete$age * liss_complete$time
liss_complete$sex_time <- as.numeric(liss_complete$sex) * liss_complete$time
liss_complete <- fastDummies::dummy_cols(liss_complete, select_columns = "isced_cat")
liss_complete$isced_basic_time <- liss_complete$isced_cat_Basic * liss_complete$time
liss_complete$isced_intermediate_time <- liss_complete$isced_cat_Intermediate * liss_complete$time
liss_complete$isced_advanced_time <- liss_complete$isced_cat_Advanced * liss_complete$time
interactions <- c("age_time", "sex_time", "isced_intermediate_time", "isced_advanced_time")
liss_list_interactions <- list()
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = " + ")))
# Perform the linear regression
liss_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = "+ "))), sigma.formula = sigma.formula," + ", family=NO(mu.link = "identity", sigma.link = "identity"), data = liss_complete, weights = weightvec)
liss_list_interactions[[i]] <- liss_fit
}
summary(liss_list_interactions[[1]])
save(liss_list_interactions, file="./data/final_data/regression_outputs/liss_list_interactions_w_new.RData")
rm(list=ls())
load("./data/final_data/socontotal.RData")
# Gamlss cannot handle NAs, so I have to listwise delete all of them
socon_complete <- socontotal %>% drop_na()
socon_complete$time <- socon_complete$surveyyear - min(socon_complete$surveyyear)
# I want to build models. In the empty model, I only want to include time.
predictors <- c("time")
deps <- c("fut_gen_socon")
socon_list_empty <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression. The sigma formula pastes every variable one by one and calculates variance, the other formula shows the mean attitudes effects
socon_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = socon_complete, weights = weightvec)
socon_list_empty[[i]] <- socon_fit
}
summary(socon_list_empty[[1]])
save(socon_list_empty, file="./data/final_data/regression_outputs/socon_list_empty_w.RData")
#Estimate a second model with the indicators + time
predictors <- c("time", "sex", "isced_cat", "age")
deps <- c("fut_gen_socon")
socon_list_preds <- list()
# Loop through each dependent variable
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + ")))
# Perform the linear regression
socon_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "))), sigma.formula = sigma.formula, family=NO(mu.link = "identity", sigma.link = "identity"), data = socon_complete, weights = weightvec)
socon_list_preds[[i]] <- socon_fit
}
summary(socon_list_preds[[1]])
save(socon_list_preds, file="./data/final_data/regression_outputs/socon_list_preds_w_new.RData")
#Now the last model with interaction of time on predictor variables
socon_complete$age_time <- socon_complete$age * socon_complete$time
socon_complete$sex_time <- as.numeric(socon_complete$sex) * socon_complete$time
socon_complete <- fastDummies::dummy_cols(socon_complete, select_columns = "isced_cat")
socon_complete$isced_basic_time <- socon_complete$isced_cat_Basic * socon_complete$time
socon_complete$isced_intermediate_time <- socon_complete$isced_cat_Intermediate * socon_complete$time
socon_complete$isced_advanced_time <- socon_complete$isced_cat_Advanced * socon_complete$time
interactions <- c("age_time", "sex_time", "isced_intermediate_time", "isced_advanced_time")
socon_list_interactions <- list()
for (i in 1:length(deps)) {
# Specify the sigma formula
sigma.formula <- as.formula(paste("~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = " + ")))
# Perform the linear regression
socon_fit <- gamlss(as.formula(paste(deps[i], "~", paste(predictors, collapse = " + "), " + ", paste(interactions, collapse = "+ "))), sigma.formula = sigma.formula," + ", family=NO(mu.link = "identity", sigma.link = "identity"), data = socon_complete, weights = weightvec)
socon_list_interactions[[i]] <- socon_fit
}
summary(socon_list_interactions[[1]])
save(socon_list_interactions, file="./data/final_data/regression_outputs/socon_list_interactions_w_new.RData")