Comment arrondir les valeurs dans des colonnes spécifiques à l’aide de dplyr



Vous pouvez utiliser les méthodes suivantes pour arrondir les valeurs dans des colonnes spécifiques d’un bloc de données à l’aide du package dplyr dans R :

Méthode 1 : arrondir les valeurs dans des colonnes spécifiques

library(dplyr)

#round values in 'sales' and 'returns' columns to 2 decimal places 
df_new <- df %>% mutate(across(c('sales', 'returns'), round, 2))

Méthode 2 : arrondir les valeurs dans toutes les colonnes numériques

library(dplyr)

#round values in all numeric columns to 2 decimal places
df_new <- df %>% mutate(across(where(is.numeric), round, 2))

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le bloc de données suivant dans R :

#create data frame
df <- data.frame(store=c('A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'),
                 sales=c(4.352, 6.5543, 7.5423, 9.22111, 4.332, 9.55, 8.0094, 7.2),
                 returns=c(1.2324, 2.6654, 3.442, 6.545, 8.11, 8.004, 7.545, 6.0),
                 promos=c(12.11, 14.455, 10.277, 23.51, 20.099, 29.343, 30.1, 45.6))

#view data frame
df

  store   sales returns promos
1     A 4.35200  1.2324 12.110
2     A 6.55430  2.6654 14.455
3     A 7.54230  3.4420 10.277
4     B 9.22111  6.5450 23.510
5     B 4.33200  8.1100 20.099
6     C 9.55000  8.0040 29.343
7     C 8.00940  7.5450 30.100
8     C 7.20000  6.0000 45.600

Exemple 1 : arrondir les valeurs dans des colonnes spécifiques à l’aide de dplyr

Le code suivant montre comment arrondir les valeurs des colonnes ventes et retours à 2 décimales :

library(dplyr)

#round values in 'sales' and 'returns' columns to 2 decimal places 
df_new <- df %>% mutate(across(c('sales', 'returns'), round, 2))

#view updated data frame
df_new

  store sales returns promos
1     A  4.35    1.23 12.110
2     A  6.55    2.67 14.455
3     A  7.54    3.44 10.277
4     B  9.22    6.54 23.510
5     B  4.33    8.11 20.099
6     C  9.55    8.00 29.343
7     C  8.01    7.54 30.100
8     C  7.20    6.00 45.600

Notez que les valeurs des colonnes ventes et retours sont arrondies à 2 décimales tandis que toutes les autres colonnes restent inchangées.

Exemple 2 : arrondir les valeurs dans toutes les colonnes numériques à l’aide de dplyr

Le code suivant montre comment arrondir les valeurs de toutes les colonnes numériques à 2 décimales :

library(dplyr)

#round values in all numeric columns 2 decimal places 
df_new <- df %>% mutate(across(where(is.numeric), round, 2))

#view updated data frame
df_new

  store sales returns promos
1     A  4.35    1.23  12.11
2     A  6.55    2.67  14.46
3     A  7.54    3.44  10.28
4     B  9.22    6.54  23.51
5     B  4.33    8.11  20.10
6     C  9.55    8.00  29.34
7     C  8.01    7.54  30.10
8     C  7.20    6.00  45.60

Notez que les valeurs des trois colonnes numériques du bloc de données ont été arrondies à 2 décimales.

Connexe : Comment utiliser la fonction across() dans dplyr

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans dplyr :

dplyr : Comment muter une variable si la colonne contient une chaîne
dplyr : Comment modifier les niveaux de facteurs à l’aide de mutate()
dplyr : Comment additionner sur plusieurs colonnes

Ajouter un commentaire

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