Druck-schönes Kreuz-tabellierungen in knitr
Was ich will, ist zu drucken, schön crosstabulations, entweder in einer pdf-Datei oder in eine html-Datei, aus RStudio, mit R Markdown " und knitr. Ich vermute, ich bin etwas fehlt wirklich auf der Hand, denn ich kann nicht glauben, dass dies so schwer. Ich mache cross-tabs, die entweder mit xtabs oder ftable.
Was ich will, ist so etwas wie eine hübsch gedruckte version der R-Konsole ausgegeben.
> x
Col
Row A B C
D 15 9 7
E 13 14 9
F 8 8 17
> f
Col A B C
Row
D 15 9 7
E 13 14 9
F 8 8 17
Ich habe versucht, mehrere unterschiedliche Lösungen, von denen keiner wirklich funktioniert, und gezeigt werden Sie in den beigefügten .Rmd-Datei. (Ich habe versucht, pdf-und html-Ausgabe.)
---
title: "trial"
author: "Anthony Staines"
date: "26/08/2014"
output: html_document
---
# Make the data
```{r, echo=TRUE,results='asis',message=FALSE}
library(knitr)
library(memisc)
library(xtable)
library(stargazer)
library(texreg)
set.seed(893)
Col <- sample(c('A','B','C'),100,replace=TRUE)
Row <- sample(c('D','E','F'),100,replace=TRUE)
```
```{r, echo=TRUE,results='asis',message=FALSE}
x <- xtabs(~Row+Col)
x
kable(x)
kable(x,format='html')
kable(x,format='html',output = TRUE)
xx <- xtable(format(x))
print(xx,type='html')
stargazer(x)
f <-ftable(Row,Col)
f
kable(f,format='html')
kable(f,format='html',output = TRUE)
xf <- xtable(format(f))
print(xf,type='html')
stargazer(f)
```
kable am nächsten kommt, aber scheint nicht zu unterstützen, Zeilen-oder Spaltennamen, die beide unerlässlich sind für mich :-
| | A| B| C|
|:-- | --:|--:|--:|
|D | 15| 9| 7|
|E | 13| 14| 9|
|F | 8| 8| 17|
Hilfe zu schätzen, und ich entschuldige mich, wenn dies ist eine wirklich dumme Frage, mit einer offensichtlichen und bekannten Antwort!
Anthony Staines
kable()
unterstützt Spaltennamen; in Bezug auf Zeile Namen, es scheint nicht zu einem standard-Bestandteil einer Tabelle im HTML-oder LaTeX -, so ist es unklar, was "support" eigentlich bedeutet.- Ich bin damit einverstanden, dass weder html-noch latex direkt unterstützen, wie Etiketten, aber für cross-tabs an Sinn zu machen, beide werden gebraucht. Die Voraussetzung ist, um zu produzieren ein Tisch nutzbar, um in einem journal-Artikel.Was ich eigentlich jetzt tun, ist, nehmen Sie die R-Konsole-Ausgang und biegen Sie in eine Tabelle mithilfe des Tabellen -> Konvertiert -> Text in Tabelle-Funktionen in Libre-Office, aber das ist nicht furchtbar wiederholbar!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schlage ich vor, Sie
stargazer
wie folgt:quote=FALSE
type="html"
Versuchen Sie dies:
Alternative zu
kable
istpander
vom Paket mit dem gleichen Namen, die bietet eine einfache Möglichkeit der Generierung von markdown-Tabellen mit Haufen von Optionen (wiestyle
) und einem generischen S3-Methode:Wenn Sie wollen, zu generieren, die alte
rmarkdown
-Stil pipe-Tabellen, hinzufügenstlye='rmarkdown'
parameter, obwohl AFAIK Pandoc ist der neue standard gibt auch an, das unterstützt die oben genannten multi-line-Tabelle.Weiter Graben führte mich zu diese Frage.
Die Antwort ist peinlich offensichtlich - die 'Tabellen' Paket!
Dachte ich, es musste ein einfacher Weg, dies zu tun. Vielen Dank dennoch für Andrie und daroczig für Ihre hilfreichen Antworten.