Wie kann man Daten von ‘long’ zu ‘wide format’ in R umformen?

In R kann man Daten von ‘long’ zu ‘wide format’ mit der Funktion spread() aus dem tidyverse-Paket oder mit der Funktion dcast() aus dem data.table-Paket umformen.

1. Verwenden von spread()

Zuerst müssen Sie das tidyverse-Paket installieren und laden:

install.packages("tidyverse")
library(tidyverse)

Angenommen, Sie haben ein langes Datenformat namens long_data:

long_data <- tribble(
  ~id, ~variable, ~value,
  1, "A", 100,
  1, "B", 200,
  2, "A", 300,
  2, "B", 350
)

Um die Daten von ‘long’ zu ‘wide format’ umzuformen, können Sie die spread()-Funktion verwenden:

wide_data <- long_data %>%
  spread(key = variable, value = value)

2. Verwendung der dcast()-Funktion

Zuerst müssen Sie das data.table-Paket installieren und laden:

install.packages("data.table")
library(data.table)

Angenommen, Sie haben dasselbe langformatige Dataset long_data:

setDT(long_data)

Um die Daten von ‘long’ zu ‘wide format’ umzuformen, können Sie die dcast-Funktion verwenden:

wide_data <- dcast(long_data, id ~ variable, value.var = "value")

Beide Methoden führen zum gleichen Ergebnis. Es ist wichtig zu beachten, dass Sie den richtigen Wert für die key– bzw. 'formula-Argumente und den richtigen Wert für das value– bzw. value.var-Argument angeben.