Changes between Version 2 and Version 3 of Calculating winter and summer temperatures per year
- Timestamp:
- Jun 15, 2010 3:41:30 PM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Calculating winter and summer temperatures per year
v2 v3 6 6 Période estivale : juin, juillet, août, septembre (tel que défini dans 7 7 8 * Pour avoir la température hivernale pour chaque année par gridid : 8 * Pour avoir la température '''estivale''' pour chaque année par gridid : 9 tapply(tmp$value[tmp$season=="summer"],list(tmp$gridid[tmp$season=="summer"],tmp$year[tmp$season=="summer"]),mean) 10 11 * Pour avoir la température '''hivernale''' pour chaque année par gridid : 9 12 tapply(tmp$value[tmp$season=="winter"],list(tmp$gridid[tmp$season=="winter"],tmp$year[tmp$season=="winter"]),mean) 10 13 11 * Pour avoir la température estivale pour chaque année par gridid : 12 tapply(tmp$value[tmp$season=="summer"],list(tmp$gridid[tmp$season=="summer"],tmp$year[tmp$season=="summer"]),mean) 14 * Mais c'est plus compliqué : 15 En fait pour les "winter temperatures" on doit prendre le mois de décembre de l'année t et les mois de janvier et février de l'année t+1 et faire la moyenne sur ces trois mois. 16 {{{ 17 NNum<-length(levels(as.factor(tmp$Num))) 18 Nyear<-length(as.numeric(min(tmp$year)):as.numeric(max(tmp$year))) 19 tmpwinter<-array(NA,c(Ntmp,Nyear)) 20 system.time( 21 for(i in 1:NNum){ 22 for(j in (as.numeric(min(tmp$year))+1):as.numeric(max(tmp$year))){ 23 tmpwinter[i,j-as.numeric(min(tmp$year))+1]<-sum(tmp$value[tmp$month=="12"&tmp$year==(j-1)&tmp$Num==i], 24 tmp$value[tmp$month=="1"&tmp$year==j&tmp$Num==i], 25 tmp$value[tmp$month=="2"&tmp$year==j&tmp$Num==i])/3 26 } 27 } 28 ) 29 tmpwinter<-as.data.frame(tmpwinter) 30 names(tmpwinter)<-paste("w",as.numeric(min(tmp$year)):as.numeric(max(tmp$year)),sep="") 31 }}} 13 32 14 15 * Mais c'est plus compliqué :16 En fait pour les "winter temperatures" on doit prendre le mois de décembre de l'année t et les mois de janvier et février de l'année t+1 et faire la moyenne sur ces trois mois.17 18 19