Sample descriptives

Building

Overview over variables overall and per country

## overview over new variables
describe(dEU[, c("build_pa", "build_se", "build_oe", "build_pn", "willdown", "willkitchen", "willbath")])
##             vars    n mean   sd median trimmed  mad min max range skew kurtosis
## build_pa       1 5651 3.09 1.68    3.0    2.95 1.48   1   7     6 0.40    -0.70
## build_se       2 5651 3.41 1.83    3.5    3.31 2.22   1   7     6 0.24    -0.96
## build_oe       3 5651 3.08 1.75    3.0    2.94 2.22   1   7     6 0.39    -0.82
## build_pn       4 5651 2.68 1.70    2.0    2.47 1.48   1   7     6 0.72    -0.46
## willdown       5 5651 3.24 2.03    3.0    3.05 2.97   1   7     6 0.42    -1.09
## willkitchen    6 5632 2.01 1.71    1.0    1.62 0.00   1   7     6 1.65     1.59
## willbath       7 5624 1.89 1.63    1.0    1.49 0.00   1   7     6 1.85     2.35
##               se
## build_pa    0.02
## build_se    0.02
## build_oe    0.02
## build_pn    0.02
## willdown    0.03
## willkitchen 0.02
## willbath    0.02
#per country
describeBy(dEU[, c("build_pa", "build_se", "build_oe", "build_pn", "willdown", "willkitchen", "willbath")], group = dEU$country) 
## 
##  Descriptive statistics by group 
## group: UK
##             vars    n mean   sd median trimmed  mad min max range skew kurtosis
## build_pa       1 1053 3.26 1.73    3.0    3.14 1.48   1   7     6 0.36    -0.72
## build_se       2 1053 3.91 1.88    4.0    3.88 2.22   1   7     6 0.00    -1.04
## build_oe       3 1053 3.39 1.81    3.5    3.28 2.22   1   7     6 0.25    -0.91
## build_pn       4 1053 2.91 1.81    2.5    2.71 2.22   1   7     6 0.60    -0.69
## willdown       5 1053 3.38 2.13    3.0    3.22 2.97   1   7     6 0.34    -1.25
## willkitchen    6 1050 2.07 1.84    1.0    1.65 0.00   1   7     6 1.59     1.20
## willbath       7 1050 1.97 1.75    1.0    1.55 0.00   1   7     6 1.73     1.71
##               se
## build_pa    0.05
## build_se    0.06
## build_oe    0.06
## build_pn    0.06
## willdown    0.07
## willkitchen 0.06
## willbath    0.05
## ------------------------------------------------------------ 
## group: Germany
##             vars    n mean   sd median trimmed  mad min max range skew kurtosis
## build_pa       1 1100 3.26 1.75    3.5    3.17 2.22   1   7     6 0.18    -1.04
## build_se       2 1100 3.58 1.86    4.0    3.53 2.22   1   7     6 0.03    -1.13
## build_oe       3 1100 3.07 1.80    3.0    2.93 2.97   1   7     6 0.34    -1.05
## build_pn       4 1100 2.50 1.69    2.0    2.26 1.48   1   7     6 0.84    -0.45
## willdown       5 1100 3.27 2.01    3.0    3.12 2.97   1   7     6 0.33    -1.19
## willkitchen    6 1099 1.91 1.64    1.0    1.53 0.00   1   7     6 1.71     1.69
## willbath       7 1099 1.74 1.50    1.0    1.35 0.00   1   7     6 2.04     3.07
##               se
## build_pa    0.05
## build_se    0.06
## build_oe    0.05
## build_pn    0.05
## willdown    0.06
## willkitchen 0.05
## willbath    0.05
## ------------------------------------------------------------ 
## group: Netherlands
##             vars    n mean   sd median trimmed  mad min max range skew kurtosis
## build_pa       1 1081 2.92 1.62    3.0    2.77 1.48   1   7     6 0.50    -0.53
## build_se       2 1081 3.35 1.81    3.5    3.25 2.22   1   7     6 0.24    -1.01
## build_oe       3 1081 2.94 1.68    3.0    2.79 2.22   1   7     6 0.44    -0.82
## build_pn       4 1081 2.40 1.58    2.0    2.16 1.48   1   7     6 0.93    -0.06
## willdown       5 1081 3.23 2.10    3.0    3.03 2.97   1   7     6 0.45    -1.15
## willkitchen    6 1075 1.80 1.59    1.0    1.39 0.00   1   7     6 2.04     3.10
## willbath       7 1076 1.69 1.52    1.0    1.27 0.00   1   7     6 2.32     4.34
##               se
## build_pa    0.05
## build_se    0.06
## build_oe    0.05
## build_pn    0.05
## willdown    0.06
## willkitchen 0.05
## willbath    0.05
## ------------------------------------------------------------ 
## group: Italy
##             vars    n mean   sd median trimmed  mad min max range skew kurtosis
## build_pa       1 1409 2.98 1.62    3.0    2.84 1.48   1   7     6 0.48    -0.54
## build_se       2 1409 3.24 1.77    3.0    3.10 2.22   1   7     6 0.40    -0.72
## build_oe       3 1409 3.07 1.69    3.0    2.93 2.22   1   7     6 0.43    -0.67
## build_pn       4 1409 2.81 1.65    2.5    2.63 2.22   1   7     6 0.64    -0.41
## willdown       5 1409 3.32 1.95    3.0    3.17 2.97   1   7     6 0.37    -1.01
## willkitchen    6 1408 2.11 1.69    1.0    1.75 0.00   1   7     6 1.50     1.23
## willbath       7 1400 1.97 1.59    1.0    1.62 0.00   1   7     6 1.69     2.01
##               se
## build_pa    0.04
## build_se    0.05
## build_oe    0.05
## build_pn    0.04
## willdown    0.05
## willkitchen 0.04
## willbath    0.04
## ------------------------------------------------------------ 
## group: Lithuania
##             vars    n mean   sd median trimmed  mad min max range skew kurtosis
## build_pa       1 1008 3.05 1.70    3.0    2.90 1.48   1   7     6 0.44    -0.61
## build_se       2 1008 3.01 1.69    3.0    2.86 2.22   1   7     6 0.46    -0.63
## build_oe       3 1008 2.95 1.73    3.0    2.78 2.22   1   7     6 0.49    -0.67
## build_pn       4 1008 2.78 1.72    2.5    2.59 2.22   1   7     6 0.60    -0.60
## willdown       5 1008 2.94 1.96    3.0    2.71 2.97   1   7     6 0.65    -0.73
## willkitchen    6 1000 2.16 1.77    1.0    1.78 0.00   1   7     6 1.49     1.18
## willbath       7  999 2.09 1.75    1.0    1.71 0.00   1   7     6 1.57     1.37
##               se
## build_pa    0.05
## build_se    0.05
## build_oe    0.05
## build_pn    0.05
## willdown    0.06
## willkitchen 0.06
## willbath    0.06

