【问题标题】:R - kable() used in .Rmd does not show output in notebookR - .Rmd 中使用的 kable() 不在笔记本中显示输出
【发布时间】:2018-09-21 08:20:55
【问题描述】:

我刚开始使用kableExtra 库来使我的表格在 PDF 输出中看起来更好。
但是当我在 R Notebook 文件中使用 kable() 函数时,它不会显示输出。相反,我看到输出应该是一个大的空白区域。
截图如下:

当我Knit 将文件转换为 PDF 时,我可以看到输出。
这是截图:

有没有办法让输出同时出现在笔记本和 PDF 中? 这是我的代码:

---
title: "R Notebook"
output:
  pdf_document: default
  html_notebook: default
---

```{r  message=FALSE, warning=FALSE}
library(knitr)
library(kableExtra)
library(dplyr)
#plot(cars)
```

```{r}
 cars %>% 
  slice(1:10) %>% 
  select(speed, dist) %>% 
  kable(format = "latex", booktabs = T) %>% 
  column_spec(column = 1:2, width = "0.5in")

```

【问题讨论】:

    标签: r latex knitr kable kableextra


    【解决方案1】:

    您必须为每个输出设置不同的 kable format 参数,并在块选项中指定 results = 'asis'

    对于 HTML / 笔记本

    ```{r, results='asis'}
    cars %>% 
      slice(1:10) %>% 
      select(speed, dist) %>% 
      kable(format = "html", booktabs = T) %>% 
      column_spec(column = 1:2, width = "0.5in")
    ```
    

    对于 PDF

    ```{r, results='asis'}
    cars %>% 
      slice(1:10) %>% 
      select(speed, dist) %>% 
      kable(format = "latex", booktabs = T) %>% 
      column_spec(column = 1:2, width = "0.5in")
    ```
    

    【讨论】:

    • 所以如果不更改该选项,就无法同时拥有两者?当我将格式更改为 format = "html" 时,我看不到我期望的 kable() 表。它看起来与它在 PDF 中的外观不同。没有线条看起来很朴素。这是正常行为吗?
    • 是的,无法通过输出格式自动设置kable()。至少我不知道任何方法。是的,这也是一种正常的行为。表格在 PDF 和 HTML 中的格式会有所不同。也许你应该看看其他表格包,如xtablestargazer...
    • 您应该能够通过访问代码块中的 Rmarkdown 元数据来自动设置它:stackoverflow.com/questions/31220940/…
    【解决方案2】:

    我遇到了类似的问题,但事实证明我的编辑器主题的白色默认文本使 .Rmd 输出中的字体不可见(但我仍然可以突出显示它)。

    我的 kable 输出在 .Rmd 文件中无法正常工作——但在控制台中运行代码以及编织文件时工作正常。我使用的是 Idle Fingers 编辑器主题(有点像“黑暗模式”)并将其更改为另一个主题解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2015-06-27
      • 1970-01-01
      • 1970-01-01
      • 2018-04-10
      • 1970-01-01
      • 2018-07-02
      • 2014-02-08
      • 2017-09-26
      • 2017-03-21
      相关资源
      最近更新 更多