在RStudio中创建好的kable输出

时间:2014-01-06 03:23:54

标签: r markdown knitr rstudio r-markdown

我有一个如下所示的数据框:

er.frame <- structure(c(0.475, 0.525, 0.45, 0.475, 0.45, 0.55, 0.425, 0.5, 
0.5, 0.4, 0.45, 0.375, 0.55, 0.425, 0.5, 0.475, 0.4, 0.45, 0.375, 
0.55, 0.425), .Dim = c(7L, 3L), .Dimnames = list(NULL, c("CSP.LDA.error.rate", 
"CSP.SWLDA.error.rate", "CSP.SVM.error.rate")))

kable(er.frame)

|  CSP.LDA.error.rate|  CSP.SWLDA.error.rate|  CSP.SVM.error.rate|
|-------------------:|---------------------:|-------------------:|
|               0.475|                 0.500|               0.500|
|               0.525|                 0.500|               0.475|
|               0.450|                 0.400|               0.400|
|               0.475|                 0.450|               0.450|
|               0.450|                 0.375|               0.375|
|               0.550|                 0.550|               0.550|
|               0.425|                 0.425|               0.425|

我希望kable能够处理knitr输出,并在HTML报告中创建一个很好的表格。根据{{​​1}}中的文档,我制作了以下代码段:

?kable

我的HTML报告由RStudio生成,只是回显的控制台输出(如果我添加选项``` {r snippet} opts_chunk$set(results='asis') kable(er.frame) ``` ,则根本没有任何内容):

output=FALSE

以上也是生成的Markdown文件中带有## | CSP.LDA.error.rate| CSP.SWLDA.error.rate| CSP.SVM.error.rate| ## |-------------------:|---------------------:|-------------------:| ## | 0.425| 0.400| 0.400| ## | 0.425| 0.475| 0.500| ## | 0.400| 0.400| 0.400| ## | 0.425| 0.425| 0.425| ## | 0.425| 0.325| 0.275| ## | 0.350| 0.375| 0.375| ## | 0.450| 0.425| 0.425| 分隔符的内容,如果删除分隔符和哈希值,它看起来很好。

如何使用```正确输出? This question's accepted answer hints at it,但没有达到文档的程度。

顺便说一下,我正在运行R 2.15.1,knitr 1.5.15。

1 个答案:

答案 0 :(得分:12)

opts_chunk$setopts_current$set不会影响调用它们的块。

来自?opts_chunk

  

请注意,在一个块中设置的全局选项不会影响此块本身的选项,这就是我们经常需要在单独的块中设置全局选项的原因。

以下选项可行:

```{r, results = 'asis'}
kable(er.frame)
```