Forum de Statistiques
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-50%
Le deal à ne pas rater :
[Adhérents Fnac] -50% Casque Pro Gaming HyperX Cloud Alpha Noire et ...
49.99 € 99.99 €
Voir le deal

Calcul de date

2 participants

Aller en bas

Calcul de date Empty Calcul de date

Message par preliator Jeu 30 Mai 2019 - 9:47

Bonjour à tous,

Je dispose d'un fichier de donnée de relevé kilometriques, avec Prénom, Date, et Kilometre par jour, de janvier 2012 à février 2019. Je souhaiterais trouver combien de kilomètre ont été parcouru par mois, ou par semaine.

J'ai commencé à utiliser package "lubridate". Aucun problème pour calculer les KM parcourus par année avec cette formule :

Code:

Km_Par_Annee = aggregate(data$KM~year(data$date), data, sum)

Par contre, pour les mois, cette technique ne marche pas. En effet, j'ai l'impression qu'il me cumule les KM de tout les Janvier, février, ... de toute les années. Ainsi, avec cette formule qui ne marche pas comme je voudrais ...

Code:

Km_Par_Mois = aggregate(data$KM~month(data$date), data, sum)

... je me retrouve avec une table contenant seulement 12 entrées (pour janvier, février, ...) avec les kilometres cumulés sur toute les années. Or moi, je voudrais avec le nombre de kilometre pour chaque mois et par année (Janvier 2012, Fevrier 2012, Mars 2012, ...... Janvier 2019, Fevrier 2019, etc).


Ici pour télécharger le fichier de données : https://drive.google.com/open?id=1ilUt14HvpJU7cWw5QSFazbPW-28myYS4

Merci.

preliator

Nombre de messages : 42
Date d'inscription : 01/04/2019

Revenir en haut Aller en bas

Calcul de date Empty Re: Calcul de date

Message par falques Lun 3 Juin 2019 - 12:25

Bonjour,
Pour mon exemple j'ai générer la petite data frame que voila :
Lorsque que tu utilise year(date) ou month(date) tu créer un vecteur temporaire avec l'année ou seulement le mois. Comme dans la data.frame si dessous.

Code:

tmp <- data.frame(
  km =  rep(rep(11:15,12),2) ,
  annee=  rep(rep(2011:2015,12),2),
  mois=  rep(rep(1:12,5),2)
)
tmp


Ce que tu fait :

Code:
aggregate(km~mois, tmp, sum)


Ici R va faire la somme en fonction du vecteur mois, et sans celui de l'année il faut donc modifier la formule tel que voici :
Code:
aggregate(km~mois+annee, tmp, sum)


Tu peux aussi faire :

Code:
aggregate(tmp$km, list(tmp$annee,tmp$mois), sum )

Pour obtenir la somme par moi et par an !


Le package dyplr permet je trouve de faire des aggregates plus lisible ! Voici le code :

Code:
tmp %>% group_by(mois,annee) %>% summarise(KmTotal = sum(km), KmMoyen = mean(km))

falques

Nombre de messages : 14
Date d'inscription : 07/05/2019

Revenir en haut Aller en bas

Calcul de date Empty Re: Calcul de date

Message par preliator Lun 3 Juin 2019 - 12:37

Merci beaucoup pour ces explications claires et précises Smile

preliator

Nombre de messages : 42
Date d'inscription : 01/04/2019

Revenir en haut Aller en bas

Calcul de date Empty Re: Calcul de date

Message par falques Lun 3 Juin 2019 - 12:50

De rien !
Bonne continuation Very Happy !

falques

Nombre de messages : 14
Date d'inscription : 07/05/2019

Revenir en haut Aller en bas

Calcul de date Empty Re: Calcul de date

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum