如何防止丢失kable table?

How to prevent loss of kable table?

我正在尝试使用 R-markdown 创建简单的 .pdf 文档。 它应该是: 文本 table 文本 table

  library("data.table") # Extension of data frame object functionality, get help with command: library(help = "data.table")
  library(knitr) # Library for displaying tables in markdown

  txtA <- "TEXT A TEXT A"  
  txtB <- "TEXT B TEXT B"

  tabA  <- data.table(High=c(125,250,360),                        
                   Low=c(19,9,36),                   
                   Middle=c(55,70,67))
  n1 <- 1
  n2 <- 1

  if (n1+n2!= 0) {
    if (n1!=0) {
      cat(paste0("\n","**",txtA,"**"))
      kable(tabA) 
    }
    if (n2!=0) {
      cat(paste0("\n","**",txtB,"**"))
      kable(tabA)
    }
  }

但是我得到的是文本文本 table。缺少一个 table。我的问题可能是什么原因造成的?

在块中添加results='asis'并在kable()周围放置print()

#```{r, results='asis'}
library("data.table") # Extension of data frame object functionality, get help with command: library(help = "data.table")
library(knitr) # Library for displaying tables in markdown

txtA <- "TEXT A TEXT A"  
txtB <- "TEXT B TEXT B"

tabA  <- data.table(High=c(125,250,360),                        
                 Low=c(19,9,36),                   
                 Middle=c(55,70,67))
n1 <- 1
n2 <- 1

if (n1+n2!= 0) {
  if (n1!=0) {
    cat(paste0("\n","**",txtA,"**"))
    print(kable(tabA))
  }
  if (n2!=0) {
    cat(paste0("\n","**",txtB,"**"))
    print(kable(tabA))
  }
}
#```

或者将两个电缆分成两个单独的块。

#```{r}
if (n1+n2!= 0) {
  if (n1!=0) {
    cat(paste0("\n","**",txtA,"**"))
    kable(tabA)
  }
}
#```

#```{r}
if (n1+n2!= 0) {
  if (n2!=0) {
    cat(paste0("\n","**",txtB,"**"))
    kable(tabA)
  }
}
#```