Bonjour,
Je dispose de plusieurs data frames comprenant 20709 lignes et 25 colonnes. La première colonne correspond à la date et les 24 autres sont des données horaires de température. De ces data frames j'ai remplacé les valeurs supérieures à 2°C et inférieures à - 2 °C par des NA. Mon problème est que je veux sélectionner des évènements qui commencent par une température négative et qui se finissent par une température positive comme dans l'exemple ci-dessous. (Les évènements sont considérés indépendants s'ils sont séparés d'au moins 3 heures, donc 3 NA)
09/03 : NA NA -1.8 -1.5 -1.2 -0.0 0.5 NA NA NA 1.8 0.8 0.4 -0.7
Je veux garder dans un autre df que :
09/03 : NA NA -1.8 -1.5 -1.2 -0.0 0.5 NA NA NA NA NA NA NA
J'ai tenté avec ifelse dans une double boucle pour grouper par évènement après mais ça ne fonctionne pas:
for (i in 1:nrow(SCHEFFERVILLE_A_gr_hour)){
for (j in 2:length(SCHEFFERVILLE_A_gr_hour)){
ifelse (SCHEFFERVILLE_A_gr_hour[i,j] == NA & SCHEFFERVILLE_A_gr_hour[i,j+1] == NA & SCHEFFERVILLE_A_gr_hour[i,j+2]==NA
& SCHEFFERVILLE_A_gr_hour[i,j+3]>=0 , SCHEFFERVILLE_A_gr_hour[i,j+3]<-"start"," ")
ifelse (SCHEFFERVILLE_A_gr_hour[i,j] <=0 & SCHEFFERVILLE_A_gr_hour[i,j+1] ==NA &
SCHEFFERVILLE_A_gr_hour[i,j+2] == NA & SCHEFFERVILLE_A_gr_hour[i,j+3] == NA, SCHEFFERVILLE_A_gr_hour[i,j]<-"end"," ")
Si quelqu'un a une piste à me fournir, ça serait avec plaisir :)
Merci beaucoup