2016-08-08 9 views
1

Ich habe einen Datenrahmen erzeugt, indem t(summary(raw_data())):Verwenden erster Teil des Wertes als Header in r

Original data frame

jedoch jede Zelle einen Präfix von gleich max, min, Mittelwert, etc ... und Ich möchte dieses Präfix aus jeder Zeile entfernen und es in die Kopfzeile setzen. Gibt es eine einfache Möglichkeit, dies in r zu tun, um die Datenrahmen zu erhalten wie folgt aussehen:

Desired data frame

auch so weit wie Variablen 3 & 18, die Faktoren sind. Jene, um die ich weniger besorgt bin.

Antwort

1

Wir können eine Schleife durch die Spalten des Datensatzes, erhalten die summary und dann rbind der Ausgang

do.call(rbind, lapply(raw_data, summary)) 

ein reproduzierbares Beispiel Mit

do.call(rbind, lapply(iris[1:4], summary)) 
#    Min. 1st Qu. Median Mean 3rd Qu. Max. 
#Sepal.Length 4.3  5.1 5.80 5.843  6.4 7.9 
#Sepal.Width 2.0  2.8 3.00 3.057  3.3 4.4 
#Petal.Length 1.0  1.6 4.35 3.758  5.1 6.9 
#Petal.Width 0.1  0.3 1.30 1.199  1.8 2.5 
+0

Kann ich fragen, wie Sie mit dieser Lösung kam ? –

+0

@WillKnight Nur durch Raten, wie sich die 'Zusammenfassung' verhält, wenn wir durch die Spalten laufen. – akrun

+0

Das funktioniert also super. Allerdings, wenn ich die Tabelle anzeigen, hat es die ersten drei Attribute (min, 1. q, Median) auf der Oberseite und die nächsten drei auf der Unterseite (Mittelwert, 3. q, und max). Jedes "top" und "bottom" beginnt mit den Variablen (Sepal ..., Petal ...), so dass der Datenrahmen in zwei Zeilen aufgeteilt ist. Ich habe versucht, die Größe des Fensters zu ändern und es wird sich von Zeit zu Zeit leicht ändern, aber nicht genug, um direkt verwandt zu sein. Gibt es eine todsichere Möglichkeit, den Datenrahmen in einem Chunk anzuzeigen? –