rmarkdown中汇总统计信息的格式化输出,结果为“ asis”

时间:2019-06-03 03:41:55

标签: r r-markdown

我试图获取数据中多个变量的摘要统计信息 在Rmarkdown中使用循环。

(我在绘制直方图等时也使用了循环,并使用了results='asis'选项,以便可以在循环内为节标题实现原始的Rmarkdown。)

问题在于,当我打印摘要统计信息时,列号和开头与下面的示例显示在同一行。我更愿意在相应的列名下使用相应的值。

示例

---
title: "test"
author: "me"
date: "3 June 2019"
output: pdf_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{r, results='asis'}
for (i in 1 :  3) { 
  cat('\n') 
  print(summary(iris[i*50 : 50, "Sepal.Length"] ))
}
```

输出

  

最低第一区中位数第三区最高5 5 5 5 5 5

     

最低第一区中位数   平均第三区最高5.7 5.7 5.7 5.7 5.7 5.7

     

最低第一区中位数第三   曲最高5.9 5.9 5.9 5.9 5.9 5.9

所需的输出

Min. 1st Qu. Median Mean 3rd Qu. Max.  
5    5      5      5     5      5 
Min. 1st Qu. Median Mean 3rd Qu. Max. 
5.7   5.7    5.7   5.7    5.7    5.7 
Min. 1st Qu. Median Mean 3rd Qu. Max. 
5.9   5.9    5.9   5.9    5.9    5.9

我尝试使用xtableknitr::kable,但无法获得所需的输出。 xtable要求二维表>

2 个答案:

答案 0 :(得分:1)

knitr块选项results="asis"假定输出将“按原样”输出,目的是”您可以从R代码中写出原始Markdown文本(例如{{1} }}“ (来自https://bookdown.org/yihui/rmarkdown/r-code.html)。

也许将其更改为

cat('**Markdown** is cool.\n')

输出:

enter image description here

答案 1 :(得分:0)

由于xtable抱怨行数不足,因此我将summary函数的输出移调了。奏效了。

---
title: "test"
author: "me"
date: "3 June 2019"
output: pdf_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(xtable)
options(xtable.comment = FALSE)
```

```{r, results='asis'}
for (i in 1 :  3) { 
  cat('\n') 
  cat(paste0("#The Title ", i, " \n"))

  print(xtable(t(summary(iris[i*50 : 50, "Sepal.Length"] ))))
}

enter image description here```