Knitr Kable Table在R markdown中不产生标题

时间:2018-10-04 04:32:46

标签: r r-markdown knitr kable

我已经阅读了有关此主题的各种文章,但仍然有问题。导出为pdf或html时,我可以生成一个漂亮的表格,但其中不包含标题!

row1 <- c("a", "b", "c")
row2 <- c("d", "e", "f")
data <- as.data.frame(rbind(row1, row2))
kable(data, caption = "head")

如果我尝试运行代码,则无法获得所需的标题。

enter image description here

我的会话信息如下。

Session info -------------------------------------------------------------------------------------------------------------------------------------------------------------
 setting  value                       
 version  R version 3.4.3 (2017-11-30)
 system   x86_64, mingw32             
 ui       RStudio (1.1.423)           
 language en                          
 collate  English_United States.1252  
 tz       America/Los_Angeles         
 date     2018-10-03                  

Packages -----------------------------------------------------------------------------------------------------------------------------------------------------------------
 package   * version date       source        
 backports   1.1.2   2017-12-13 CRAN (R 3.4.3)
 base64enc   0.1-3   2015-07-28 CRAN (R 3.4.1)
 digest      0.6.15  2018-01-28 CRAN (R 3.4.3)
 evaluate    0.10.1  2017-06-24 CRAN (R 3.4.4)
 glue        1.2.0   2017-10-29 CRAN (R 3.4.4)
 graphics  * 3.4.3   2017-12-06 local         
 grDevices * 3.4.3   2017-12-06 local         
 highr       0.7     2018-06-09 CRAN (R 3.4.4)
 htmltools   0.3.6   2017-04-28 CRAN (R 3.4.4)
 jsonlite  * 1.5     2017-06-01 CRAN (R 3.4.4)
 knitr       1.20    2018-02-20 CRAN (R 3.4.4)
 magrittr    1.5     2014-11-22 CRAN (R 3.4.4)
 markdown    0.8     2017-04-20 CRAN (R 3.4.4)
 methods   * 3.4.3   2017-12-06 local         
 mime        0.5     2016-07-07 CRAN (R 3.4.1)
 Rcpp        0.12.16 2018-03-13 CRAN (R 3.4.4)
 rmarkdown   1.10    2018-06-11 CRAN (R 3.4.4)
 rprojroot   1.3-2   2018-01-03 CRAN (R 3.4.4)
 stats     * 3.4.3   2017-12-06 local         
 stringi     1.1.7   2018-03-12 CRAN (R 3.4.4)
 stringr   * 1.3.0   2018-02-19 CRAN (R 3.4.4)
 tinytex     0.7     2018-08-22 CRAN (R 3.4.4)
 tools       3.4.3   2017-12-06 local         
 utils     * 3.4.3   2017-12-06 local         
 xfun        0.3     2018-07-06 CRAN (R 3.4.4)
 yaml        2.1.18  2018-03-08 CRAN (R 3.4.4)

我认为这可能与已安装的软件包有关?

library(httr)
library(dplyr)
library(scales)
library(tidyverse)
library(jsonlite)
library(skimr)
library(lubridate)
library(AER)
library(MASS)
library(countreg)

knitr::opts_chunk$set(tidy.opts=list(width.cutoff=60),tidy=TRUE)
knitr::opts_chunk$set(echo = TRUE)

5 个答案:

答案 0 :(得分:1)

我也遇到过类似的问题。我意识到在不同的程序包中有多个命令称为kable。例如,名为“ skimr”的软件包对此命令执行了某些操作。当我特别引用软件包knitr :: kable时,出现了标题。

library(knitr)
library(kableExtra)
library(skimr)
row1 <- c("a", "b", "c")
row2 <- c("d", "e", "f")

这里没有标题,因为它使用的是命令的浏览器版本

data <- as.data.frame(rbind(row1, row2))
knitr::kable(data, caption = "head") %>% kable_styling()

以下内容包含标题,因为我提到了正确的(编织器)库

data <- as.data.frame(rbind(row1, row2))
kable(data, caption = "head") %>% kable_styling()

答案 1 :(得分:0)

我将标题定义为启动代码块的参数。例如:

‘’’{r, fig.cap = “head”}

row1 <- c("a", "b", "c")
row2 <- c("d", "e", "f")
data <- as.data.frame(rbind(row1, row2))
kable(data)

‘’’

答案 2 :(得分:0)

我发现我必须在RMD文件的开头加载knitr软件包。然后,出现标题。谢谢!

答案 3 :(得分:0)

我也遇到了同样的问题,可以解决这个问题,在kable的参数中指定格式。

row1 <- c("a", "b", "c")
row2 <- c("d", "e", "f")
data <- as.data.frame(rbind(row1, row2))
kable(data, format = "pandoc", caption = "head")

答案 4 :(得分:0)

软件包kableExtra有效地管理了这一点。 试试:

library(kableExtra)

row1 <- c("a", "b", "c")
row2 <- c("d", "e", "f")

as.data.frame(rbind(row1, row2)) %>% 
 kbl(caption = "head") %>%
 kable_styling()