R 对数据表的所有数字列使用 formatRound
R using formatRound for all numeric columns of a datatable
以下 R
代码可用于格式化 iris
数据的前四列。想知道如何格式化所有数字列而不是给出它们的名称或位置。
library(tidyverse)
library(DT)
iris %>%
datatable() %>%
formatRound(1:4, digits = 2)
可能的解决方案:
iris %>%
datatable() %>%
formatRound(which(sapply(iris,is.numeric)), digits = 2)
或许,我们可以在转换为 datatable
之前执行此操作
library(dplyr)
library(DT)
iris %>%
mutate(across(where(is.numeric), sprintf, fmt = '%.2f')) %>%
datatable()
或者另一种选择是检查创建的对象中的 'data' 组件
iris %>%
datatable() %>%
formatRound(purrr::map_lgl(.$x$data, is.numeric), digits = 2)
以下 R
代码可用于格式化 iris
数据的前四列。想知道如何格式化所有数字列而不是给出它们的名称或位置。
library(tidyverse)
library(DT)
iris %>%
datatable() %>%
formatRound(1:4, digits = 2)
可能的解决方案:
iris %>%
datatable() %>%
formatRound(which(sapply(iris,is.numeric)), digits = 2)
或许,我们可以在转换为 datatable
library(dplyr)
library(DT)
iris %>%
mutate(across(where(is.numeric), sprintf, fmt = '%.2f')) %>%
datatable()
或者另一种选择是检查创建的对象中的 'data' 组件
iris %>%
datatable() %>%
formatRound(purrr::map_lgl(.$x$data, is.numeric), digits = 2)