2017-11-20 27 views
1

Ich bin neu in R. Ich versuche, die Daten (df, Liste) in jeder Unterliste mit lapply Boxplot. Ich habe diese Funktion geschrieben:Boxplot Unterlisten einer Liste

group.box <- function(x) { 
    lapply(X = x, FUN = boxplot) 
} 

es auf der Liste Lauf, die 6 Teillisten enthält, gibt mir 6 einzelne boxplot Graph (6 getrennt Graphen) und diesen Text:

$sublist1 
NULL 

$sublist2 
NULL 

$sublist3 
NULL 

... 

Ich habe versucht, kombinieren diese Diagramme zu einem Bild mit 6 Graphen:

par(mfrow=c(2,3)) 
group.box(data) 
dev.off() 

Aber dann bekomme ich nur den Text (wie oben dargestellt) ohne Graphen. Ich dachte, vielleicht sollte ich diese 6 Grafiken nur in eine PDF-Datei exportieren.

Vielen Dank!

+0

Willkommen bei R :-) verwenden können. Könnten Sie bitte etwas mehr Informationen über die Daten liefern, die Sie plotten möchten, damit Sie [ein vollständig reproduzierbares Beispiel erstellt haben] (https://stackoverflow.com/questions/5963269/how-to-make-a-great-r -reproduzierbar-Beispiel). Dies wird es einfacher machen, zu helfen. Je nach Datenmenge 'dput (yourdata)' oder 'dput (head (yourdata))'. –

+0

Vielen Dank für Ihre Referenz und Vorschlag, nach dem Ausführen 'dput (Daten)' und 'dput (Kopf (Daten))', die eine große Menge an Daten in verschiedenen Typen enthielt, die ich nicht für hilfreich halte. Ich versuche normalerweise maximale Informationen zu bringen. Danke nochmal! :) – Keity

+1

Ok, ich verstehe. Da die in den Daten enthaltenen Typen für viele Aufgaben und Funktionen relevant sind, können Sie auch 'str (yourdata)' versuchen, was Informationen über die Struktur Ihres Objekts gibt. Könnten immer noch zu viele Informationen sein, aber Sie können es versuchen, einfach wollte dies zum Zweck des Lernens hinzufügen. –

Antwort

1

könnten Sie

versuchen
data <- data.frame(a = rnorm(100), b = rnorm(100), c = rnorm(100), d = rnorm(100), e = rnorm(100), f = rnorm(100)) 

group.box <- function(x, plot_row, plot_col) { 
    quartz() 
    par(mfrow=c(plot_row,plot_col)) 
    lapply(X = x, FUN = boxplot) 
} 

group.box(data, 2,3) 

Sie natürlich png(...) oder pdf(...) usw. statt quartz()

+0

Vielen Dank! Ich möchte nur hinzufügen, dass nach der Funktion 'lapply' innerhalb der Funktion' group.box' ein 'dev.off()' Befehl notwendig ist. – Keity

+0

Nur wenn Sie in eine Datei schreiben (png/pdf ...), wenn Sie ein Quarzfenster öffnen, möchten Sie wahrscheinlich, dass es geöffnet bleibt. Wenn Sie meine Antwort hilfreich fanden, können Sie [akzeptieren] (https://stackoverflow.com/help/someone-answers) –

Verwandte Themen