getwd()
## [1] "C:/Users/Denis/Documents/RStudio"
setwd('C:/Users/Denis/Documents/RStudio')
sweden_data <- read.fst("sweden_data.fst")
# Populist scale (Norris/Inglehart use low levels of trust in parliaments, politicians and parties as an indicator of populism)
# Note: Schafer does it 2 ways, we will focus now on the most straightforward
# Setting values greater than 10 to NA
sweden_data$trstplt <- ifelse(sweden_data$trstplt > 10, NA, sweden_data$trstplt)
sweden_data$trstprl <- ifelse(sweden_data$trstprl > 10, NA, sweden_data$trstprl)
sweden_data$trstprt <- ifelse(sweden_data$trstprt > 10, NA, sweden_data$trstprt)
# Creating and rescaling the trust variable
sweden_data$trust <- scales::rescale(sweden_data$trstplt + sweden_data$trstprl + sweden_data$trstprt, na.rm = TRUE, to = c(0, 100))
# Here's how you would "flip it" because populist is conceived by N + I as 'anti-trust'
# As Schafer explains there are some issues with that conceptualization, but N + I is also widely applied
sweden_data$populist <- scales::rescale(sweden_data$trust, na.rm = TRUE, to=c(100,0))
ggplot(sweden_data, aes(x = populist)) +
geom_histogram(bins = 30, fill = "blue", color = "black") +
theme_minimal() +
labs(title = "Distribution of Populist Scale for sweden",
x = "Populist Scale",
y = "Count")
## Warning: Removed 2503 rows containing non-finite values (`stat_bin()`).
Task 1: The distribution shows us that majority falls around the 50-mark
on the Populist Scale.
sweden_data <- sweden_data %>%
mutate(
# Recoding populist attitude
gndr = case_when(
gndr == 1 ~ "Male",
gndr == 2 ~ "Female",
gndr == 9 ~ NA_character_,
TRUE ~ as.character(gndr)
),
# Recoding educational attainment
educ.ba = case_when(
essround < 5 & edulvla == 5 ~ "BA or more",
essround >= 5 & edulvlb > 600 ~ "BA or more",
TRUE ~ "No BA"
),
# Handle NAs for education attainment
edulvla = ifelse(edulvla %in% c(77, 88, 99), NA_integer_, edulvla),
edulvlb = ifelse(edulvlb %in% c(5555, 7777, 8888), NA_integer_, edulvlb),
# Explicitly making 'No BA' the reference category
educ.ba = factor(educ.ba, levels = c("No BA", "BA or more")),
# Recoding age, setting 999 to NA
age = ifelse(agea == 999, NA, agea),
# Recoding cohort variable, setting years before 1930 and after 2000 to NA
cohort = ifelse(yrbrn < 1930 | yrbrn > 2000, NA, yrbrn),
# Recoding generational cohorts based on year of birth
gen = case_when(
yrbrn %in% 1900:1945 ~ "1",
yrbrn %in% 1946:1964 ~ "2",
yrbrn %in% 1965:1979 ~ "3",
yrbrn %in% 1980:1996 ~ "4",
TRUE ~ as.character(cohort) # Keeping other values as character if they do not fit the ranges
),
# Converting cohort to a factor with labels
gen = factor(gen,
levels = c("1", "2", "3", "4"),
labels = c("Interwar", "Baby Boomers", "Gen X", "Millennials"))
)
table(sweden_data$gen)
##
## Interwar Baby Boomers Gen X Millennials
## 4021 5787 4263 3609
sweden_data <- sweden_data %>%
mutate(
ID = case_when(
lrscale %in% 0:4 ~ "Left", # This time: Values 0 to 3 in 'lrscale' are categorized as "Left"
lrscale %in% 6:10 ~ "Right", # This time: Values 6 to 10 in 'lrscale' are categorized as "Right"
lrscale %in% c(77, 88, 99) ~ NA_character_, # Values 77, 88, 99 in 'lrscale' are set as NA
TRUE ~ NA_character_ # Any other values not explicitly matched above
)
)
table(sweden_data$ID)
##
## Left Right
## 6188 7406
sweden_pop_model <- lm(populist ~ ID, data = sweden_data)
coefficients_sweden <- coef(sweden_pop_model)
print(coefficients_sweden)
## (Intercept) IDRight
## 48.3188406 -0.7149274
tidy(sweden_pop_model)
## # A tibble: 2 × 5
## term estimate std.error statistic p.value
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 (Intercept) 48.3 0.265 183. 0
## 2 IDRight -0.715 0.356 -2.01 0.0444
tidy(sweden_pop_model) |>
knitr::kable(digits = 3)
|
term
|
estimate
|
std.error
|
statistic
|
p.value
|
|
(Intercept)
|
48.319
|
0.265
|
182.562
|
0.000
|
|
IDRight
|
-0.715
|
0.356
|
-2.011
|
0.044
|
summary(sweden_pop_model)
##
## Call:
## lm(formula = populist ~ ID, data = sweden_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -48.319 -14.271 -1.652 12.396 52.396
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 48.3188 0.2647 182.562 <2e-16 ***
## IDRight -0.7149 0.3555 -2.011 0.0444 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 19.25 on 11864 degrees of freedom
## (6350 observations deleted due to missingness)
## Multiple R-squared: 0.0003407, Adjusted R-squared: 0.0002565
## F-statistic: 4.044 on 1 and 11864 DF, p-value: 0.04436
Task 2: The intercept (48.3) reflects the level of populism, and the
lower score means that attitudes are weaker. The IDRight coefficient
(-0.7) reflects a stronger divide between left and right leaning groups.
The p-value is less than 0.5 which means that it is not statistically
significant.
df <- read.fst("italy_data.fst")
## Creates an authoritarian values scale based on human modules items (can also do libertarian value scale)
df <- df %>%
mutate(behave = ipbhprp,
secure = impsafe,
safety = ipstrgv,
tradition = imptrad,
rules = ipfrule) %>%
mutate(across(c("behave", "secure", "safety", "tradition", "rules"),
~ na_if(.x, 7) %>% na_if(8) %>% na_if(9))) %>%
# Apply the reverse coding
mutate(across(c("behave", "secure", "safety", "tradition", "rules"), ~ 7 - .x ))
# Now you can calculate 'schwartzauth' after the NA recoding
df$auth <- scales::rescale(df$behave +
df$secure +
df$safety +
df$tradition +
df$rules, to=c(0,100), na.rm=TRUE)
df <- df %>% filter(!is.na(auth))
table(df$secure)
##
## 1 2 3 4 5 6
## 54 139 626 1856 2876 2881
table(df$auth)
##
## 0 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84
## 7 4 4 9 13 20 27 57 113 155 163 323 367 596 647 789 823 897 992 733
## 88 92 96 100
## 632 465 299 297
ggplot(df, aes(x = auth)) +
geom_histogram(bins = 30, fill = "blue", color = "black") +
theme_minimal() +
labs(title = "Distribution of Authoritarian Scale for Italy",
x = "Authoritarian Scale",
y = "Count")

df$year <- NA
replacements <- c(2002, 2004, 2006, 2008, 2010, 2012, 2014, 2016, 2018, 2020)
for(i in 1:10){
df$year[df$essround == i] <- replacements[i]
}
auth_avg <- df %>%
group_by(year) %>%
summarize(auth_avg = mean(auth, na.rm = TRUE))
plot_auth <- ggplot(auth_avg, aes(x = year, y = auth_avg)) +
geom_point(aes(color = auth_avg), alpha = 1.0) +
geom_line(aes(group = 1), color = "blue", linetype = "dashed") +
labs(title = "Authoritarian Scale Average by Year (Italy)",
x = "Survey Year",
y = "Authoritarian Scale Average") +
theme_minimal() +
theme(legend.position = "none") +
scale_y_continuous(limits = c(0, 100))
print(plot_auth)
Task 3: The distribution of the Authoritarian Scale shows stronger
attitudes, at the 75 mark. The trend for the Scale Average by Year shows
slight decline with each passing year, attitudes are slowly
weakening.
df <- read.fst("italy_data.fst")
## Creates an authoritarian values scale based on human modules items (can also do libertarian value scale)
df <- df %>%
mutate(behave = ipbhprp,
secure = impsafe,
safety = ipstrgv,
tradition = imptrad,
rules = ipfrule) %>%
mutate(across(c("behave", "secure", "safety", "tradition", "rules"),
~ na_if(.x, 7) %>% na_if(8) %>% na_if(9))) %>%
# Apply the reverse coding
mutate(across(c("behave", "secure", "safety", "tradition", "rules"), ~ 7 - .x ))
# Now you can calculate 'schwartzauth' after the NA recoding
df$auth <- scales::rescale(df$behave +
df$secure +
df$safety +
df$tradition +
df$rules, to=c(0,100), na.rm=TRUE)
df <- df %>% filter(!is.na(auth))
table(df$secure)
##
## 1 2 3 4 5 6
## 54 139 626 1856 2876 2881
table(df$auth)
##
## 0 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84
## 7 4 4 9 13 20 27 57 113 155 163 323 367 596 647 789 823 897 992 733
## 88 92 96 100
## 632 465 299 297
ggplot(df, aes(x = auth)) +
geom_histogram(bins = 30, fill = "blue", color = "black") +
theme_minimal() +
labs(title = "Distribution of Authoritarian Scale for italy",
x = "Authoritarian Scale",
y = "Count")

