Comment combiner deux colonnes en une dans R (avec exemples)



Souvent, vous souhaiterez peut-être combiner deux colonnes en une seule dans R. Par exemple, supposons que vous ayez un bloc de données avec trois colonnes :

  month year  value
   10   2019   15
   10   2020   13
   11   2020   13
   11   2021   19
   12   2021   22

Vous souhaiterez peut-être combiner les colonnes mois et année en une seule colonne appelée date :

    date   value
   2019_10   15
   2020_10   13
   2020_11   13
   2021_11   19
   2021_12   22

Ce didacticiel explique deux façons de procéder rapidement dans R.

Méthode 1 : utiliser la fonction Coller à partir de Base R

Le code suivant montre comment utiliser la fonction coller de la base R pour combiner les colonnes mois et année en une seule colonne appelée date :

#create data frame
data <- data.frame(month=c(10, 10, 11, 11, 12),
                   year=c(2019, 2020, 2020, 2021, 2021),
                   value=c(15, 13, 13, 19, 22))

#view data frame
data

#combine year and month into one column
data$date <- paste(data$year, data$month, sep="_")

#view new data frame 
data

  month year value    date
1    10 2019    15 2019_10
2    10 2020    13 2020_10
3    11 2020    13 2020_11
4    11 2021    19 2021_11
5    12 2021    22 2021_12

Une fois que nous avons combiné les deux colonnes, nous pouvons supprimer les anciennes si nous le souhaitons :

data_new <- data[c("date", "value")]

data_new

     date value
1 2019_10    15
2 2020_10    13
3 2020_11    13
4 2021_11    19
5 2021_12    22

Méthode 2 : utiliser la fonction Unite de Tidyr

Le code suivant montre comment utiliser la fonction unit du package tiydr pour combiner les colonnes mois et année en une seule colonne appelée date :

#load tidyr package
library(tidyr)

#create data frame
data <- data.frame(month=c(10, 10, 11, 11, 12),
                   year=c(2019, 2020, 2020, 2021, 2021),
                   value=c(15, 13, 13, 19, 22))

#combine year and month into one column
unite(data, date, c(year, month))

     date value
1 2019_10    15
2 2020_10    13
3 2020_11    13
4 2021_11    19
5 2021_12    22

Notez que les deux méthodes produisent des résultats identiques.

Vous pouvez trouver la documentation complète de la fonction unit ici .

Ajouter un commentaire

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