Creating Database only with summer months

villes_s<-list()

for(i in 1:length(villes)) {
  villes_s[[i]]<-villes[[i]][villes[[i]]$saison=="summer",]
  villes_s[[i]]$temps <- ave(villes_s[[i]]$time,villes_s[[i]]$annee,  FUN = seq_along)
  villes_s[[i]]$time<-1:nrow(villes_s[[i]])
}

names(villes_s)<-cities

table of N obs per months to check to have only summer month

for (i in 1:length(villes)){
print(table(villes_s[[i]]$mois))
}
## 
##   1   2   3   4   5   6   7   8   9  10  11  12 
##   0   0   0   0   0 540 558 558 540   0   0   0 
## 
##   1   2   3   4   5   6   7   8   9  10  11  12 
##   0   0   0   0   0 540 558 558 540   0   0   0 
## 
##   1   2   3   4   5   6   7   8   9  10  11  12 
##   0   0   0   0   0 540 558 558 540   0   0   0 
## 
##   1   2   3   4   5   6   7   8   9  10  11  12 
##   0   0   0   0   0 540 558 558 540   0   0   0 
## 
##   1   2   3   4   5   6   7   8   9  10  11  12 
##   0   0   0   0   0 540 558 558 540   0   0   0 
## 
##   1   2   3   4   5   6   7   8   9  10  11  12 
##   0   0   0   0   0 540 558 558 540   0   0   0 
## 
##   1   2   3   4   5   6   7   8   9  10  11  12 
##   0   0   0   0   0 540 558 558 540   0   0   0 
## 
##   1   2   3   4   5   6   7   8   9  10  11  12 
##   0   0   0   0   0 540 558 558 540   0   0   0 
## 
##   1   2   3   4   5   6   7   8   9  10  11  12 
##   0   0   0   0   0 540 558 558 540   0   0   0 
## 
##   1   2   3   4   5   6   7   8   9  10  11  12 
##   0   0   0   0   0 540 558 558 540   0   0   0 
## 
##   1   2   3   4   5   6   7   8   9  10  11  12 
##   0   0   0   0   0 540 558 558 540   0   0   0 
## 
##   1   2   3   4   5   6   7   8   9  10  11  12 
##   0   0   0   0   0 540 558 558 540   0   0   0 
## 
##   1   2   3   4   5   6   7   8   9  10  11  12 
##   0   0   0   0   0 540 558 558 540   0   0   0 
## 
##   1   2   3   4   5   6   7   8   9  10  11  12 
##   0   0   0   0   0 540 558 558 540   0   0   0 
## 
##   1   2   3   4   5   6   7   8   9  10  11  12 
##   0   0   0   0   0 540 558 558 540   0   0   0 
## 
##   1   2   3   4   5   6   7   8   9  10  11  12 
##   0   0   0   0   0 540 558 558 540   0   0   0 
## 
##   1   2   3   4   5   6   7   8   9  10  11  12 
##   0   0   0   0   0 540 558 558 540   0   0   0 
## 
##   1   2   3   4   5   6   7   8   9  10  11  12 
##   0   0   0   0   0 540 558 558 540   0   0   0

Creating Heat Wave variable

trshld975<-c()

for (i in 1:length(villes_s)){
  trshld975[i]<-quantile(villes_s[[i]]$tempmax, probs=c(0.95),na.rm=TRUE)
  villes_s[[i]]$heat_wave<-0
  villes_s[[i]]$heat_wave[which(villes_s[[i]]$tempmax > trshld975[i])]<- 1 
}

 

Number of Heat Wave for each city:

Heat wave=0 Heat wave=1
bm 2087 109
bordeaux 2087 109
clermont 2088 108
dijon 2088 108
grenoble 2086 110
lehavre 2088 108
lille 2087 109
lyon 2087 109
marseille 2093 103
montpellier 2089 107
nancy 2086 110
nantes 2087 109
nice 2088 108
paris 2090 106
rennes 2089 107
rouen 2089 107
strasbourg 2086 110
toulouse 2086 110
# creation of no2 variable of today and previous day
#function filter {stats}
for (i in 1:length(villes_s)){
villes_s[[i]]<-transform(villes_s[[i]], no2moy = as.vector(filter(no2,sides = 1, filter = rep(1, 2))/2), no2Lag1=Lag(no2,1),no2Lag2=Lag(no2,2))
}  

Analysis

BOOTSTRAP METHOD

Code:

## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:kableExtra':
## 
##     group_rows
## The following object is masked from 'package:nlme':
## 
##     collapse
## The following objects are masked from 'package:lubridate':
## 
##     intersect, setdiff, union
## The following objects are masked from 'package:Hmisc':
## 
##     src, summarize
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union

Results:

res<-data.frame(results)

for (i in (2:19)){
res[,i]<-as.numeric(as.character(res[,i]))
}

res[,2:19]<-round(res[,2:19],digits = 4)

kable(res)%>%kable_styling("condensed")%>%
  column_spec(1, bold = T, border_right = T)%>%
  column_spec(4, border_right = T)%>%
  column_spec(7, border_right = T)%>%
  column_spec(10, border_right = T)%>%
  column_spec(13, border_right = T)%>%
  column_spec(16, border_right = T)
city CDE CDE_2.5 CDE_97.5 RefInt RefInt_2.5 RefInt_97.5 MedInt MedInt_2.5 MedInt_97.5 PIE PIE_2.5 PIE_97.5 OPM OPM_2.5 OPM_97.5 OPAI OPAI_2.5 OPAI_97.5
bm 1.4292 0.6893 2.8660 0.7910 0.5309 1.1696 0.8761 0.6855 1.0967 1.0365 0.9876 1.0885 0.4622 0.3341 0.5322 0.4025 0.2405 0.5674
bordeaux 0.9654 0.4351 2.1686 1.1395 0.6440 1.9870 1.0526 0.8406 1.3252 1.0192 0.9853 1.0579 0.4938 0.3986 0.5140 0.5249 0.3193 0.6926
clermont 1.1457 0.4107 3.3813 0.9935 0.4143 2.0906 0.9981 0.7829 1.2450 1.0130 0.9758 1.0518 0.4788 0.3173 0.5061 0.4802 0.2157 0.7004
dijon 0.7722 0.2253 1.8217 1.2224 0.6943 2.6854 1.0858 0.8649 1.5194 1.0391 0.9840 1.0914 0.5069 0.4224 0.5323 0.5598 0.3539 0.7672
grenoble 1.2584 0.6558 2.5022 0.8906 0.5313 1.4602 0.9605 0.7969 1.1323 1.0322 0.9973 1.0704 0.4825 0.3746 0.5139 0.4480 0.2737 0.6057
lehavre 0.8416 0.3551 1.7758 1.1309 0.7000 1.9089 1.0563 0.8483 1.3709 1.0688 1.0066 1.1355 0.5162 0.4350 0.5438 0.5344 0.3532 0.6950
lille 0.9680 0.7094 1.3365 1.0167 0.8361 1.2637 1.0094 0.9199 1.1212 1.0487 1.0192 1.0819 0.5083 0.4750 0.5280 0.5005 0.4254 0.5742
lyon 1.3631 0.7402 2.3888 0.8668 0.5907 1.2855 0.9511 0.8289 1.0957 1.0144 0.9924 1.0373 0.4682 0.3832 0.5097 0.4342 0.2923 0.5764
marseille 1.0640 0.5831 1.8837 0.9974 0.6255 1.6086 0.9998 0.9499 1.0613 1.0071 0.9992 1.0173 0.4904 0.4409 0.5057 0.4901 0.3528 0.6269
montpellier 1.0354 0.4232 2.0167 0.8845 0.4352 2.0247 1.0000 0.9851 1.0210 1.0002 0.9972 1.0047 0.5004 0.4223 0.5223 0.4817 0.3227 0.6790
nancy 1.2384 0.3521 2.4832 0.8707 0.5302 1.9409 0.9508 0.7974 1.2818 0.9949 0.9589 1.0328 0.4786 0.3739 0.5246 0.4501 0.2768 0.7079
nantes 0.5889 0.2645 1.2544 1.4568 0.8979 2.4185 1.1921 0.9487 1.5056 1.0337 0.9938 1.0777 0.5149 0.4690 0.5340 0.6204 0.4445 0.7483
nice 0.7746 0.5572 1.0663 1.2896 0.9817 1.7780 1.0051 0.9904 1.0282 0.9999 0.9949 1.0051 0.4913 0.4609 0.5055 0.5647 0.4894 0.6405
paris 1.1891 0.9860 1.4252 0.9357 0.8313 1.0523 0.9729 0.9240 1.0209 1.0364 1.0236 1.0503 0.4861 0.4651 0.5025 0.4618 0.4169 0.5064
rennes 1.8132 0.5196 5.6019 0.6877 0.3268 1.6723 0.8390 0.5814 1.2394 1.0445 0.9827 1.1134 0.4287 0.2169 0.5225 0.3478 0.1223 0.6515
rouen 1.2115 0.7551 1.8344 0.9388 0.7215 1.2540 0.9605 0.8197 1.1515 1.0586 1.0086 1.1090 0.4846 0.4271 0.5261 0.4559 0.3472 0.5750
strasbourg 0.7930 0.4633 1.2942 1.2196 0.8946 1.6829 1.1021 0.9454 1.2910 1.0328 0.9968 1.0719 0.5135 0.4733 0.5310 0.5596 0.4418 0.6664
toulouse 0.8803 0.3640 2.0088 1.1385 0.5732 2.3166 1.0338 0.8679 1.2469 1.0296 1.0069 1.0563 0.4970 0.4205 0.5153 0.5333 0.3217 0.7164

Forestplot

Controlled Direct Effect

Pure Indirect Effect

Reference Interaction

Reference Interaction