html kable_styling 不显示 for 循环中的输出

Mar*_*llo 3 r r-markdown kableextra kable

我想在 for 循环中使用 kable 在 HTML rmarkdown 中生成大量表格。我一直在寻找解决方案,其中大多数都是使用 kable 代码周围的包装打印来解决的。但是当我想用 kable_styling 生成 html 表输出时,这个解决方案不起作用!例如:

table <- tibble(a = c(1:10),
            b = letters[1:10])


for(each in 1:2) {

print(table %>%
  kable())

  cat("<br>")

}

Run Code Online (Sandbox Code Playgroud)

这会生成两个简单的表。

但是当我尝试时:

table <- tibble(a = c(1:10),
            b = letters[1:10])


for(each in 1:2) {

print(table %>%
  kable() %>%
    kable_styling("striped"))

  cat("<br>")

}
Run Code Online (Sandbox Code Playgroud)

什么都没发生!这仅适用于 html 输出。用乳胶就可以了。我应该怎么办?

Mar*_*zer 6

添加htmltools::HTML()到您的管道:

table %>%
  kable() %>%
  kable_styling("striped") %>% 
  htmltools::HTML() %>% 
  print
Run Code Online (Sandbox Code Playgroud)