Checking for differences in variables

Country

library(effectsize)
## 
## Attaching package: 'effectsize'
## The following object is masked from 'package:xtable':
## 
##     display
## The following object is masked from 'package:psych':
## 
##     phi
# Problem awareness
aov_build_pa <- aov(build_pa ~ country, data = dEU)
summary(aov_build_pa) #sig
##               Df Sum Sq Mean Sq F value  Pr(>F)    
## country        4    114   28.61   10.15 3.5e-08 ***
## Residuals   5646  15919    2.82                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
eta_squared(aov_build_pa, partial = FALSE) # = 0.004
## # Effect Size for ANOVA (Type I)
## 
## Parameter |     Eta2 |       95% CI
## -----------------------------------
## country   | 7.14e-03 | [0.00, 1.00]
## 
## - One-sided CIs: upper bound fixed at [1.00].
# Self-efficacy
aov_build_se <- aov(build_se ~ country, data = dEU)
summary(aov_build_se) #sig.
##               Df Sum Sq Mean Sq F value Pr(>F)    
## country        4    494  123.50      38 <2e-16 ***
## Residuals   5646  18348    3.25                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
eta_squared(aov_build_se, partial = FALSE) # = 0.03
## # 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].
# Outcome efficacy
aov_build_oe <- aov(build_oe ~ country, data = dEU)
summary(aov_build_oe) #sig
##               Df Sum Sq Mean Sq F value   Pr(>F)    
## country        4    137   34.14   11.27 4.15e-09 ***
## Residuals   5646  17103    3.03                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
eta_squared(aov_build_oe, partial = FALSE) # = 0.004
## # Effect Size for ANOVA (Type I)
## 
## Parameter |     Eta2 |       95% CI
## -----------------------------------
## country   | 7.92e-03 | [0.00, 1.00]
## 
## - One-sided CIs: upper bound fixed at [1.00].
# Personal norms
aov_build_pn <- aov(build_pn ~ country, data = dEU)
summary(aov_build_pn) # not sig.
##               Df Sum Sq Mean Sq F value   Pr(>F)    
## country        4    216   54.10   18.97 1.64e-15 ***
## Residuals   5646  16098    2.85                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Downsize
aov_willdown <- aov(willdown ~ country, data = dEU)
summary(aov_willdown) #sig.
##               Df Sum Sq Mean Sq F value   Pr(>F)    
## country        4    117  29.337   7.143 9.85e-06 ***
## Residuals   5646  23188   4.107                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
eta_squared(aov_willdown, partial = FALSE) # = 0.003
## # Effect Size for ANOVA (Type I)
## 
## Parameter |     Eta2 |       95% CI
## -----------------------------------
## country   | 5.04e-03 | [0.00, 1.00]
## 
## - One-sided CIs: upper bound fixed at [1.00].
# Share spaces
aov_willkitchen <- aov(willkitchen ~ country, data = dEU)
summary(aov_willkitchen) # not sig.
##               Df Sum Sq Mean Sq F value   Pr(>F)    
## country        4    100  24.973   8.616 6.28e-07 ***
## Residuals   5627  16310   2.899                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 19 observations deleted due to missingness
aov_willbath <- aov(willbath ~ country, data = dEU)
summary(aov_willbath) # not sig.
##               Df Sum Sq Mean Sq F value  Pr(>F)    
## country        4    125   31.35   11.92 1.2e-09 ***
## Residuals   5619  14777    2.63                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 27 observations deleted due to missingness

Overall, there are hardly any country differences between the variables, especially in the influencing factors. There are slight differences in the willingness.

Dwelling

library(effectsize)

# Problem awareness
aov_build_pa <- aov(build_pa ~ dwelling_messageix, data = dEU)
summary(aov_build_pa) #not sig
##                      Df Sum Sq Mean Sq F value Pr(>F)  
## dwelling_messageix    1     13  13.089   4.615 0.0317 *
## Residuals          5649  16020   2.836                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Self-efficacy
aov_build_se <- aov(build_se ~ dwelling_messageix, data = dEU)
summary(aov_build_se) #sig.
##                      Df Sum Sq Mean Sq F value  Pr(>F)   
## dwelling_messageix    1     24  23.964   7.194 0.00734 **
## Residuals          5649  18818   3.331                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
eta_squared(aov_build_se, partial = FALSE) # = 0.001
## # Effect Size for ANOVA (Type I)
## 
## Parameter          |     Eta2 |       95% CI
## --------------------------------------------
## dwelling_messageix | 1.27e-03 | [0.00, 1.00]
## 
## - One-sided CIs: upper bound fixed at [1.00].
# Outcome efficacy
aov_build_oe <- aov(build_oe ~ dwelling_messageix, data = dEU)
summary(aov_build_oe) #not sig
##                      Df Sum Sq Mean Sq F value Pr(>F)
## dwelling_messageix    1      2   1.760   0.577  0.448
## Residuals          5649  17238   3.051
# Personal norms
aov_build_pn <- aov(build_pn ~ dwelling_messageix, data = dEU)
summary(aov_build_pn) # not sig.
##                      Df Sum Sq Mean Sq F value Pr(>F)
## dwelling_messageix    1      0  0.1865   0.065  0.799
## Residuals          5649  16315  2.8880
# Downsize
aov_willdown <- aov(willdown ~ dwelling_messageix, data = dEU)
summary(aov_willdown) #sig.
##                      Df Sum Sq Mean Sq F value   Pr(>F)    
## dwelling_messageix    1    137   136.6   33.31 8.29e-09 ***
## Residuals          5649  23169     4.1                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
eta_squared(aov_willdown, partial = FALSE) # = 0.006
## # Effect Size for ANOVA (Type I)
## 
## Parameter          |     Eta2 |       95% CI
## --------------------------------------------
## dwelling_messageix | 5.86e-03 | [0.00, 1.00]
## 
## - One-sided CIs: upper bound fixed at [1.00].
# Share spaces
aov_willkitchen <- aov(willkitchen ~ dwelling_messageix, data = dEU)
summary(aov_willkitchen) # not sig.
##                      Df Sum Sq Mean Sq F value   Pr(>F)    
## dwelling_messageix    1     40   39.91   13.73 0.000213 ***
## Residuals          5630  16370    2.91                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 19 observations deleted due to missingness
eta_squared(aov_willkitchen, partial = FALSE) # = 0.002
## # Effect Size for ANOVA (Type I)
## 
## Parameter          |     Eta2 |       95% CI
## --------------------------------------------
## dwelling_messageix | 2.43e-03 | [0.00, 1.00]
## 
## - One-sided CIs: upper bound fixed at [1.00].
aov_willbath <- aov(willbath ~ dwelling_messageix, data = dEU)
summary(aov_willbath) # not sig.
##                      Df Sum Sq Mean Sq F value Pr(>F)   
## dwelling_messageix    1     28  27.784    10.5 0.0012 **
## Residuals          5622  14875   2.646                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 27 observations deleted due to missingness
eta_squared(aov_willbath, partial = FALSE) # = 0.003
## # Effect Size for ANOVA (Type I)
## 
## Parameter          |     Eta2 |       95% CI
## --------------------------------------------
## dwelling_messageix | 1.86e-03 | [0.00, 1.00]
## 
## - One-sided CIs: upper bound fixed at [1.00].

Residence

library(effectsize)

# Problem awareness
aov_build_pa <- aov(build_pa ~ residence_messageix, data = dEU)
summary(aov_build_pa) #sig
##                       Df Sum Sq Mean Sq F value   Pr(>F)    
## residence_messageix    2    114   57.19   20.29 1.66e-09 ***
## Residuals           5648  15919    2.82                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
eta_squared(aov_build_pa, partial = FALSE) # = 0.007
## # Effect Size for ANOVA (Type I)
## 
## Parameter           |     Eta2 |       95% CI
## ---------------------------------------------
## residence_messageix | 7.13e-03 | [0.00, 1.00]
## 
## - One-sided CIs: upper bound fixed at [1.00].
# Self-efficacy
aov_build_se <- aov(build_se ~ residence_messageix, data = dEU)
summary(aov_build_se) #not sig.
##                       Df Sum Sq Mean Sq F value Pr(>F)
## residence_messageix    2     13   6.428   1.928  0.145
## Residuals           5648  18829   3.334
# Outcome efficacy
aov_build_oe <- aov(build_oe ~ residence_messageix, data = dEU)
summary(aov_build_oe) #sig
##                       Df Sum Sq Mean Sq F value   Pr(>F)    
## residence_messageix    2     54  27.107   8.909 0.000137 ***
## Residuals           5648  17185   3.043                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
eta_squared(aov_build_oe, partial = FALSE) # = 0.003
## # Effect Size for ANOVA (Type I)
## 
## Parameter           |     Eta2 |       95% CI
## ---------------------------------------------
## residence_messageix | 3.14e-03 | [0.00, 1.00]
## 
## - One-sided CIs: upper bound fixed at [1.00].
# Personal norms
aov_build_pn <- aov(build_pn ~ residence_messageix, data = dEU)
summary(aov_build_pn) # not sig.
##                       Df Sum Sq Mean Sq F value   Pr(>F)    
## residence_messageix    2    126   62.95   21.96 3.16e-10 ***
## Residuals           5648  16189    2.87                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
eta_squared(aov_build_pn, partial = FALSE) # = 0.008
## # Effect Size for ANOVA (Type I)
## 
## Parameter           |     Eta2 |       95% CI
## ---------------------------------------------
## residence_messageix | 7.72e-03 | [0.00, 1.00]
## 
## - One-sided CIs: upper bound fixed at [1.00].
# Downsize
aov_willdown <- aov(willdown ~ residence_messageix, data = dEU)
summary(aov_willdown) #not sig.
##                       Df Sum Sq Mean Sq F value Pr(>F)
## residence_messageix    2      1   0.553   0.134  0.875
## Residuals           5648  23304   4.126
# Share spaces
aov_willkitchen <- aov(willkitchen ~ residence_messageix, data = dEU)
summary(aov_willkitchen) # not sig.
##                       Df Sum Sq Mean Sq F value Pr(>F)    
## residence_messageix    2    220  109.91   38.22 <2e-16 ***
## Residuals           5629  16190    2.88                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 19 observations deleted due to missingness
aov_willbath <- aov(willbath ~ residence_messageix, data = dEU)
summary(aov_willbath) # not sig.
##                       Df Sum Sq Mean Sq F value Pr(>F)    
## residence_messageix    2    244  121.82   46.71 <2e-16 ***
## Residuals           5621  14659    2.61                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 27 observations deleted due to missingness

Correlation table

apa.cor.table(dEU[, c("build_pa", "build_se", "build_oe", "build_pn", "willdown", "willkitchen", "willbath")], filename = "Building_EUcor_Mira.doc")
## 
## 
## Means, standard deviations, and correlations with confidence intervals
##  
## 
##   Variable       M    SD   1          2          3          4         
##   1. build_pa    3.09 1.68                                            
##                                                                       
##   2. build_se    3.41 1.83 .57**                                      
##                            [.55, .59]                                 
##                                                                       
##   3. build_oe    3.08 1.75 .71**      .62**                           
##                            [.70, .73] [.60, .63]                      
##                                                                       
##   4. build_pn    2.68 1.70 .67**      .58**      .82**                
##                            [.66, .69] [.56, .59] [.81, .83]           
##                                                                       
##   5. willdown    3.24 2.03 .39**      .50**      .47**      .44**     
##                            [.36, .41] [.48, .52] [.45, .49] [.41, .46]
##                                                                       
##   6. willkitchen 2.01 1.71 .30**      .32**      .33**      .39**     
##                            [.28, .33] [.30, .35] [.31, .36] [.36, .41]
##                                                                       
##   7. willbath    1.89 1.63 .30**      .31**      .33**      .39**     
##                            [.28, .33] [.29, .33] [.30, .35] [.37, .42]
##                                                                       
##   5          6         
##                        
##                        
##                        
##                        
##                        
##                        
##                        
##                        
##                        
##                        
##                        
##                        
##                        
##                        
##   .27**                
##   [.25, .30]           
##                        
##   .27**      .88**     
##   [.24, .29] [.87, .88]
##                        
## 
## Note. M and SD are used to represent mean and standard deviation, respectively.
## Values in square brackets indicate the 95% confidence interval.
## The confidence interval is a plausible range of population correlations 
## that could have caused the sample correlation (Cumming, 2014).
##  * indicates p < .05. ** indicates p < .01.
## 

Regression analysis

#willingness to downsize
lm_willdown <- lm(willdown ~ build_pa + build_se + build_oe + build_pn, data = dEU)
summary(lm_willdown)
## 
## Call:
## lm(formula = willdown ~ build_pa + build_se + build_oe + build_pn, 
##     data = dEU)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.8884 -1.0276 -0.2046  1.1116  5.3042 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  1.004260   0.053027  18.939  < 2e-16 ***
## build_pa    -0.001025   0.020169  -0.051    0.959    
## build_se     0.373631   0.016358  22.841  < 2e-16 ***
## build_oe     0.217409   0.024988   8.701  < 2e-16 ***
## build_pn     0.107722   0.023940   4.500 6.94e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.706 on 5646 degrees of freedom
## Multiple R-squared:  0.2952, Adjusted R-squared:  0.2947 
## F-statistic: 591.3 on 4 and 5646 DF,  p-value: < 2.2e-16
#willingness to share spaces
lm_willkitchen <- lm(willkitchen ~ build_pa + build_se + build_oe + build_pn, data = dEU)
summary(lm_willkitchen)
## 
## Call:
## lm(formula = willkitchen ~ build_pa + build_se + build_oe + build_pn, 
##     data = dEU)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.8850 -0.9335 -0.3093  0.4733  5.8730 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.70569    0.04862  14.514   <2e-16 ***
## build_pa     0.03709    0.01848   2.007   0.0448 *  
## build_se     0.13668    0.01500   9.112   <2e-16 ***
## build_oe    -0.02710    0.02287  -1.185   0.2361    
## build_pn     0.30171    0.02192  13.764   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.56 on 5627 degrees of freedom
##   (19 observations deleted due to missingness)
## Multiple R-squared:  0.1653, Adjusted R-squared:  0.1648 
## F-statistic: 278.7 on 4 and 5627 DF,  p-value: < 2.2e-16
lm_willbath <- lm(willbath ~ build_pa + build_se + build_oe + build_pn, data = dEU)
summary(lm_willbath)
## 
## Call:
## lm(formula = willbath ~ build_pa + build_se + build_oe + build_pn, 
##     data = dEU)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.7247 -0.8420 -0.2734  0.1214  5.9488 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.67714    0.04635  14.608  < 2e-16 ***
## build_pa     0.03879    0.01765   2.197   0.0280 *  
## build_se     0.11110    0.01430   7.770 9.25e-15 ***
## build_oe    -0.05048    0.02180  -2.316   0.0206 *  
## build_pn     0.32514    0.02090  15.561  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.487 on 5619 degrees of freedom
##   (27 observations deleted due to missingness)
## Multiple R-squared:  0.1668, Adjusted R-squared:  0.1662 
## F-statistic: 281.2 on 4 and 5619 DF,  p-value: < 2.2e-16

Regression for subgroups

Willingness to downsize

Regression analyses depending on country, level of urbanity, and dwelling type

#overview over number of people per group
with(dEU, table(country, dwelling_messageix, residence_messageix))
## , , residence_messageix = rural
## 
##              dwelling_messageix
## country       mfh sfh
##   UK           23 132
##   Germany      58 176
##   Netherlands  60 336
##   Italy        83 193
##   Lithuania    23  96
## 
## , , residence_messageix = suburban
## 
##              dwelling_messageix
## country       mfh sfh
##   UK           84 384
##   Germany     241 156
##   Netherlands 134 359
##   Italy       406 307
##   Lithuania    69 127
## 
## , , residence_messageix = urban
## 
##              dwelling_messageix
## country       mfh sfh
##   UK          144 286
##   Germany     341 128
##   Netherlands  89 103
##   Italy       291 129
##   Lithuania   484 209
dEU %>%
  count(country, dwelling_messageix, residence_messageix, name = "N")
## # A tibble: 30 × 4
##    country dwelling_messageix residence_messageix     N
##    <fct>   <chr>              <chr>               <int>
##  1 UK      mfh                rural                  23
##  2 UK      mfh                suburban               84
##  3 UK      mfh                urban                 144
##  4 UK      sfh                rural                 132
##  5 UK      sfh                suburban              384
##  6 UK      sfh                urban                 286
##  7 Germany mfh                rural                  58
##  8 Germany mfh                suburban              241
##  9 Germany mfh                urban                 341
## 10 Germany sfh                rural                 176
## # ℹ 20 more rows
group_sizes <- dEU %>%
  count(country, dwelling_messageix, residence_messageix, name = "N")

group_sizes %>%
  filter(N < 60)
## # A tibble: 3 × 4
##   country   dwelling_messageix residence_messageix     N
##   <fct>     <chr>              <chr>               <int>
## 1 UK        mfh                rural                  23
## 2 Germany   mfh                rural                  58
## 3 Lithuania mfh                rural                  23
#smallest groups:
# UK, mfh, rural -> 23
# Lithuania, mfh, rural -> 23
# Germany, mfh, rural -> 58
# -> Apartment in rural area is very uncommon

describe(group_sizes$N)
##    vars  n   mean     sd median trimmed    mad min max range skew kurtosis
## X1    1 30 188.37 125.25    139  178.04 103.78  23 484   461 0.65    -0.78
##       se
## X1 22.87
ggplot(group_sizes,
       aes(x = dwelling_messageix, y = N, fill = residence_messageix)) +
  geom_col(position = "dodge") +
  facet_wrap(~ country) +
  labs(title = "Group sizes by country, dwelling, and urbanity")

library(dplyr)
library(purrr)

## regression model for each subgroup
#downsizing

model_willdown <- dEU %>%
  group_by(country, dwelling_messageix, residence_messageix) %>%
  group_modify(~ tibble(
    model = list(
      lm(willdown ~ build_pa + build_se + build_oe + build_pn, data = .x)
    ),
    model_willdown = mean(.x$willbath, na.rm = TRUE)
  )) %>%
  ungroup() %>%
  mutate(model_id = row_number())

#summary(model_willdown$model[[4]])

library(broom)
library(tidyr)
library(purrr)

