2017-05-08 4 views
1

Ich bin neu zu machen Tabellen in R und mit HTML. Ich habe R auf zwei verschiedenen Laptops, und wenn ich an einem der Computer arbeite, wenn ich htmlTable, xtable usw. verwende, erscheint eine Tabelle im Viewer auf der Ride-Seite von RStudio. Auf dem anderen Computer wird jedoch keine Tabelle im Viewer angezeigt, aber der HTML-Code wird in der Konsole angezeigt. Gibt es ein anderes Paket, das ich brauche, um den HTML-Code zu rendern? Ich benutze Markdown oder irgendetwas nicht, ich möchte nur einfache Tabellen mit htmlTable im Viewer anstelle des Codes sehen.HTML-Tabelle erscheint nicht in RStudio Viewer, sondern nur als Code in der Konsole - Warum?

Ich bin nicht sicher, wie man das reproduzierbar macht, also hoffe ich, dass jemand die Antwort kennt. Auf dem Computer, der die tatsächliche Tabelle im Viewer anzeigt, lade ich nur das htmlTable-Paket, und es funktioniert.

Was fehlt mir? Hat es mit den Einstellungen meines Computers, der Version von RStudio usw. zu tun?

+1

Es hängt von der Verpackung ab. 'xtable' gibt nur HTML-Code zurück, den Sie dann in Ihr Dokument einfügen können. Unter anderem tun 'knitr :: kable' und die meisten LaTeX-Formatierungen das gleiche. Einige Pakete erzeugen ein vollständiges HTML-Widget, das im Betrachter z. DT. – alistaire

+2

In diesem Fall hat ein Paket auf einem der dystopischen Systeme des OP eine 'print.html' S3-Methode definiert, und es übernimmt die Führung für' print', da die Klasse für 'htmlTable'-Objekte' c ("html") ist. , "htmlTable", "Zeichen") '. OP shld debuggt, dass OR 'class (object_returned_from_call_to_htmlTable) <- c (" htmlTable "," html "," character ")' vor dem Aufruf von 'print()' ODER explizit 'htmltools :: html_print (object_returned_from_call_to_htmlTable)' aufruft Konsistenz in der Verwendung des RStudio Viewer-Bereichs auf ihren Systemen. – hrbrmstr

+0

Die Verwendung von htmltools :: html_print hat funktioniert! Vielen Dank. Wenn Sie es zu einer offiziellen Antwort machen, kann ich das gutschreiben. – Mike

Antwort

0

Diese Frage sollte eine Antwort haben. Es war ein Fehler. Während ich

if(!code) htmltools::html_print(out_html) else out_html 

verwendet als @hrbrmstr in Kommentaren vorgeschlagen, so scheint es, das Update war unter Changes for 1.10 so ist es nun (v. 1.11.1) möglich, nur

output <- matrix(1:4,ncol=2, 
    dimnames = list(list("Row 1", "Row 2"), 
        list("Column 1", "Column 2"))) 
print(htmlTable::htmlTable(output,useViewer=TRUE)) 

und ich kann einfach nutzen useViewer=!code in meinen Wrapper-Funktionen. Beachten Sie auch

print(htmlTable::htmlTable(output,useViewer=utils::browseURL)) 

wie die Dokumentation schlägt vor, tun.

Verwandte Themen