Isoler date min/max d'une data

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Haine Nathan
Messages : 3
Enregistré le : 14 Fév 2022, 16:17

Isoler date min/max d'une data

Messagepar Haine Nathan » 11 Mai 2022, 12:37

Bonjour ,

Encore une question d'un débutant sur R , merci d'avance de me donner un coup de main.

J'ai une data avec des dates d'inventaires et des auteurs , j'aimerais sélectionner la date maximum et la date minimum


Exemple reproductible.

Code : Tout sélectionner

library(dplyr)
library(lubridate)
v1<-c("06/08/2013","08/08/2013","09/08/2013","09/08/2013","08/04/2012","08/04/2012","04/03/2019","05/03/2019","27/04/2019","27/04/2019","28/04/2019","05/05/2012","05/05/2012","24/01/2013")
v2<-c("Jean Pierre" , "Christian","Michel","Michel" ,"Dupont",  "Dupont" , "Jean" , "Bernard" , "Christian" , "Christian" , "Bob"  ,"Dupont" , "Dupont" , "Michel" )
df<-data.frame(v1,v2)
names(df)=c("Date","Auteur")
df$Date<-dmy(df$Date)


Pour l'instant j'ai essayé ça :


Code : Tout sélectionner

temps_participation<-data.frame(matrix(nrow=1,ncol=3))
names(temps_participation)=c("Auteur","Min","Max")

for (i in unique(df$Auteur)){
  tab_tempo <- df %>%
    filter(Auteur==i)
  mini=min(ymd(tab_tempo$Date))
  maxi=max(ymd(tab_tempo$Date))
  temps_participation<-rbind(temps_participation,c(i,mini,maxi))


ça marche bien , mais ... ça ne marche pas. R me sort des données chiffrés complètement déconnecté des dates et donc inexploitable pour moi.
Ex:
Auteur Min Max
Dupont 15438 15465

Je pense que c'est une question de format mais les formulations

mini=min(tab_tempo$Date)
mini=min(As.Date(tab_tempo$Date))
mini=min(ymd(tab_tempo$Date))

ne semble pas changer grand chose.

Si vous avez une idée pour me débloquer , je vous en remercie chaleureusement.

Eric Casellas
Messages : 767
Enregistré le : 06 Jan 2009, 14:59

Re: Isoler date min/max d'une data

Messagepar Eric Casellas » 11 Mai 2022, 12:57

Bonjour,

A priori le soucis viens de ta dernière ligne de la boucle

Code : Tout sélectionner

c(i,mini,maxi)
, la fonction c génère un vecteur qui n'as qu'un seul type pour tous les éléments, c'est pourquoi tes dates mini et maxi ne sont plus au format date à partir de là...

Eric
Eric

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Re: Isoler date min/max d'une data

Messagepar Logez Maxime » 11 Mai 2022, 13:04

Bonjour,

Code : Tout sélectionner

df %>%
  mutate(date = ymd(Date)) %>%
  group_by(Auteur) %>%
  summarise(mini = min(date), maxi = max(date))


Cordialement,
Maxime


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité