【问题标题】:Creating good kable output in RStudio在 RStudio 中创建良好的 kable 输出
【发布时间】:2014-01-23 09:56:24
【问题描述】:

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

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 报告中制作一个漂亮的表格。按照?kable 中的文档,我做了这个sn-p:

``` {r snippet}
opts_chunk$set(results='asis')
kable(er.frame)
```

不过,由 RStudio 生成的我的 HTML 报告只是回显的控制台输出(或者根本没有,如果我添加选项 output=FALSE):

## |  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|

上面的内容也出现在生成的 Markdown 文件中,并带有 ``` 分隔符,如果我删除分隔符和哈希,它看起来就好了。

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

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

【问题讨论】:

    标签: r markdown knitr rstudio r-markdown


    【解决方案1】:

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

    来自?opts_chunk

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

    以下选项将起作用:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-04
      • 2017-11-16
      • 1970-01-01
      • 1970-01-01
      • 2013-06-19
      • 2021-09-10
      • 2012-01-20
      相关资源
      最近更新 更多