Ich erhalte eine benannte Liste von Datenrahmen unter Verwendung einer R-API für einen Datenanbieter. Unten würde ich eine ähnliche Struktur strukturieren.R Übergabe des Namens der Listenobjekte an die Listenobjekte selbst.
spec1 <- data.frame(speed = 100, wt = 5, price = 10)
spec2 <- data.frame(speed = 1000, wt = 1, price = 100)
spec3 <- data.frame(speed = 1, wt = 50, price = 5)
mylist <- list(car = spec1,exotic = spec2, truck = spec3)
Mein Ziel ist es, in einen flachen Datenrahmen wie unten zu drehen, so dass ich es in eine SQL-Datenbank exportieren.
car_type speed wt price
-------- ------ ---- -----
car 100 5 10
exotic 1000 1 100
truck 1 50 5
Mein Problem ist, dass die Kennung für „car_type“ wird als der Name des Datenrahmens in der Liste gespeichert, und ich weiß nicht, wie es Funktion einer Wiederholung zu übergeben Sie die Tabelle zu füllen.
Zum Beispiel verwende ich die folgende die car_type aus den Namen der Elemente in der Liste zu bekommen
car_type <- sapply(seq_along(mylist), function(x) names(mylist)[x])
Und dann verwende ich die im Anschluss an die eine car_type (substituiert durch „X“) in der wiederholen darunterliegende Tabellen und dann anhängen.
category <- lapply(mylist, function(y) rep("X" ,dim(y)[1]))
mylist <- lapply(seq_along(mylist), function(x)
Allerdings kann ich nicht zu verwalten scheinen die Namen in car_type gefunden passieren wieder in eine neue Kategorie Spalte in meinem Dataset erstellen, die bestehen bleiben wird, wenn es abgeflacht ist.
LOL. Brilliant und so einfach. Hab so viele Stunden damit verbracht es herauszufinden. Vielen Dank @ friep – Luongjames