df$year <- NA
replacements <- c(2002, 2004, 2006, 2008, 2010, 2012, 2014, 2016, 2018, 2020)
for(i in 1:10){
df$year[df$essround == i] <- replacements[i]
}
auth_avg <- df %>%
group_by(year) %>%
summarize(auth_avg = mean(auth, na.rm = TRUE))
plot_auth <- ggplot(auth_avg, aes(x = year, y = auth_avg)) +
geom_point(aes(color = auth_avg), alpha = 1.0) +
geom_line(aes(group = 1), color = "blue", linetype = "dashed") +
labs(title = "Authoritarian Scale Average by Year (italy)",
x = "Survey Year",
y = "Authoritarian Scale Average") +
theme_minimal() +
theme(legend.position = "none") +
scale_y_continuous(limits = c(0, 100))
print(plot_auth)

model_data <- df %>%
mutate(
# Recoding gender
gndr = case_when(
gndr == 1 ~ "Male",
gndr == 2 ~ "Female",
gndr == 9 ~ NA_character_,
TRUE ~ as.character(gndr)
),
# Recoding education
educ.ba = case_when(
essround < 5 & edulvla == 5 ~ "BA or more",
essround >= 5 & edulvlb > 600 ~ "BA or more",
TRUE ~ "No BA"
),
# Handle NAs for education levels
edulvla = ifelse(edulvla %in% c(77, 88, 99), NA_integer_, edulvla),
edulvlb = ifelse(edulvlb %in% c(5555, 7777, 8888), NA_integer_, edulvlb),
# Explicitly making 'No BA' the reference category
educ.ba = factor(educ.ba, levels = c("No BA", "BA or more")),
# Recoding age, setting 999 to NA
age = ifelse(agea == 999, NA, agea),
# Recoding cohort variable, setting years before 1930 and after 2000 to NA
cohort = ifelse(yrbrn < 1930 | yrbrn > 2000, NA, yrbrn),
# Recoding generational cohorts based on year of birth
gen = case_when(
yrbrn %in% 1900:1945 ~ "1",
yrbrn %in% 1946:1964 ~ "2",
yrbrn %in% 1965:1979 ~ "3",
yrbrn %in% 1980:1996 ~ "4",
TRUE ~ as.character(cohort) # Keeping other values as character if they do not fit the ranges
),
# Converting cohort to a factor with labels
gen = factor(gen,
levels = c("1", "2", "3", "4"),
labels = c("Interwar", "Baby Boomers", "Gen X", "Millennials"))
)
table(model_data$gen)
##
## Interwar Baby Boomers Gen X Millennials
## 1026 2580 2214 1811
model1 <- lm(auth ~ gen, data = model_data)
model2 <- lm(auth ~ gndr, data = model_data)
model3 <- lm(auth ~ educ.ba, data = model_data)
modelsummary(
list(model1),
fmt = 1,
estimate = c( "{estimate} ({std.error}){stars}"),
statistic = NULL,
coef_omit = "Intercept")
|
|
(1)
|
|
genBaby Boomers
|
−1.1 (0.6)*
|
|
genGen X
|
−2.1 (0.6)***
|
|
genMillennials
|
−3.6 (0.6)***
|
|
Num.Obs.
|
7631
|
|
R2
|
0.006
|
|
R2 Adj.
|
0.006
|
|
AIC
|
62934.0
|
|
BIC
|
62968.7
|
|
Log.Lik.
|
−31462.009
|
|
RMSE
|
14.94
|
models <- list(
"Model 1" = lm(auth ~ gen, data = model_data),
"Model 2" = lm(auth ~ gndr, data = model_data),
"Model 3" = lm(auth ~ educ.ba, data = model_data))
modelsummary(models, fmt = 1,
estimate = c("{estimate} ({std.error}){stars}",
"{estimate} ({std.error}){stars}",
"{estimate} ({std.error}){stars}"),
statistic = NULL)
|
|
Model 1
|
Model 2
|
Model 3
|
|
(Intercept)
|
75.3 (0.5)***
|
74.4 (0.2)***
|
73.3 (0.2)***
|
|
genBaby Boomers
|
−1.1 (0.6)*
|
|
|
|
genGen X
|
−2.1 (0.6)***
|
|
|
|
genMillennials
|
−3.6 (0.6)***
|
|
|
|
gndrMale
|
|
−2.6 (0.3)***
|
|
|
educ.baBA or more
|
|
|
−1.1 (0.4)*
|
|
Num.Obs.
|
7631
|
8432
|
8432
|
|
R2
|
0.006
|
0.007
|
0.001
|
|
R2 Adj.
|
0.006
|
0.007
|
0.001
|
|
AIC
|
62934.0
|
69523.1
|
69579.5
|
|
BIC
|
62968.7
|
69544.3
|
69600.6
|
|
Log.Lik.
|
−31462.009
|
−34758.566
|
−34786.739
|
|
RMSE
|
14.94
|
14.93
|
14.98
|
modelsummary(models, fmt = 1,
estimate = c("{estimate} ({std.error}){stars}",
"{estimate} ({std.error}){stars}",
"{estimate} ({std.error}){stars}"),
statistic = NULL,
coef_rename = c("genBaby Boomers" = "Baby Boomers", "genGen X" = "Gen X", "genMillennials" = "Millennials", "gndrMale" = "Male", "educ.baBA or more" = "BA or More"),
title = 'Table 2. Regression models for authoritarian attitudes')
Table 2. Regression models for authoritarian attitudes
|
|
Model 1
|
Model 2
|
Model 3
|
|
(Intercept)
|
75.3 (0.5)***
|
74.4 (0.2)***
|
73.3 (0.2)***
|
|
Baby Boomers
|
−1.1 (0.6)*
|
|
|
|
Gen X
|
−2.1 (0.6)***
|
|
|
|
Millennials
|
−3.6 (0.6)***
|
|
|
|
Male
|
|
−2.6 (0.3)***
|
|
|
BA or More
|
|
|
−1.1 (0.4)*
|
|
Num.Obs.
|
7631
|
8432
|
8432
|
|
R2
|
0.006
|
0.007
|
0.001
|
|
R2 Adj.
|
0.006
|
0.007
|
0.001
|
|
AIC
|
62934.0
|
69523.1
|
69579.5
|
|
BIC
|
62968.7
|
69544.3
|
69600.6
|
|
Log.Lik.
|
−31462.009
|
−34758.566
|
−34786.739
|
|
RMSE
|
14.94
|
14.93
|
14.98
|
Task 4: The adjusted R-squared is 0.006, which indicates a very weak
influence on the dependent variable. The coefficients are 4.1, 6.0, and
10.3 points lower which make them statistically significant.
df <- read.fst("greece_data.fst")
## Creates an authoritarian values scale based on human modules items (can also do libertarian value scale)
df <- df %>%
mutate(behave = ipbhprp,
secure = impsafe,
safety = ipstrgv,
tradition = imptrad,
rules = ipfrule) %>%
mutate(across(c("behave", "secure", "safety", "tradition", "rules"),
~ na_if(.x, 7) %>% na_if(8) %>% na_if(9))) %>%
# Apply the reverse coding
mutate(across(c("behave", "secure", "safety", "tradition", "rules"), ~ 7 - .x ))
# Now you can calculate 'schwartzauth' after the NA recoding
df$auth <- scales::rescale(df$behave +
df$secure +
df$safety +
df$tradition +
df$rules, to=c(0,100), na.rm=TRUE)
df <- df %>% filter(!is.na(auth))
table(df$secure)
##
## 1 2 3 4 5 6
## 44 216 548 1345 3922 6228
table(df$auth)
##
## 0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60
## 2 3 1 3 4 11 11 28 43 73 105 170 224 324 413 602
## 64 68 72 76 80 84 88 92 96 100
## 700 806 1004 1202 1449 1395 1273 1070 794 593
ggplot(df, aes(x = auth)) +
geom_histogram(bins = 30, fill = "blue", color = "black") +
theme_minimal() +
labs(title = "Distribution of Authoritarian Scale for Greece",
x = "Authoritarian Scale",
y = "Count")

df$year <- NA
replacements <- c(2002, 2004, 2006, 2008, 2010, 2012, 2014, 2016, 2018, 2020)
for(i in 1:10){
df$year[df$essround == i] <- replacements[i]
}
auth_avg <- df %>%
group_by(year) %>%
summarize(auth_avg = mean(auth, na.rm = TRUE))
plot_auth <- ggplot(auth_avg, aes(x = year, y = auth_avg)) +
geom_point(aes(color = auth_avg), alpha = 1.0) +
geom_line(aes(group = 1), color = "blue", linetype = "dashed") +
labs(title = "Authoritarian Scale Average by Year (Greece)",
x = "Survey Year",
y = "Authoritarian Scale Average") +
theme_minimal() +
theme(legend.position = "none") +
scale_y_continuous(limits = c(0, 100))
print(plot_auth)

model_data <- df %>%
mutate(
# Recoding gender
gndr = case_when(
gndr == 1 ~ "Male",
gndr == 2 ~ "Female",
gndr == 9 ~ NA_character_,
TRUE ~ as.character(gndr)
),
# Recoding education
educ.ba = case_when(
essround < 5 & edulvla == 5 ~ "BA or more",
essround >= 5 & edulvlb > 600 ~ "BA or more",
TRUE ~ "No BA"
),
# Handle NAs for education levels
edulvla = ifelse(edulvla %in% c(77, 88, 99), NA_integer_, edulvla),
edulvlb = ifelse(edulvlb %in% c(5555, 7777, 8888), NA_integer_, edulvlb),
# Explicitly making 'No BA' the reference category
educ.ba = factor(educ.ba, levels = c("No BA", "BA or more")),
# Recoding age, setting 999 to NA
age = ifelse(agea == 999, NA, agea),
# Recoding cohort variable, setting years before 1930 and after 2000 to NA
cohort = ifelse(yrbrn < 1930 | yrbrn > 2000, NA, yrbrn),
# Recoding generational cohorts based on year of birth
gen = case_when(
yrbrn %in% 1900:1945 ~ "1",
yrbrn %in% 1946:1964 ~ "2",
yrbrn %in% 1965:1979 ~ "3",
yrbrn %in% 1980:1996 ~ "4",
TRUE ~ as.character(cohort) # Keeping other values as character if they do not fit the ranges
),
# Converting cohort to a factor with labels
gen = factor(gen,
levels = c("1", "2", "3", "4"),
labels = c("Interwar", "Baby Boomers", "Gen X", "Millennials"))
)
table(model_data$gen)
##
## Interwar Baby Boomers Gen X Millennials
## 2909 3420 3434 2279
model1 <- lm(auth ~ gen, data = model_data)
model2 <- lm(auth ~ gndr, data = model_data)
model3 <- lm(auth ~ educ.ba, data = model_data)
modelsummary(
list(model1),
fmt = 1,
estimate = c( "{estimate} ({std.error}){stars}"),
statistic = NULL,
coef_omit = "Intercept")
|
|
(1)
|
|
genBaby Boomers
|
−4.1 (0.4)***
|
|
genGen X
|
−6.0 (0.4)***
|
|
genMillennials
|
−10.3 (0.4)***
|
|
Num.Obs.
|
12042
|
|
R2
|
0.054
|
|
R2 Adj.
|
0.054
|
|
AIC
|
98536.4
|
|
BIC
|
98573.4
|
|
Log.Lik.
|
−49263.205
|
|
RMSE
|
14.47
|
modelsummary(
list(model1),
fmt = 1,
estimate = c( "{estimate} ({std.error}){stars}"),
statistic = NULL,
coef_omit = "Intercept")
|
|
(1)
|
|
genBaby Boomers
|
−4.1 (0.4)***
|
|
genGen X
|
−6.0 (0.4)***
|
|
genMillennials
|
−10.3 (0.4)***
|
|
Num.Obs.
|
12042
|
|
R2
|
0.054
|
|
R2 Adj.
|
0.054
|
|
AIC
|
98536.4
|
|
BIC
|
98573.4
|
|
Log.Lik.
|
−49263.205
|
|
RMSE
|
14.47
|
models <- list(
"Model 1" = lm(auth ~ gen, data = model_data),
"Model 2" = lm(auth ~ gndr, data = model_data),
"Model 3" = lm(auth ~ educ.ba, data = model_data))
modelsummary(models, fmt = 1,
estimate = c("{estimate} ({std.error}){stars}",
"{estimate} ({std.error}){stars}",
"{estimate} ({std.error}){stars}"),
statistic = NULL)
|
|
Model 1
|
Model 2
|
Model 3
|
|
(Intercept)
|
82.0 (0.3)***
|
77.8 (0.2)***
|
77.4 (0.2)***
|
|
genBaby Boomers
|
−4.1 (0.4)***
|
|
|
|
genGen X
|
−6.0 (0.4)***
|
|
|
|
genMillennials
|
−10.3 (0.4)***
|
|
|
|
gndrMale
|
|
−2.0 (0.3)***
|
|
|
educ.baBA or more
|
|
|
−2.4 (0.3)***
|
|
Num.Obs.
|
12042
|
12303
|
12303
|
|
R2
|
0.054
|
0.005
|
0.004
|
|
R2 Adj.
|
0.054
|
0.004
|
0.004
|
|
AIC
|
98536.4
|
101489.4
|
101493.3
|
|
BIC
|
98573.4
|
101511.7
|
101515.6
|
|
Log.Lik.
|
−49263.205
|
−50741.707
|
−50743.669
|
|
RMSE
|
14.47
|
14.96
|
14.96
|
modelplot(models, coef_omit = 'Interc')

modelsummary(models, fmt = 1,
estimate = c("{estimate} ({std.error}){stars}",
"{estimate} ({std.error}){stars}",
"{estimate} ({std.error}){stars}"),
statistic = NULL,
coef_rename = c("genBaby Boomers" = "Baby Boomers", "genGen X" = "Gen X", "genMillennials" = "Millennials", "gndrMale" = "Male", "educ.baBA or more" = "BA or More"),
title = 'Table 2. Regression models for authoritarian attitudes')
Table 2. Regression models for authoritarian attitudes
|
|
Model 1
|
Model 2
|
Model 3
|
|
(Intercept)
|
82.0 (0.3)***
|
77.8 (0.2)***
|
77.4 (0.2)***
|
|
Baby Boomers
|
−4.1 (0.4)***
|
|
|
|
Gen X
|
−6.0 (0.4)***
|
|
|
|
Millennials
|
−10.3 (0.4)***
|
|
|
|
Male
|
|
−2.0 (0.3)***
|
|
|
BA or More
|
|
|
−2.4 (0.3)***
|
|
Num.Obs.
|
12042
|
12303
|
12303
|
|
R2
|
0.054
|
0.005
|
0.004
|
|
R2 Adj.
|
0.054
|
0.004
|
0.004
|
|
AIC
|
98536.4
|
101489.4
|
101493.3
|
|
BIC
|
98573.4
|
101511.7
|
101515.6
|
|
Log.Lik.
|
−49263.205
|
−50741.707
|
−50743.669
|
|
RMSE
|
14.47
|
14.96
|
14.96
|
Task 5: The generation model (coefficient of -2.4) shows a score of
2.4 below the authoritarian scale (0-100). But variance is 0.4,
indicating a weak influence. There is not much statistical
significance.
ls()
## [1] "auth_avg" "coefficients_sweden" "df"
## [4] "i" "model_data" "model1"
## [7] "model2" "model3" "models"
## [10] "new_packages" "packages" "plot_auth"
## [13] "replacements" "sweden_data" "sweden_pop_model"
exists("models")
## [1] TRUE