2016-08-04 21 views
0

Ich habe 10 data.frames, jede mit nur einer Spalte, in einer Liste enthalten und muss sie in numerische Vektoren umwandeln.Konvertiere data.frames innerhalb einer Liste in numerische Vektoren

Hier ein Beispiel für meinen 10. data.frame innerhalb der Liste:

[[10]] 
      x 
1 115.065808 
2 97.358465 
3 92.434613 
4 146.454943 

Wie kann ich es tun?

Dank

+0

Was Sie es wollen sein? data.frames haben typischerweise einen Namen in der Spalte, auch wenn es generisch ist (wie v1) Würden Sie lieber diese data.frames als Vektoren verwenden? – lmo

+0

Von https://stat.ethz.ch/R-manual/R-devel/library/base/html/data.frame.html: "Die Spaltennamen sollten nicht leer sein und versuchen, leere Namen zu verwenden nicht unterstützte Ergebnisse. ". –

+0

Möchten Sie sie grundsätzlich in Vektoren umwandeln? Versuchen Sie 'as.numeric', https://stat.ethz.ch/R-manual/R-devel/library/base/html/numeric.html –

Antwort

1

Hier gibt zwei Möglichkeiten, eine Liste von data.frames, die jeweils mit einer Spalte zu einer Liste von unnamed Vektoren zu konvertieren.

1) Mit unlist

your_new_list <- lapply(your_list, unlist, use.names = FALSE) 

2) die Eingabe-Operator verwenden, [[

your_new_list <- lapply(your_list, "[[", 1) 

Hier ist eine Beispielliste, um es auszuprobieren:

set.seed(1234) 
your_list <- list(data.frame(a=1:10), data.frame(a=rnorm(50)), data.frame(b=letters[1:10])) 
+0

großartig! sehr erschöpfende Antwort :) –