Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment regrouper les données par heure dans R (avec exemple)



Vous pouvez utiliser la syntaxe suivante pour regrouper les données par heure et effectuer une agrégation dans R :

library(dplyr)
library(lubridate)

#group by hours in time column and calculate sum of sales
df %>%
  group_by(time=floor_date(time, '1 hour')) %>%
  summarize(sum_sales=sum(sales))

Cet exemple particulier regroupe les valeurs par heure dans une colonne appelée heure , puis calcule la somme des valeurs dans la colonne ventes pour chaque heure.

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : regrouper les données par heure dans R

Supposons que nous disposions du bloc de données suivant qui montre le nombre de ventes réalisées à différents moments de la journée pour un magasin :

#create data frame
df <- data.frame(time=as.POSIXct(c('2022-01-01 01:14:00', '2022-01-01 01:24:15',
                                 '2022-01-01 02:52:19', '2022-01-01 02:54:00',
                                 '2022-01-01 04:05:10', '2022-01-01 05:35:09')),
                 sales=c(18, 20, 15, 14, 10, 9))

#view data frame
df

                 time sales
1 2022-01-01 01:14:00    18
2 2022-01-01 01:24:15    20
3 2022-01-01 02:52:19    15
4 2022-01-01 02:54:00    14
5 2022-01-01 04:05:10    10
6 2022-01-01 05:35:09     9

Nous pouvons utiliser la syntaxe suivante pour regrouper la colonne de temps par heures et calculer la somme des ventes pour chaque heure :

library(dplyr)
library(lubridate)

#group by hours in time column and calculate sum of sales
df %>%
  group_by(time=floor_date(time, '1 hour')) %>%
  summarize(sum_sales=sum(sales))

`summarise()` ungrouping output (override with `.groups` argument)
# A tibble: 4 x 2
  time                sum_sales
                    
1 2022-01-01 01:00:00        38
2 2022-01-01 02:00:00        29
3 2022-01-01 04:00:00        10
4 2022-01-01 05:00:00         9

À partir du résultat, nous pouvons voir :

  • Au total, 38 ventes ont été réalisées au cours de la première heure.
  • Au total, 29 ventes ont été réalisées au cours de la deuxième heure.
  • Au total, 10 ventes ont été réalisées au cours de la quatrième heure.
  • Au total, 9 ventes ont été réalisées au cours de la cinquième heure.

Notez que nous pouvons également effectuer une autre agrégation.

Par exemple, nous pourrions calculer le nombre moyen de ventes par heure :

library(dplyr)
library(lubridate)

#group by hours in time column and calculate mean of sales
df %>%
  group_by(time=floor_date(time, '1 hour')) %>%
  summarize(mean_sales=mean(sales))

`summarise()` ungrouping output (override with `.groups` argument)
# A tibble: 4 x 2
  time                mean_sales
                     
1 2022-01-01 01:00:00       19  
2 2022-01-01 02:00:00       14.5
3 2022-01-01 04:00:00       10  
4 2022-01-01 05:00:00        9  

À partir du résultat, nous pouvons voir :

  • Les ventes moyennes réalisées dans la première heure étaient de 19 .
  • La moyenne des ventes réalisées dans la deuxième heure était de 14,5 .
  • Les ventes moyennes réalisées dans la quatrième heure étaient de 10 .
  • Les ventes moyennes réalisées dans la cinquième heure étaient de 9 .

N’hésitez pas à regrouper votre propre bloc de données par heure et à calculer toute métrique spécifique que vous souhaitez en modifiant la métrique dans la fonction summary() .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans R :

Comment regrouper les données par mois dans R
Comment regrouper les données par semaine dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *