Kombinieren von zwei Spalten zu einer in R (mit Beispielen)

Von Fabian
Kategorie: R
Tags: Operationen
Lesezeit: 2 Minuten

Oft möchten Sie in R zwei Spalten zu einer kombinieren. Angenommen, Sie haben ein Dataframe mit drei Spalten:

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

Möglicherweise möchten Sie die Monats- und Jahresspalte in einer einzigen Spalte mit dem Namen Datum kombinieren:

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

In diesem Tutorial werden zwei Möglichkeiten erläutert, wie Sie dies in R schnell tun können.

Methode 1: Verwenden Sie die Einfügefunktion von Basis R

Der folgende Code zeigt, wie Sie mit der paste-Funktion von Basis R die Spalten month und year in einer einzigen Spalte mit dem Namen date kombinieren:

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

#Dataframe anzeigen
data

#Jahr und Monat in einer Spalte zusammenfassen
data$date <- paste(data$year, data$month, sep="_")

#neues Dataframe anzeigen
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

Sobald wir die beiden Spalten kombiniert haben, können wir die alten entfernen, wenn wir möchten:

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

Methode 2: Verwenden Sie die unite-Funktion von Tidyr

Der folgende Code zeigt , wie Sie die unite-Funktion aus dem tiydr Paket verwenden, die Spalten month und year in einer einzigen Spalte namens date zu kombinieren:

#Tidyr-Paket laden
library(tidyr)

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

#Jahr und Monat in einer Spalte zusammenfassen
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

Beachten Sie, dass beide Methoden identische Ergebnisse liefern.

Die vollständige Dokumentation zur unite-Funktion finden Sie hier.

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: