J'ai une extraction d'un logiciel de surveillance en température (données sources). Extraction des données au format.csv entre deux dates qui vous varier selon la fréquence d'extraction.
Je travaille avec les package 'lubridate' , 'hms' et j'ai intégré aussi 'timetk' si utile (mais pour l'instant je ne l'utilise pas)
Avec cette première partie de code je crée mon tibble
Code : Tout sélectionner
ini<-read_csv2("tumocong5_dec2022_ini.csv", col_names = c("date","temp" ), col_types= list("?","?"), skip = 2)%>%
filter(!is.na(temp))%>%
mutate(DaTime = dmy_hm(date),
date = as.Date(DaTime),
heure=as_hms(DaTime))%>%
dplyr::select(DaTime,date,heure,temp)
Note: je ne sais pas trop comment intégrer une image de mes données (19773 données) donc voilà un résumé; 4 vecteurs
DaTime - format POSIXct - "aaaa-mm-jj hh:mm:ss"
date - format date "aaaa-mm-jj"
heure - format hms "hh:mm:ss"
temp - format num
note: peut-être que les vecteurs heure et date ne seront plus utile selon sur quel vecteurs vous allez travaillé
Jusqu'à présent j'ai grugé en ne sélectionnant que les données de minuit à 9:00 du matin sur une seule journée en ajoutant au code ci-dessous la ligne
Code : Tout sélectionner
filter((heure>= as_hms(0) & heure<as_hms(32400)))
Mais maintenant pour avoir plus de valeurs je souhaiterais filtrer les données de 22:00:00 (jour J) à 8:00:00 le lendemain (J+1) (=période nuit). Et c'est là qu'apparait mon incompréhension. Comment filtrer uniquement cette période nuit ?
PUIS
Comment modifier le code suivant pour pourvoir calculer uniquement sur la période nuit?
Code : Tout sélectionner
ini1<- ini %>%
group_by(periode_nuit)%>%
reframe(N=n(),
m=mean(temp,na.rm=TRUE),
ec=sd(temp,na.rm=TRUE)) %>%
mutate (Cpku=(-70-m)/(3*ec)) %>%
mutate (groupe="initial") %>%
mutate (mSup = m+3*ec, mInf = m-3*ec)
Je suis désolé si le format n'est pas au poil car je viens très rarement
Merci par avance pour votre aide
Didier