Wie schalte ich die numerische Ausgabe von boxplots (mit plot=FALSE) in etwas brauchbar?
Ich bin erfolgreich mit dem boxplot
Funktion zu generieren... boxplots. Nun muss ich das generieren von Tabellen mit Statistiken, die boxplot
berechnet, um plots.
Dafür benutze ich die plot=FALSE
option.
Das problem ist, dass dieses produziert Daten in eine eher seltsame format, dass ich einfach nichts tun kann mit. Hier ist ein Beispiel:
structure(list(stats = structure(c(178.998262143545, 182.227431564442,
202.108456373209, 220.375358994654, 221.990406228232, 216.59986775699,
217.054997032148, 228.509462713206, 267.070720949859, 284.832378859975,
189.864120937198, 201.876421960518, 219.525439081472, 234.260088973545,
279.343359793024, 209.472617639903, 209.526516071858, 214.785213079737,
230.027361556731, 240.0647114578, 202.057148813419, 207.375619207685,
220.093663781351, 226.246698737471, 240.343646265795), .Dim = c(5L,
5L)), n = c(4, 6, 8, 4, 8), conf = structure(c(171.971593703341,
232.245319043076, 196.247705331772, 260.771220094641, 201.435457751239,
237.615420411705, 198.589545146688, 230.980881012787, 209.552007821332,
230.635319741371), .Dim = c(2L, 5L)), out = numeric(0), group = numeric(0),
names = c("U", "UM", "M", "LM", "L")), .Names = c("stats", "n", "conf", "out", "group",
"names"))
Was ich will ist eine Tabelle, die für jeden von der Statistik -- min, max, median und die Quartile -- und deren Werte für jede Gruppe (die, die im "Namen").
Könnte jemand mir eine hand mit diesem? Ich bin sehr viel ein R Anfänger.
Vielen Dank im Voraus!
- Gil, benötigen Sie die entsprechenden zahlen an das Ende der Bärte oder die minimum und maximum der Daten?
Du musst angemeldet sein, um einen Kommentar abzugeben.
boxplot
gibt eine Struktur in R genanntlist
.Einer Liste ist mehr oder weniger ein Daten-container, wo Sie können, finden Sie Elemente nach name.
Wenn Sie
A <- boxplot(...)
können Sie den Zugriff auf dienames
mitA$names
, dieconf
mitA$conf
usw.So, Blick auf die
boxplot
helpfile?boxplot
unterValue:
(die Ihnen sagt, wasboxplot
gibt), sehen wir, dass es gibt eine Liste mit den folgenden Komponenten:Damit die Tabelle für jeden der stats ist in
A$stats
jede Spalte gehört zu einer Gruppe und enthält Minimum, unteres Quartil, median, Oberes Quartil und max.Könnten Sie tun:
gibt (für
mytable
):Dann finden Sie auf es wie
mytable['min','U']
.row.names
stattrownames
Wenn Sie wirklich wollen, Quantile Ihrer Daten statt boxplot zahlen, mit
quantile
direkt wäre meine Wahl (ist es viel einfacher zu Lesen, wenn man sich durch das, was Sie Taten später).quantile
sich nicht für die Arbeit mit Gruppen, aber Sie können kombinieren Sie es mitaggregate
so heißt es für jede der Gruppen gegeben in argumentby
(muss eine Liste, so können Sie kombinieren hier verschiedene Gruppierung der Faktoren):mit dem Ergebnis:
Wenn Sie wirklich wollen, um ein boxplot-Nummern (z.B., wie weit der Backenbart gehen), haben Sie einen Blick auf
? fivenum
und? boxplot.stats
.boxplot.stats
. Bitte beachten Sie, dass der boxplot-Whisker nicht unbedingt decken das gesamte Spektrum der Daten, d.h. die erste und die Letzte Zeile in derstats
matrix kann nicht seinmin
undmax
der Daten.Andere haben beantwortet die konkrete Frage über die Rückgabe-Objekt für die
boxplot
Funktion, ich möchte nur hinzufügen, dass, wenn Sie möchten, erfahren Sie mehr über die Objekte zurückgeben im Allgemeinen, dann sollten Sie wirklich lernen, über die Listen und die Verwendung derstr
Funktion, die in der Regel geben Sie einem viel mehr sinnvolle Sicht auf ein Objekt, dann das, was du oben zeigen. Es gibt auch dieTkListView
Funktion in derTeachingDemos
- Paket, das gibt eine mehr interaktive exploration der Liste und andere Objekte. Mitstr
undnames
- und Untergruppen (siehe auch help("[")) lassen Sie ein Gefühl dafür bekommen, was in einem Objekt zurück (die Hilfeseite für die Funktion, die das Objekt erstellt hat, ist auch ein guter Ort, um zu starten) und wie Sie auf die Stücke, die Sie wünschen.