TransWikia.com

Como definir um padrão de exibição de casas decimais no R?

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?

One Answer

É 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.

inserir a descrição da imagem aqui

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

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP