Data Frame aus Reihendaten

Author

Claudia Spannbauer

Anwendungsfall:

  • Daten sind in Reihen / Fällen organisiert und sollen als Data Frame zusammengeführt werden

Lösung

  • Speichere jede Reihe in einen 1-Reihen Data Frame.

  • Nutze rbind() aus dem Paket dplyr, um die Reihen zusammenzuführen.

library(dplyr)

Attache Paket: 'dplyr'
Die folgenden Objekte sind maskiert von 'package:stats':

    filter, lag
Die folgenden Objekte sind maskiert von 'package:base':

    intersect, setdiff, setequal, union
r1 <- data.frame(a = 1, b = 2, c = "X")
r2 <- data.frame(a = 3, b = 4, c = "Y")
r3 <- data.frame(a = 5, b = 6, c = "Z")

rbind(r1, r2, r3)
  a b c
1 1 2 X
2 3 4 Y
3 5 6 Z

Reihen in einer Liste

  • Bei einer großen Anzahl von Reihen sind diese oft in Listen gespeichert.
  • Nutze bind_rows() aus dplyr.
list.of.rows <- list(r1, r2, r3)
bind_rows(list.of.rows)
  a b c
1 1 2 X
2 3 4 Y
3 5 6 Z

Jede Reihe in einer Liste

l1 <- list(a = 1, b = 2, c = "X")
l2 <- list(a = 3, b = 4, c = "Y")
l3 <- list(a = 5, b = 6, c = "Z")
list.of.lists <- list(l1, l2, l3)

bind_rows(list.of.lists)
# A tibble: 3 × 3
      a     b c    
  <dbl> <dbl> <chr>
1     1     2 X    
2     3     4 Y    
3     5     6 Z