我想要的是使用R、Markdown和knitr从RStudio中生成漂亮的交叉表格,可以在pdf文件或html文件中打印。我怀疑自己可能缺少一些非常明显的东西,因为我不敢相信这么难。我使用xtabs或ftable制作交叉表。
我想要的是类似于R控制台输出的漂亮打印版本。
> 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
我尝试了几种不同的解决方案,但都没有真正起作用,并且它们在附加的.Rmd文件中显示。(我尝试了pdf和html输出。)
---
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最为接近,但似乎不支持行或列名,这两者对我来说都是必要的 :-
| | A| B| C|
|:--|--:|--:|--:|
|D | 15| 9| 7|
|E | 13| 14| 9|
|F | 8| 8| 17|
感谢您的帮助,如果这是一个显而易见且广为人知的答案,那么我向您道歉,因为我可能问了一个非常愚蠢的问题!
Anthony Staines
kable()
支持列名;关于行名,它似乎不是 HTML 或 LaTeX 表格的标准组成部分,因此不清楚 "支持" 究竟意味着什么。 - Yihui Xie