Stack Overflow em Português Asked by rtheodoro on December 11, 2021
Estou com um script em rmarkdown que gera um relatório em .pdf.
Gostaria de padronizar a quantidade de casas decimais exibidas, sem precisar por o round()
em toda função.
No começo do script, eu tentei utilizar:
options(scipen=30, digits=3)
Isso evita que os valores apareçam como notação científica, mas o número de casas decimais ainda esta variando. É possível criar esse padrão?
É possível realizar isto para o chunk e para inline.
Veja no exemplo abaixo: o valor real, valor com modificação para inline e a modificação para o chunk.
O code abaixo está em rmd
, e consta de head, print valores originais (chunk 1), função para ajuste inline (chunk 2), ajuste para print de resultado (chunk 3) e print valores com padrão de casas decimais (chunk 4).
---
title: "Untitled"
output: html_document
---
## R Markdown
```{r }
mean(mtcars$mpg)
pi
```
Valor de pi é igual a `r pi`.
## MOD - INLINE
```{r , include=FALSE}
library(knitr)
inline_hook <- function (x) {
if (is.numeric(x)) {
res <- ifelse(x == round(x),
sprintf("%d", x),
sprintf("%.3f", x) # numero de casas decimais
)
paste(res, collapse = ", ")
}
}
knit_hooks$set(inline = inline_hook)
```
Valor de pi é igual a `r pi`.
## MOD - CHUNK
```{r , include=FALSE}
options(digits = 4)
```
```{r }
mean(mtcars$mpg)
pi
```
Fonte: inline.
Answered by bbiasi on December 11, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP