Drucken Sie ein Daten-frame mit den Spalten ausgerichtet werden (siehe R)

Habe ich die folgenden Daten-frame in R:

> dframe
                Mean Median
Candidates     85.68     60
NonCands        9.21      4
Multi          27.48     17
Mono            4.43      3
Multi NonCands 22.23     15

Will ich drucken Sie in eine Datei und halten Sie es schön formatiert und ausgerichtet, so wie oben gezeigt. Ich benutze:

write.table(dframe,file="test",sep="\t", quote=F)

erzeugt die folgende Ausgabe:

Mean    Median
Candidates  85.68   60
NonCands    9.21    4
Multi   27.48   17
Mono    4.43    3
Multi NonCands  22.23   15

Da die Daten richtig angezeigt wird formatiert in die R-Umgebung, die ich dachte, es sollte trivial sein zu schreiben Sie es in eine Datei mit dem gleichen format. Anscheinend war ich falsch. Ich habe versucht das Spiel mit format() und write.matrix aus der MASSE Bibliothek, aber weder erzeugt das gewünschte Ergebnis.

Habe ich einige Vorschläge, wie diese eine, aber es scheint zu kompliziert und vor allem nicht zu dem gewünschten Ergebnis beim drucken in eine Datei mit write.table().

So, wie Drucke ich meine Daten-frame in eine Textdatei und haben es einfach Aussehen, wie es auch in R?


UPDATE

Folgende Justin ' s Vorschlag in seinem Kommentar unten, ich installierte gdata-Bibliothek und verwendet werden write.fwf. Dies ist fast, was ich brauche:

write.fwf(dframe,file="test",sep="\t", quote=F, rownames=T)

erzeugt die folgende Ausgabe:

Mean    Median
Candidates      85.68   60
NonCands         9.21    4
Multi           27.48   17
Mono             4.43    3
Multi NonCands  22.23   15

So, irgendwelche Ideen auf, wie man "Mean" und "Median" nach rechts verschoben, so dass Sie richten Sie mit den jeweiligen Spalten?

Da kann es nun wichtig sein, hier ist, wie die Daten.Bild wurde erstellt:

labels<-c("Candidates","NonCands","Multi", "Mono", "Multi NonCands")
Mean <- c(mean(cands), mean(non),mean(multi),mean(mono),mean(multi_non))
Median <- c(median(cands), median(non),median(multi),median(mono),median(multi_non))
names(Mean)<-labels
dframe<-data.frame(Mean,Median)
  • werfen Sie einen Blick auf write.fwf von der gdata Paket. fwf steht für fixed-width-Datei. allerdings, wenn Sie die schriftart zur Anzeige von text-Datei, die nicht mit fester Breite, es könnte nicht noch.
  • danke, finden Sie in den aktualisierten Frage.
  • Um genau zu sein, Sie wollen die rownames Links ausgerichtet und gepolstert, und die Spalten rechts ausgerichtet. (print.data.frame(... right=X) nur erlaubt, die option zu Global festgelegt werden, so dass ein wenig Feintuning nötig).
InformationsquelleAutor terdon | 2012-11-27
Schreibe einen Kommentar