如何在rmarkdown中显示带有results ='asis'的格式化R输出

The*_*dor 3 r knitr r-markdown

有没有办法在使用results ='asis'时在rmarkdown/knitr中显示格式化程序R输出?

一个例子是以下功能:

myfun <- function() {
  cat("hello!\n")
  cat(c("one" = 1, "two" = 2))
}
Run Code Online (Sandbox Code Playgroud)

然后,这个块将cat在新行上打印第二个:

```{r}
myfun()
```
Run Code Online (Sandbox Code Playgroud)

很好的印刷

但这将忽略以下格式myfun:

```{r, results = "asis"}
myfun()
```
Run Code Online (Sandbox Code Playgroud)

非格式化打印

有没有一种保持方式,results='asis'但同时保持myfun格式化的输出?

mar*_*dly 8

results = "asis"如果您乐意在行尾添加两个或多个空格,则可以使用knitr chunk选项.也就是说"hello\n",您需要编写"hello \n"以触​​发换行符.

示例R Markdown代码:

---
output: html_document
---

```{r}
myfun <- function() {
  cat("hello!  \n")
  cat(c("one" = 1, "two" = 2))
}
```

```{r results = "asis"}
myfun()
```
Run Code Online (Sandbox Code Playgroud)

输出两行

为什么空格?这是因为一行末尾的两个空格用于表示降价时的硬线断点.例如,此引用取自Pandoc的Markdown(这是Markdown使用的默认降价风格):

段落
段落是一行或多行文本,后跟一个或多个空行.换行符被视为空格,因此您可以根据需要重排段落.如果您需要硬线断线,请在线的末端放置两个或多个空格.