2016-08-26 1 views
1

new stackoverflow Benutzer hier, also Entschuldigung, wenn diese Frage/Kontext nicht dem Standard entspricht. Ich freue mich über Feedback.Wie man zwei "formatierbare" Klassendatenrahmen innerhalb der gleichen Handlung plant und in R nach PDF exportiert?

Ich habe zwei Datenrahmen, die ich als zwei separate Tabellen in einem PDF-Bericht visualisieren möchte. Einer der Datenrahmen ist eine Zusammenfassungstabelle, die alle Daten mit detaillierteren Pegeln aus dem zweiten Datenrahmen mittelt. Ich möchte die Übersichtstabelle über die detailliertere Leveltabelle setzen. Sie haben unterschiedliche Größen (unterschiedliche Anzahl von Zeilen und Spalten), also lassen Sie mich wissen, ob das ein Problem ist.

Wie für tatsächlichen Code/Prozess, verwende ich das "formatable" -Paket, um gut aussehende Tabellen zu machen; aber ich habe keine Ahnung, wie ich von dort weiterkommen soll. Ich habe versucht, die grid.arrange -Funktion (aus GridExtra-Paket) und Layout-Funktionen - aber ich bekomme einen Fehler für grid.arrange und war nicht in der Lage, herauszufinden, wie die Layout-Funktion verwenden (auch nach der Zeit zu überprüfen andere stackoverflow Fragen). Code ist unten:

library(formattable) 
library(gridExtra) 

m1 <- matrix("summary",1,3) 
m2 <- matrix("granular",20,5) 

t1 <- formattable(data.frame(m1)) 
t2 <- formattable(data.frame(m2)) 

layout(t1, t2, nrow=2) 
grid.arrange(t1,t2, nrow=2, ncol=1) 

für Layout-Funktion erhalte ich folgende Fehlermeldung:

Error in layout(t1, t2, nrow = 2) : unused argument (nrow = 2) 

und für grid.arrange Ich erhalte die Fehlermeldung:

Error in `$<-.data.frame`(`*tmp*`, "wrapvp", value = list(x = 0.5, y = 0.5, : 
    replacement has 17 rows, data has 1 

Schließlich wird, wie für die Beim Exportieren in den PDF-Teil war ich nicht einmal in der Lage, einen der formatierbaren Klassen-Datenrahmen zu exportieren, daher weiß ich nicht, wie ich beide in ein PDF exportieren würde. Es erscheint in meinem Arbeitsverzeichnis und erscheint auch im Plots-Fenster in RStudio, aber es heißt: "Beim Öffnen dieses Dokuments ist ein Fehler aufgetreten. Diese Datei ist bereits geöffnet oder wird von einer anderen Anwendung verwendet." Also ich denke, die Datei wurde nicht korrekt verarbeitet. Mit:

pdf("SamplePDF.pdf", width=11, height=8) 
formattable(data.frame(m1)) 
dev.off() 

ich dies in R tue, weil ich die Vorteile der Eigenschaften des „formatierbare“ Paket nehme und bedeuten schließlich die „RDCOMClient“ verwenden, um diese Berichte per E-Mail automatisch auszusenden. Plus, SQL und R sind im Grunde der einzige "Code", den ich kenne.

Vielen Dank, und entschuldigung im Voraus für ein erstmaliges Poster!

Antwort

0

So etwas wie das funktioniert für mich:

pdf('test00.pdf') 
grid.table(t1) 
grid.newpage() 
grid.table(t2) 
dev.off() 

Obwohl diese verschiedenen Tabellen Kräfte, die auf verschiedenen Seiten zu sein.

0

grid.arrange und die anderen Befehle im Paket gridExtra akzeptiert grobs, so ist eine Möglichkeit, Ihre Tabellen in Tabelle groabs mit dem tableGrob Befehl zu machen. Wenn Sie diesen Weg gehen, obwohl Sie nicht mehr im formattable Universum sind, obwohl von diesem Beispiel nicht klar ist, dass Sie irgendwelche seiner speziellen Eigenschaften benötigen.

library(gridExtra) 

m1 <- matrix("summary",1,3) 
m2 <- matrix("granular",20,5) 

tg1 <- tableGrob(m1) 
tg2 <- tableGrob(m2) 

grid.arrange(tg1,tg2, nrow=2, ncol=1) 

Dann fahren Sie mit dem Export nach PDF fort. Ich hoffe, das hilft.

Verwandte Themen