Форматированный вывод для сводной статистики в rmarkdown с результатами = 'asis' - PullRequest
0 голосов
/ 03 июня 2019

Я пытался получить сводную статистику по ряду переменных в моих данных используя цикл в 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"] ))
}
```

выход

Мин. 1 кв. Медиана Среднее 3 кв. Максимум. 5 5 5 5 5 5

Мин. 1 кв. медиана Имею в виду 3-й кв. Максимум. 5,7 5,7 5,7 5,7 5,7 5,7

Мин. 1 кв. Медиана Среднее 3-е Королева Максимум. 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

Я пробовал с xtable и knitr::kable, но не смог получить желаемый результат. xtable требуется таблицы> 2 размеров

Ответы [ 2 ]

1 голос
/ 03 июня 2019

Опция knitr chunk results="asis" предполагает, что вывод будет выводиться "как есть", имея в виду, что "вы можете записать необработанный текст Markdown из кода R (например, cat('**Markdown** is cool.\n'))" (из https://bookdown.org/yihui/rmarkdown/r-code.html).

Возможно, измените его на

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

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

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

Вывод:

enter image description here

0 голосов
/ 03 июня 2019

Поскольку 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 `` `

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...