Pivot-Tabelle-Ausgabe wie in R?
Ich bin einen Bericht zu schreiben, erfordert die Erzeugung einer Anzahl von pivot-Tabellen in Excel. Ich würde gern denken, dass es ist ein Weg, dies zu tun in R so, dass ich vermeiden kann Excel. Ich würde gerne eine Ausgabe wie die Abbildung unten (Lehrer Namen geschwärzt). Soweit ich das beurteilen kann, die ich verwenden könnte, der reshape-Paket zur Berechnung der aggregierten Werte, aber ich würde tun müssen, dass eine Anzahl von Zeiten, und irgendwie bekommen Sie alle Daten in der richtigen Reihenfolge. An diesem Punkt, ich sollte nur sein, es zu tun in Excel. Hat jemand irgendwelche Vorschläge oder Paket-Empfehlungen? Danke!
(BEARBEITEN)
Die Daten, die beginnt, als eine Liste von Schülern, Ihrer Lehrerin, in der Schule, und Wachstum. Diese Daten werden dann aggregiert, um eine Liste der Lehrer mit Ihren durchschnittlichen Klasse Wachstum. Bitte beachten Sie die Lehrer werden dann gruppiert nach der Schule. Das größte problem sehen ich dies mit R nun ist, wie bekommen Sie die Zwischensumme und Summe Zeilen (BSA1 Summe, Gesamtsumme, usw.) gibt, da Sie nicht die gleiche Art von Beobachtung als die anderen? Tun Sie nur manuell zu berechnen und zu versuchen, Sie zu bekommen in der richtigen Reihenfolge, so erscheinen Sie am unteren Rand dieser Gruppe?
plyr
oder reshape
oder Basis-Funktionen wie cast
etc. Immer die Ausgabe, die Sie haben, ist ganz einfach in R, aber Sie bekommen es in text-format. Das layout sollte getan werden, an anderer Stelle.Sie sollten sich in R Data-Frames.
Es gibt sicherlich eine Reihe von einfachen Möglichkeiten, dies zu tun, die in R, aber es wäre viel besser, wenn Sie bieten könnte, was die Daten beginnen als darüber hinaus zu dem Ergebnis, das Sie möchten, erhalten Sie besser und besser anwendbar code.
wie es scheint, gibt es einige Problem mit der Bestellung, aber Sie nicht sagen, was es ist. Was ist das problem?
Danke Euch allen für die Kommentare. Lesen Sie bitte meinen edit zu der Frage.
InformationsquelleAutor Jeff Erickson | 2011-07-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist eine Beute, bei der Berechnung der bits:
Habe ich nicht angesprochen output-Formatierung, nur Berechnung. Die daraus resultierenden Daten-frame sollte dann so Aussehen:
Diesem Beispiel verwendet die reshape2 Paket zu behandeln, die Zwischensummen.
Ich denke R ist das richtige Werkzeug für den job hier. Ich kann Total verstehen sich nicht sicher, wie, um loszulegen auf dieser Analyse. Ich kam zu R von Excel vor ein paar Jahren und kann es hart sein, um zu verstehen auf den ersten. Lassen Sie mich darauf hinweisen, vier pro-Tipps, die Ihnen helfen, bessere Antworten auf Stack Overflow:
1) Daten liefern, auch wenn simuliert: Sie können sehen, dass ich simuliert einige Daten am Anfang meiner Antwort. Wenn Sie zur Verfügung gestellt hatte, die simulation hätte es a) mich gerettet, Zeit b) bekommen Sie eine Antwort, die verwendet eine eigene Datenstruktur, nicht das ich träumte und c) andere Menschen würden beantwortet haben. Ich habe oft überspringen Fragen ohne Daten, denn ich habe gewachsen müde zu erraten, über die Daten, die Ihnen erzählt wird, meine Antwort gesaugt, weil ich falsch geraten.
2) stellen Sie eine klare Frage. "Wie mache ich meine Arbeit" nicht eine einzige klare Frage. "Wie nehme ich dieses Beispiel von Daten und erstellen von Zwischensummen in der aggregation wie in diesem Beispiel-Ausgabe" ist eine einzelne konkrete Frage.
3) halten Sie Fragen! Wir kommen alle besser mit der Praxis. Sie zu tun versuchen, mehr in Forschung und weniger in Excel-Sie sind also deutlich von überdurchschnittlicher Intelligenz. Halten Sie mit Hilfe von R und zu halten, Fragen zu stellen. Es wird alles einfacher werden in der Zeit.
4) Seien Sie vorsichtig mit Ihren Worten, wenn Sie beschreiben Dinge. Sie sagen in Ihrer Frage bearbeitet Sie haben eine "Liste" von Dingen. Eine Liste, in der R eine bestimmte Datenstruktur. Ich bin misstrauisch, Sie haben tatsächlich einen Daten-frame und sind mit dem Begriff "Liste" in einem generischen Sinn. Dies kann für einige Verwirrung. Es zeigt auch, warum Sie möchten, um Ihre eigenen Daten.
Wenn Sie dann die adreßaufbereitung, würde dir empfehlen mit xtable und Sweave? Oder etwas anderes, das Sie empfehlen? Nochmals vielen Dank.
InformationsquelleAutor JD Long
Verwendung von JD Lange die simulierten Daten und das hinzufügen der sd und zählt:
Ich dachte, es sollte einfach sein, mit dcast::reshape2 aber nicht bekommen konnte es zu arbeiten, so dass ich wieder zu casten::Umformen.
oh... interessant. Ich kann es nicht in reshape2.
Hadley, sagt der multi-Funktion-die aggregation wurde abgelegt in reshape2, um es schneller zu machen: twitter.com/#!/hadleywickham/status/90859907947044864
Wow, tolle Antwort. Hadley ist ein Gott!
InformationsquelleAutor 42-
Unten sind die verschiedenen Möglichkeiten der Erzeugung, dies mit der relativ neuen pivottabler Paket.
Offenlegung: ich bin der Paket-Autor.
Weitere Informationen finden Sie auf der Seite Paket auf CRAN und die verschiedenen Paket-Vignetten auf dieser Seite.
Sample-Daten (gleiche wie oben)
Schnelle pivot-Tabelle-Ausgabe in der Konsole als text
Ausgabe Der Konsole:
Schnelle pivot-Tabelle-Ausgabe als html-widget
HTML-Widget Ausgabe:
Erzeugung einer pivot-Tabelle mit mehr verbose syntax
Dieser hat mehr Optionen, z.B. die Umbenennung Summen.
HTML-Widget Ausgabe:
InformationsquelleAutor cbailiss
Sorry für autopromotion aber nehmen Sie einen Blick auf mein Paket expss.
Code für die Generierung der Ausgabe unten:
Code oben gibt-Objekt geerbt von Daten.Rahmen, die verwendet werden können mit standard-R-Operationen (subsetting mit
[
usw.). Aber es ist ein besondererprint
- Methode für dieses Objekt. Die Ausgabe der Konsole:Ausgabe über
htmlTable
in knitr, RStudio-viewer oder Glänzend:InformationsquelleAutor Gregory Demin