gpt4 book ai didi

r - 如何使用 renderDT 强制科学记数法

转载 作者:行者123 更新时间:2023-12-02 02:55:35 28 4
gpt4 key购买 nike

我想要 DT 中数值的行为表与 print 中的相同使用时输出:

options(scipen = -1)
options(digits = 3)
cars/1000000

enter image description here

但无论有什么选择,DT似乎都不在乎:
enter image description here

我知道 print与渲染表格不同,但应该有办法做到这一点。我可以玩 signifround限制数字,但我丢失了非常低值的信息,这对高值有不同的影响。
  • 我想将值保留为数字,以便可以正确对列进行排序。
  • 如果只有 3 位数字,则值应保持经典,如果更多,则应保持科学。

  • 这是最小的例子。
    library(shiny)
    library(DT)
    library(dplyr)

    options(scipen = -1)
    options(digits = 3)

    # Define UI for application that draws a histogram
    ui <- fluidPage(
    # Application title
    titlePanel("Old Faithful Geyser Data"),
    # Sidebar with a slider input for number of bins
    sidebarLayout(
    sidebarPanel(
    ),
    # Show a plot of the generated distribution
    mainPanel(
    DTOutput("dt"),
    DTOutput("dt2")
    )
    )
    )

    # Define server logic required to draw a histogram
    server <- function(input, output) {
    output$dt <- renderDT({cars/1000000})
    output$dt2 <- renderDT({
    mutate_all(cars/1000000, funs(signif(., digits = 1)))
    })
    }
    # Run the application
    shinyApp(ui = ui, server = server)

    任何线索?

    最佳答案

    DT包还有formatSignif()可以帮助解决此问题的功能,例如:

    output$tbl <- renderDataTable({
    DT::datatable(dat) %>%
    formatSignif(columns = c('speed', 'dist'), digits = 3)
    })

    关于r - 如何使用 renderDT 强制科学记数法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49634329/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com