如何使用 kable 格式化位数
How to format number of digits with kable
我想使用 3 位数字来格式化 x
和 y
:例如对于 x
我想获得 0.035、0.790、0.453。
我尝试使用以下方法,但没有成功:
---
title: "format 3 digits"
output:
word_document: default
---
```{r echo=FALSE,message=FALSE, warning=FALSE}
library(tidyverse)
library(knitr)
df <- tibble(x = c(0.0345, 0.7898, 0.4534),
y = c(-0.0345, -0.7898, -0.4534),
z = c(1, 2, 3))
df %>%
mutate_if(is.numeric, format, digits=3, nsmall=0) %>%
kable(.)
```
尝试
df %>%
kable(digits = 3)
此外,_if
、_all
等动词已在 dplyr >= 1.0.0 中被 across
取代。
响应LMc的解决方案。这是一个使用 across
.
的选项
library(tidyverse)
library(knitr)
df <- tibble(x = c(0.0345, 0.7898, 0.4534),
y = c(-0.0345, -0.7898, -0.4534),
z = c(1, 2, 3))
df %>%
mutate(across(where(is.numeric), ~ round(., digits = 3))) %>%
kable(.)
我想使用 3 位数字来格式化 x
和 y
:例如对于 x
我想获得 0.035、0.790、0.453。
我尝试使用以下方法,但没有成功:
---
title: "format 3 digits"
output:
word_document: default
---
```{r echo=FALSE,message=FALSE, warning=FALSE}
library(tidyverse)
library(knitr)
df <- tibble(x = c(0.0345, 0.7898, 0.4534),
y = c(-0.0345, -0.7898, -0.4534),
z = c(1, 2, 3))
df %>%
mutate_if(is.numeric, format, digits=3, nsmall=0) %>%
kable(.)
```
尝试
df %>%
kable(digits = 3)
此外,_if
、_all
等动词已在 dplyr >= 1.0.0 中被 across
取代。
响应LMc的解决方案。这是一个使用 across
.
library(tidyverse)
library(knitr)
df <- tibble(x = c(0.0345, 0.7898, 0.4534),
y = c(-0.0345, -0.7898, -0.4534),
z = c(1, 2, 3))
df %>%
mutate(across(where(is.numeric), ~ round(., digits = 3))) %>%
kable(.)