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.975),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 2143 53
bordeaux 2143 53
clermont 2142 54
dijon 2143 53
grenoble 2141 55
lehavre 2142 54
lille 2143 53
lyon 2142 54
marseille 2142 54
montpellier 2145 51
nancy 2142 54
nantes 2141 55
nice 2142 54
paris 2144 52
rennes 2142 54
rouen 2143 53
strasbourg 2143 53
toulouse 2141 55
# 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.7066 0.8737 3.4911 0.6673 0.4250 0.9631 0.7863 0.6051 0.9794 1.0406 0.9936 1.0929 0.4346 0.2955 0.5250 0.3457 0.1839 0.5019
bordeaux 0.7020 0.2329 3.6876 1.4295 0.4666 3.0934 1.1736 0.7132 1.6529 1.0292 0.9903 1.0720 0.4927 0.2972 0.5181 0.6013 0.2038 0.7915
clermont 0.9999 0.3333 3.2144 1.1549 0.4967 2.5903 1.0428 0.8184 1.3128 1.0129 0.9738 1.0511 0.4776 0.3288 0.5049 0.5218 0.2407 0.7459
dijon 1.1590 0.1524 7.6069 1.0590 0.3610 3.6946 1.0241 0.6328 1.7479 1.0299 0.9771 1.0858 0.4721 0.1674 0.5214 0.4865 0.1036 0.8231
grenoble 1.4899 0.5997 4.6746 0.7479 0.3343 1.4500 0.8867 0.6395 1.1467 1.0439 1.0040 1.0898 0.4649 0.2515 0.5213 0.3901 0.1466 0.6078
lehavre 1.4009 0.6511 2.8436 0.8537 0.5533 1.3386 0.9295 0.7484 1.1431 1.0722 1.0103 1.1389 0.4694 0.3501 0.5295 0.4192 0.2505 0.5912
lille 0.7703 0.4854 1.1159 1.1764 0.9195 1.6027 1.0905 0.9552 1.2790 1.0526 1.0237 1.0888 0.5220 0.4944 0.5398 0.5542 0.4626 0.6518
lyon 1.4112 0.5519 4.7462 0.8207 0.3580 1.5717 0.9352 0.6927 1.1677 1.0188 0.9981 1.0409 0.4664 0.2524 0.5146 0.4200 0.1556 0.6320
marseille 0.9304 0.4152 1.7845 1.1890 0.6599 2.3495 1.0104 0.9661 1.0722 1.0041 0.9995 1.0131 0.4809 0.4182 0.4954 0.5313 0.3682 0.7054
montpellier 0.9516 0.1333 2.0587 1.0096 0.4149 6.8532 1.0013 0.9592 1.0430 0.9997 0.9936 1.0037 0.4865 0.2249 0.5181 0.5067 0.3223 0.8735
nancy 1.1360 0.1360 2.9413 0.8902 0.4656 3.4580 0.9632 0.7678 1.5771 0.9954 0.9593 1.0294 0.4699 0.3379 0.5271 0.4674 0.2426 0.8157
nantes 0.6946 0.0948 4.4008 1.2994 0.4190 4.6909 1.1309 0.6561 1.9817 1.0404 1.0037 1.0867 0.5070 0.2392 0.5373 0.5825 0.1672 0.8540
nice 0.6945 0.4804 1.0083 1.3845 0.9471 1.9866 1.0103 0.9906 1.0509 0.9999 0.9928 1.0075 0.4920 0.4494 0.5106 0.5850 0.4923 0.6696
paris 0.9119 0.5910 1.4433 1.0798 0.8333 1.3961 1.0323 0.9282 1.1383 1.0375 1.0244 1.0538 0.5086 0.4639 0.5262 0.5201 0.4120 0.6075
rennes 4.7442 0.7475 34.3725 0.3690 0.0952 1.3063 0.6529 0.3295 1.1265 1.0433 0.9849 1.1096 0.2479 0.0382 0.4888 0.1492 0.0126 0.5682
rouen 1.0998 0.4541 2.4215 1.0286 0.6377 1.6645 1.0187 0.7369 1.4089 1.0634 1.0150 1.1141 0.4945 0.3691 0.5384 0.4856 0.2815 0.6707
strasbourg 0.9112 0.4141 2.2456 1.1519 0.6857 1.8192 1.0708 0.8302 1.3232 1.0395 1.0045 1.0764 0.5041 0.3918 0.5308 0.5327 0.3207 0.6819
toulouse 0.7260 0.1171 2.8268 1.3913 0.4749 5.8316 1.0920 0.8130 1.6643 1.0284 1.0028 1.0578 0.4809 0.2973 0.5103 0.5870 0.2490 0.8683

Forestplot

Controlled Direct Effect

Pure Indirect Effect

Reference Interaction

Reference Interaction