Descriptive Statistics for O3

Descriptive Statistics for o3
Ville Minimum X1st.Qu Median Mean X3rd.Qu Max NA.s
bordeaux 1.9154062 51.33333 70.95833 70.70046 89.16369 169.5000 NA
clermont 1.7321429 54.12500 72.68750 72.06568 90.12500 178.5625 138
grenoble 0.4375000 35.51116 65.96875 65.82133 91.66518 185.8750 NA
lehavre 2.1250000 57.25000 70.62500 69.51529 82.12500 184.5000 59
lille 0.1666667 41.00000 59.00000 58.91898 74.75000 207.1250 239
marseille 3.1250000 54.75000 79.59742 77.44850 99.62500 185.6250 16
nantes 3.1250000 55.00000 70.37500 71.71581 87.62500 216.5000 71
paris 0.8592206 37.65048 57.72942 59.16113 77.16338 216.3857 NA
rennes 1.5625000 52.12500 65.93750 66.48971 80.25005 213.5625 17
rouen 1.2972346 46.96354 63.34375 63.70247 79.04688 178.6607 NA
strasbourg 0.0000000 36.75000 62.87500 64.30176 87.75000 206.5000 99
toulouse 1.6250000 57.31250 76.27500 76.08195 94.61250 180.9594 NA

Linear Interaction Model

Models For Lag0, Lag1 and La2 exposure

## change year variable with numeric ordinal number
for (i in 1:length(villes)){
  villes[[i]]$year<-as.numeric(villes[[i]]$annee)
} 

# define model objects
tot <- matrix(NA, nrow = 12, ncol = 7)
colnames(tot) <- c("Ville","Coefficient_B0","B0_CI95_Low","B0_CI95_High", "Coefficient_B1","LB_CI95_Low","B1_CI95_High")
modtot<-list()
st_errb0<-c()
st_errb1<-c()


# Linear Model for Lag0

for(i in 1:length(villes)) {
   modtot[[i]]<-gam(cv_tot~o3.x+o3.x:year+ns(time,df=round(8*length(time)/365))+ns(tempmoy,df=6)+ns(temp3,df=6)+Jours++Vacances,data=villes[[i]],family=quasipoisson)
  est<-summary(modtot[[i]])
  tot[i, 1] <- as.character(villes_name[[i]])
  ll<-length(modtot[[i]]$coefficients)
  tot[i, 2] <- modtot[[i]]$coefficients[2]
  tot[i, 3] <- modtot[[i]]$coefficients[2]-(1.96*est$se[2])
  tot[i, 4] <- modtot[[i]]$coefficients[2]+(1.96*est$se[2])
  tot[i, 5] <- modtot[[i]]$coefficients[ll]
  tot[i, 6] <- modtot[[i]]$coefficients[ll]-(1.96*est$se[ll])
  tot[i, 7] <- modtot[[i]]$coefficients[ll]+(1.96*est$se[ll])
  st_errb0[i]<- est$se[2]
  st_errb1[i]<- est$se[ll]
}


# Linear Model for Lag1

# define model objects
tot_L1 <- matrix(NA, nrow = 12, ncol = 7)
colnames(tot_L1) <- c("Ville","Coefficient_B0","B0_CI95_Low","B0_CI95_High", "Coefficient_B1","LB_CI95_Low","B1_CI95_High")
modtot_L1<-list()
st_errb0_L1<-c()
st_errb1_L1<-c()


for(i in 1:length(villes)) {
   modtot_L1[[i]]<-gam(cv_tot~o3_L1+o3_L1:year+ns(time,df=round(8*length(time)/365))+ns(tempmoy,df=6)+ns(temp3,df=6)+Jours++Vacances,data=villes[[i]],family=quasipoisson)
  est<-summary(modtot_L1[[i]])
  tot_L1[i, 1] <- as.character(villes_name[[i]])
  ll<-length(modtot_L1[[i]]$coefficients)
  tot_L1[i, 2] <- modtot_L1[[i]]$coefficients[2]
  tot_L1[i, 3] <- modtot_L1[[i]]$coefficients[2]-(1.96*est$se[2])
  tot_L1[i, 4] <- modtot_L1[[i]]$coefficients[2]+(1.96*est$se[2])
  tot_L1[i, 5] <- modtot_L1[[i]]$coefficients[ll]
  tot_L1[i, 6] <- modtot_L1[[i]]$coefficients[ll]-(1.96*est$se[ll])
  tot_L1[i, 7] <- modtot_L1[[i]]$coefficients[ll]+(1.96*est$se[ll])
  st_errb0_L1[i]<- est$se[2]
  st_errb1_L1[i]<- est$se[ll]
}



# Linear Model for Lag2

# define model objects
tot_L2 <- matrix(NA, nrow = 12, ncol = 7)
colnames(tot_L2) <- c("Ville","Coefficient_B0","B0_CI95_Low","B0_CI95_High", "Coefficient_B1","LB_CI95_Low","B1_CI95_High")
modtot_L2<-list()
st_errb0_L2<-c()
st_errb1_L2<-c()


for(i in 1:length(villes)) {
   modtot_L2[[i]]<-gam(cv_tot~o3_L2+o3_L2:year+ns(time,df=round(8*length(time)/365))+ns(tempmoy,df=6)+ns(temp3,df=6)+Jours++Vacances,data=villes[[i]],family=quasipoisson)
  est<-summary(modtot_L2[[i]])
  tot_L2[i, 1] <- as.character(villes_name[[i]])
  ll<-length(modtot_L2[[i]]$coefficients)
  tot_L2[i, 2] <- modtot_L2[[i]]$coefficients[2]
  tot_L2[i, 3] <- modtot_L2[[i]]$coefficients[2]-(1.96*est$se[2])
  tot_L2[i, 4] <- modtot_L2[[i]]$coefficients[2]+(1.96*est$se[2])
  tot_L2[i, 5] <- modtot_L2[[i]]$coefficients[ll]
  tot_L2[i, 6] <- modtot_L2[[i]]$coefficients[ll]-(1.96*est$se[ll])
  tot_L2[i, 7] <- modtot_L2[[i]]$coefficients[ll]+(1.96*est$se[ll])
  st_errb0_L2[i]<- est$se[2]
  st_errb1_L2[i]<- est$se[ll]
}

Results For Lag0 exposure

Ville Coefficient_B0 B0_CI95_Low B0_CI95_High Coefficient_B1 LB_CI95_Low B1_CI95_High
bordeaux 1.0008 0.9997 1.0018 0.9997 0.9997 0.9998
clermont 1.0008 0.9994 1.0022 0.9998 0.9998 0.9999
grenoble 1.0002 0.9991 1.0013 1.0000 0.9999 1.0000
lehavre 0.9999 0.9982 1.0015 1.0000 0.9999 1.0001
lille 1.0016 1.0009 1.0024 0.9998 0.9997 0.9998
marseille 1.0021 1.0014 1.0029 0.9998 0.9997 0.9998
nantes 1.0000 0.9988 1.0012 1.0000 0.9999 1.0000
paris 1.0022 1.0018 1.0026 0.9997 0.9997 0.9997
rennes 1.0003 0.9985 1.0021 1.0000 0.9999 1.0001
rouen 1.0009 0.9997 1.0021 0.9999 0.9998 0.9999
strasbourg 1.0008 0.9998 1.0018 0.9998 0.9998 0.9999
toulouse 1.0027 1.0016 1.0039 0.9997 0.9997 0.9997
villes Increase_2002 Increase_2015 Temp_change
bordeaux -0.551 -4.061 -3.510
clermont -0.341 -2.526 -2.186
grenoble -0.042 -0.316 -0.274
lehavre -0.002 -0.016 -0.014
lille -0.467 -3.448 -2.981
marseille -0.463 -3.423 -2.960
nantes -0.097 -0.729 -0.631
paris -0.608 -4.474 -3.866
rennes 0.035 0.260 0.226
rouen -0.250 -1.861 -1.611
strasbourg -0.313 -2.326 -2.013
toulouse -0.614 -4.518 -3.904

Results For Lag1 exposure

Ville Coefficient_B0 B0_CI95_Low B0_CI95_High Coefficient_B1 LB_CI95_Low B1_CI95_High
bordeaux 1.0008 0.9997 1.0018 0.9997 0.9997 0.9998
clermont 1.0008 0.9994 1.0022 0.9998 0.9998 0.9999
grenoble 1.0002 0.9991 1.0013 1.0000 0.9999 1.0000
lehavre 0.9999 0.9982 1.0015 1.0000 0.9999 1.0001
lille 1.0016 1.0009 1.0024 0.9998 0.9997 0.9998
marseille 1.0021 1.0014 1.0029 0.9998 0.9997 0.9998
nantes 1.0000 0.9988 1.0012 1.0000 0.9999 1.0000
paris 1.0022 1.0018 1.0026 0.9997 0.9997 0.9997
rennes 1.0003 0.9985 1.0021 1.0000 0.9999 1.0001
rouen 1.0009 0.9997 1.0021 0.9999 0.9998 0.9999
strasbourg 1.0008 0.9998 1.0018 0.9998 0.9998 0.9999
toulouse 1.0027 1.0016 1.0039 0.9997 0.9997 0.9997
villes Increase_2002 Increase_2015 Temp_change
bordeaux -0.565 -4.161 -3.596
clermont -0.334 -2.479 -2.145
grenoble -0.033 -0.249 -0.215
lehavre -0.020 -0.153 -0.132
lille -0.495 -3.653 -3.158
marseille -0.469 -3.466 -2.997
nantes -0.108 -0.806 -0.698
paris -0.607 -4.464 -3.857
rennes -0.010 -0.078 -0.067
rouen -0.249 -1.856 -1.606
strasbourg -0.319 -2.367 -2.048
toulouse -0.629 -4.627 -3.998

Results For Lag2 exposure

Ville Coefficient_B0 B0_CI95_Low B0_CI95_High Coefficient_B1 LB_CI95_Low B1_CI95_High
bordeaux 1.0008 0.9997 1.0018 0.9997 0.9997 0.9998
clermont 1.0008 0.9994 1.0022 0.9998 0.9998 0.9999
grenoble 1.0002 0.9991 1.0013 1.0000 0.9999 1.0000
lehavre 0.9999 0.9982 1.0015 1.0000 0.9999 1.0001
lille 1.0016 1.0009 1.0024 0.9998 0.9997 0.9998
marseille 1.0021 1.0014 1.0029 0.9998 0.9997 0.9998
nantes 1.0000 0.9988 1.0012 1.0000 0.9999 1.0000
paris 1.0022 1.0018 1.0026 0.9997 0.9997 0.9997
rennes 1.0003 0.9985 1.0021 1.0000 0.9999 1.0001
rouen 1.0009 0.9997 1.0021 0.9999 0.9998 0.9999
strasbourg 1.0008 0.9998 1.0018 0.9998 0.9998 0.9999
toulouse 1.0027 1.0016 1.0039 0.9997 0.9997 0.9997
villes Increase_2002 Increase_2015 Temp_change
bordeaux -0.544 -4.008 -3.464
clermont -0.353 -2.616 -2.264
grenoble -0.012 -0.093 -0.080
lehavre -0.026 -0.196 -0.170
lille -0.484 -3.572 -3.088
marseille -0.481 -3.550 -3.069
nantes -0.114 -0.854 -0.740
paris -0.609 -4.480 -3.871
rennes 0.004 0.028 0.024
rouen -0.214 -1.591 -1.378
strasbourg -0.338 -2.510 -2.171
toulouse -0.618 -4.549 -3.931

Metanalysis of the results

For Lag0 exposure

##         Increase_2002 Increase_2015 Temp_change
## intrcpt    -0.3152548     -2.340599   -2.025344

Results For Lag1 exposure

##         Increase_2002 Increase_2015 Temp_change
## intrcpt    -0.3251724     -2.413511   -2.088339

Results For Lag2 exposure

##         Increase_2002 Increase_2015 Temp_change
## intrcpt    -0.3204696     -2.378928   -2.058459

Non-Linear Interaction Model

Models For Lag0, Lag1 and La2 exposure

# Non-Linear Model for Lag0

for(i in 1:length(villes)) {
  year[[i]] <- onebasis(villes[[i]]$year,"ns",knots=c(4,7,11))
  yr<-year[[i]]
  nl_modtot[[i]]<-gam(cv_tot~o3+o3:yr+ns(time,df=round(8*length(time)/365))+ns(tempmoy,df=6)+ns(temp3,df=6)+Jours++Vacances,data=villes[[i]],family=quasipoisson)
  est<-summary(nl_modtot[[i]])
  nl_coeffB0[i,1] <- as.character(villes_name[[i]])
  nl_coeffB1[i,1] <- as.character(villes_name[[i]])
  ll<-length(nl_modtot[[i]]$coefficients)
  nl_coeffB0[i, 2] <- nl_modtot[[i]]$coefficients[2]
  nl_coeffB0[i, 3] <- nl_modtot[[i]]$coefficients[2]-(1.96*est$se[2])
  nl_coeffB0[i, 4] <- nl_modtot[[i]]$coefficients[2]+(1.96*est$se[2])
  nl_coeffB1[i, 2] <- nl_modtot[[i]]$coefficients[ll-3]
  nl_coeffB1[i, 3] <- nl_modtot[[i]]$coefficients[ll-3]-(1.96*est$se[ll-3])
  nl_coeffB1[i, 4] <- nl_modtot[[i]]$coefficients[ll-3]+(1.96*est$se[ll-3])
  nl_coeffB1[i, 5] <- nl_modtot[[i]]$coefficients[ll-2]
  nl_coeffB1[i, 6] <- nl_modtot[[i]]$coefficients[ll-2]-(1.96*est$se[ll-2])
  nl_coeffB1[i, 7] <- nl_modtot[[i]]$coefficients[ll-2]+(1.96*est$se[ll-2])
  nl_coeffB1[i, 8] <- nl_modtot[[i]]$coefficients[ll-1]
  nl_coeffB1[i, 9] <- nl_modtot[[i]]$coefficients[ll-1]-(1.96*est$se[ll-1])
  nl_coeffB1[i, 10] <- nl_modtot[[i]]$coefficients[ll]+(1.96*est$se[ll-1])
  nl_coeffB1[i, 11] <- nl_modtot[[i]]$coefficients[ll]
  nl_coeffB1[i, 12] <- nl_modtot[[i]]$coefficients[ll]-(1.96*est$se[ll])
  nl_coeffB1[i, 13] <- nl_modtot[[i]]$coefficients[ll]+(1.96*est$se[ll])
  # nl_st_errb0[i]<- est$se[2]
  # nl_st_errb11[i]<- est$se[ll-3]
  # nl_st_errb12[i]<- est$se[ll-2]
  # nl_st_errb13[i]<- est$se[ll-1]
  # nl_st_errb14[i]<- est$se[ll]
  pred_nnlin[[i]]<-crosspred(yr,nl_modtot[[i]],cen=0)
  y_nl[i,] <- pred_nnlin[[i]]$coef
  S_nl[[i]] <- pred_nnlin[[i]]$vcov
}

# Non-Linear Model for Lag1

for(i in 1:length(villes)) {
  year[[i]] <- onebasis(villes[[i]]$year,"ns",knots=c(4,7,11))
  yr<-year[[i]]
  nl_modtot_L1[[i]]<-gam(cv_tot~o3_L1+o3_L1:yr+ns(time,df=round(8*length(time)/365))+ns(tempmoy,df=6)+ns(temp3,df=6)+Jours++Vacances,data=villes[[i]],family=quasipoisson)
  est<-summary(nl_modtot_L1[[i]])
  nl_coeffB0_L1[i,1] <- as.character(villes_name[[i]])
  nl_coeffB1_L1[i,1] <- as.character(villes_name[[i]])
  ll<-length(nl_modtot_L1[[i]]$coefficients)
  nl_coeffB0_L1[i, 2] <- nl_modtot_L1[[i]]$coefficients[2]
  nl_coeffB0_L1[i, 3] <- nl_modtot_L1[[i]]$coefficients[2]-(1.96*est$se[2])
  nl_coeffB0_L1[i, 4] <- nl_modtot_L1[[i]]$coefficients[2]+(1.96*est$se[2])
  nl_coeffB1_L1[i, 2] <- nl_modtot_L1[[i]]$coefficients[ll-3]
  nl_coeffB1_L1[i, 3] <- nl_modtot_L1[[i]]$coefficients[ll-3]-(1.96*est$se[ll-3])
  nl_coeffB1_L1[i, 4] <- nl_modtot_L1[[i]]$coefficients[ll-3]+(1.96*est$se[ll-3])
  nl_coeffB1_L1[i, 5] <- nl_modtot_L1[[i]]$coefficients[ll-2]
  nl_coeffB1_L1[i, 6] <- nl_modtot_L1[[i]]$coefficients[ll-2]-(1.96*est$se[ll-2])
  nl_coeffB1_L1[i, 7] <- nl_modtot_L1[[i]]$coefficients[ll-2]+(1.96*est$se[ll-2])
  nl_coeffB1_L1[i, 8] <- nl_modtot_L1[[i]]$coefficients[ll-1]
  nl_coeffB1_L1[i, 9] <- nl_modtot_L1[[i]]$coefficients[ll-1]-(1.96*est$se[ll-1])
  nl_coeffB1_L1[i, 10] <- nl_modtot_L1[[i]]$coefficients[ll]+(1.96*est$se[ll-1])
  nl_coeffB1_L1[i, 11] <- nl_modtot_L1[[i]]$coefficients[ll]
  nl_coeffB1_L1[i, 12] <- nl_modtot_L1[[i]]$coefficients[ll]-(1.96*est$se[ll])
  nl_coeffB1_L1[i, 13] <- nl_modtot_L1[[i]]$coefficients[ll]+(1.96*est$se[ll])
  pred_nnlin_L1[[i]]<-crosspred(yr,nl_modtot_L1[[i]],cen=0)
  y_nl_L1[i,] <- pred_nnlin_L1[[i]]$coef
  S_nl_L1[[i]] <- pred_nnlin_L1[[i]]$vcov
}

# Non-Linear Model for Lag2

for(i in 1:length(villes)) {
  year[[i]] <- onebasis(villes[[i]]$year,"ns",knots=c(4,7,11))
  yr<-year[[i]]
  nl_modtot_L2[[i]]<-gam(cv_tot~o3_L2+o3_L2:yr+ns(time,df=round(8*length(time)/365))+ns(tempmoy,df=6)+ns(temp3,df=6)+Jours++Vacances,data=villes[[i]],family=quasipoisson)
  est<-summary(nl_modtot_L2[[i]])
  nl_coeffB0_L2[i,1] <- as.character(villes_name[[i]])
  nl_coeffB1_L2[i,1] <- as.character(villes_name[[i]])
  ll<-length(nl_modtot_L2[[i]]$coefficients)
  nl_coeffB0_L2[i, 2] <- nl_modtot_L2[[i]]$coefficients[2]
  nl_coeffB0_L2[i, 3] <- nl_modtot_L2[[i]]$coefficients[2]-(1.96*est$se[2])
  nl_coeffB0_L2[i, 4] <- nl_modtot_L2[[i]]$coefficients[2]+(1.96*est$se[2])
  nl_coeffB1_L2[i, 2] <- nl_modtot_L2[[i]]$coefficients[ll-3]
  nl_coeffB1_L2[i, 3] <- nl_modtot_L2[[i]]$coefficients[ll-3]-(1.96*est$se[ll-3])
  nl_coeffB1_L2[i, 4] <- nl_modtot_L2[[i]]$coefficients[ll-3]+(1.96*est$se[ll-3])
  nl_coeffB1_L2[i, 5] <- nl_modtot_L2[[i]]$coefficients[ll-2]
  nl_coeffB1_L2[i, 6] <- nl_modtot_L2[[i]]$coefficients[ll-2]-(1.96*est$se[ll-2])
  nl_coeffB1_L2[i, 7] <- nl_modtot_L2[[i]]$coefficients[ll-2]+(1.96*est$se[ll-2])
  nl_coeffB1_L2[i, 8] <- nl_modtot_L2[[i]]$coefficients[ll-1]
  nl_coeffB1_L2[i, 9] <- nl_modtot_L2[[i]]$coefficients[ll-1]-(1.96*est$se[ll-1])
  nl_coeffB1_L2[i, 10] <- nl_modtot_L2[[i]]$coefficients[ll]+(1.96*est$se[ll-1])
  nl_coeffB1_L2[i, 11] <- nl_modtot_L2[[i]]$coefficients[ll]
  nl_coeffB1_L2[i, 12] <- nl_modtot_L2[[i]]$coefficients[ll]-(1.96*est$se[ll])
  nl_coeffB1_L2[i, 13] <- nl_modtot_L2[[i]]$coefficients[ll]+(1.96*est$se[ll])
  pred_nnlin_L2[[i]]<-crosspred(yr,nl_modtot_L2[[i]],cen=0)
  y_nl_L2[i,] <- pred_nnlin_L2[[i]]$coef
  S_nl_L2[[i]] <- pred_nnlin_L2[[i]]$vcov
}

Meta-analysis results

## Call:  mvmeta(formula = y_nl ~ 1, S = S_nl, method = "ml")
## 
## Multivariate random-effects meta-analysis
## Dimension: 4
## Estimation method: ML
## 
## Fixed-effects coefficients
##     Estimate  Std. Error        z  Pr(>|z|)  95%ci.lb  95%ci.ub     
## y1   -0.0012      0.0003  -4.1080    0.0000   -0.0018   -0.0006  ***
## y2   -0.0031      0.0006  -5.0215    0.0000   -0.0043   -0.0019  ***
## y3   -0.0049      0.0008  -5.8909    0.0000   -0.0066   -0.0033  ***
## y4   -0.0015      0.0006  -2.6211    0.0088   -0.0026   -0.0004   **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 
## 
## Between-study random-effects (co)variance components
## Structure: General positive-definite
##     Std. Dev    Corr                
## y1    0.0007      y1      y2      y3
## y2    0.0020  0.3357                
## y3    0.0026  0.7160  0.8852        
## y4    0.0017  0.9066  0.6300  0.8528
## 
## Multivariate Cochran Q-test for heterogeneity:
## Q = 289.6345 (df = 44), p-value = 0.0000
## I-square statistic = 84.8%
## 
## 12 studies, 48 observations, 4 fixed and 10 random-effects parameters
##    logLik        AIC        BIC  
##  249.7238  -471.4475  -445.2507

## Call:  mvmeta(formula = y_nl_L1 ~ 1, S = S_nl_L1, method = "ml")
## 
## Multivariate random-effects meta-analysis
## Dimension: 4
## Estimation method: ML
## 
## Fixed-effects coefficients
##     Estimate  Std. Error        z  Pr(>|z|)  95%ci.lb  95%ci.ub     
## y1   -0.0009      0.0002  -4.5068    0.0000   -0.0013   -0.0005  ***
## y2   -0.0023      0.0004  -5.5543    0.0000   -0.0031   -0.0015  ***
## y3   -0.0036      0.0005  -6.7712    0.0000   -0.0046   -0.0025  ***
## y4   -0.0011      0.0004  -2.6613    0.0078   -0.0018   -0.0003   **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 
## 
## Between-study random-effects (co)variance components
## Structure: General positive-definite
##     Std. Dev    Corr                
## y1    0.0005      y1      y2      y3
## y2    0.0013  0.3220                
## y3    0.0016  0.6906  0.8837        
## y4    0.0012  0.9268  0.6119  0.8383
## 
## Multivariate Cochran Q-test for heterogeneity:
## Q = 265.5387 (df = 44), p-value = 0.0000
## I-square statistic = 83.4%
## 
## 12 studies, 48 observations, 4 fixed and 10 random-effects parameters
##    logLik        AIC        BIC  
##  267.1539  -506.3077  -480.1109

## Call:  mvmeta(formula = y_nl_L2 ~ 1, S = S_nl_L2, method = "ml")
## 
## Multivariate random-effects meta-analysis
## Dimension: 4
## Estimation method: ML
## 
## Fixed-effects coefficients
##     Estimate  Std. Error        z  Pr(>|z|)  95%ci.lb  95%ci.ub     
## y1   -0.0009      0.0002  -4.0598    0.0000   -0.0013   -0.0005  ***
## y2   -0.0023      0.0004  -5.4981    0.0000   -0.0031   -0.0015  ***
## y3   -0.0036      0.0005  -6.6626    0.0000   -0.0046   -0.0025  ***
## y4   -0.0010      0.0004  -2.5188    0.0118   -0.0018   -0.0002    *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 
## 
## Between-study random-effects (co)variance components
## Structure: General positive-definite
##     Std. Dev    Corr                
## y1    0.0005      y1      y2      y3
## y2    0.0013  0.2073                
## y3    0.0016  0.6072  0.8891        
## y4    0.0012  0.9057  0.5960  0.8642
## 
## Multivariate Cochran Q-test for heterogeneity:
## Q = 268.2916 (df = 44), p-value = 0.0000
## I-square statistic = 83.6%
## 
## 12 studies, 48 observations, 4 fixed and 10 random-effects parameters
##    logLik        AIC        BIC  
##  267.8930  -507.7860  -481.5891