R 本地功能中的可打印文件不工作

R 本地功能中的可打印文件不工作,r,r-markdown,kable,R,R Markdown,Kable,我试图在本地函数中“打印”一个kable,在Rmarkdown文档中“打印”标题 下面是一个可复制的示例-将以下内容保存为.Rmd文件,并使用rmarkdown::render(…)渲染.Rmd文件 --- title: test --- ```{r echo=FALSE, results="asis"} print_header <- function() { require(tidyverse) require(knitr) require

我试图在本地函数中“打印”一个
kable
,在Rmarkdown文档中“打印”标题

下面是一个可复制的示例-将以下内容保存为
.Rmd
文件,并使用
rmarkdown::render(…)
渲染
.Rmd
文件

---
title: test
---

```{r echo=FALSE, results="asis"}
print_header <- function() {
    require(tidyverse)
    require(knitr)
    require(kableExtra)
    
    mtcars %>%
        head(5) %>%
        kable("html") %>%
        kable_styling()
        
    return(0)
}

print_header()
print("break")
mtcars %>% head(5) %>% kable("html") %>% kable_styling()
```
也就是说,
print_header()
中的kable不打印,但第二个
kable
会打印。为什么kable在Rmarkdown文档中的函数中不“打印”

编辑
正如一些评论者所指出的,删除
return(0)
允许kable打印-据我所知,这是有效的,因为kable对象被返回到打印它的父环境。因此,正如@RyanMorton所建议的,将kable包装为一个对象并返回它也会起作用。但是我仍然有兴趣知道如何在本地功能环境中强制使用kable打印——如果不可能,我想了解原因。

尝试删除
返回(0)
。在您的输出中,[1]0-是函数的实际输出。我实际上对返回输出不感兴趣。我想知道为什么kable打印在函数外部,而不是函数内部,如果您不
返回(0)
,那么您是否需要函数打印kable并返回其他内容?您只能返回一个对象(可能是一个对象列表):@RyanMorton-您问
是否需要函数来打印kable并返回其他内容?
-a:我只需要在函数中打印kable,然后删除
返回(0)
test
[1] 0 [1] “break”
mpg cyl disp    hp  drat    wt  qsec    vs  am  gear    carb
Mazda RX4   21.0    6   160 110 3.90    2.620   16.46   0   1   4   4
Mazda RX4 Wag   21.0    6   160 110 3.90    2.875   17.02   0   1   4   4
etc