model_willdown %>%
  mutate(coefs = map(model, tidy)) %>%
  unnest(coefs)
## # A tibble: 150 × 11
##    country dwelling_messageix residence_messageix model  model_willdown model_id
##    <fct>   <chr>              <chr>               <list>          <dbl>    <int>
##  1 UK      mfh                rural               <lm>             2.18        1
##  2 UK      mfh                rural               <lm>             2.18        1
##  3 UK      mfh                rural               <lm>             2.18        1
##  4 UK      mfh                rural               <lm>             2.18        1
##  5 UK      mfh                rural               <lm>             2.18        1
##  6 UK      mfh                suburban            <lm>             2.13        2
##  7 UK      mfh                suburban            <lm>             2.13        2
##  8 UK      mfh                suburban            <lm>             2.13        2
##  9 UK      mfh                suburban            <lm>             2.13        2
## 10 UK      mfh                suburban            <lm>             2.13        2
## # ℹ 140 more rows
## # ℹ 5 more variables: term <chr>, estimate <dbl>, std.error <dbl>,
## #   statistic <dbl>, p.value <dbl>

Willingness to share the kitchen

Regression analyses depending on country, level of urbanity, and dwelling type

model_willkitchen <- dEU %>%
  group_by(country, dwelling_messageix, residence_messageix) %>%
  group_modify(~ tibble(
    model = list(
      lm(willkitchen ~ build_pa + build_se + build_oe + build_pn, data = .x)
    ),
    model_willkitchen = mean(.x$willbath, na.rm = TRUE)
  )) %>%
  ungroup() %>%
  mutate(model_id = row_number())

model_willkitchen %>%
  mutate(coefs = map(model, tidy)) %>%
  unnest(coefs)
## # A tibble: 150 × 11
##    country dwelling_messageix residence_messageix model  model_willkitchen
##    <fct>   <chr>              <chr>               <list>             <dbl>
##  1 UK      mfh                rural               <lm>                2.18
##  2 UK      mfh                rural               <lm>                2.18
##  3 UK      mfh                rural               <lm>                2.18
##  4 UK      mfh                rural               <lm>                2.18
##  5 UK      mfh                rural               <lm>                2.18
##  6 UK      mfh                suburban            <lm>                2.13
##  7 UK      mfh                suburban            <lm>                2.13
##  8 UK      mfh                suburban            <lm>                2.13
##  9 UK      mfh                suburban            <lm>                2.13
## 10 UK      mfh                suburban            <lm>                2.13
## # ℹ 140 more rows
## # ℹ 6 more variables: model_id <int>, term <chr>, estimate <dbl>,
## #   std.error <dbl>, statistic <dbl>, p.value <dbl>

Willingness to downsize

Regression analyses depending on country, level of urbanity, and dwelling type

model_willbath <- dEU %>%
  group_by(country, dwelling_messageix, residence_messageix) %>%
  group_modify(~ tibble(
    model = list(
      lm(willbath ~ build_pa + build_se + build_oe + build_pn, data = .x)
    ),
    mean_willbath = mean(.x$willbath, na.rm = TRUE)
  )) %>%
  ungroup() %>%
  mutate(model_id = row_number())

model_willbath %>%
  mutate(coefs = map(model, tidy)) %>%
  unnest(coefs)
## # A tibble: 150 × 11
##    country dwelling_messageix residence_messageix model  mean_willbath model_id
##    <fct>   <chr>              <chr>               <list>         <dbl>    <int>
##  1 UK      mfh                rural               <lm>            2.18        1
##  2 UK      mfh                rural               <lm>            2.18        1
##  3 UK      mfh                rural               <lm>            2.18        1
##  4 UK      mfh                rural               <lm>            2.18        1
##  5 UK      mfh                rural               <lm>            2.18        1
##  6 UK      mfh                suburban            <lm>            2.13        2
##  7 UK      mfh                suburban            <lm>            2.13        2
##  8 UK      mfh                suburban            <lm>            2.13        2
##  9 UK      mfh                suburban            <lm>            2.13        2
## 10 UK      mfh                suburban            <lm>            2.13        2
## # ℹ 140 more rows
## # ℹ 5 more variables: term <chr>, estimate <dbl>, std.error <dbl>,
## #   statistic <dbl>, p.value <dbl>