如何在R中分别设置多个列的格式
我是R Shinyapps的新手,因此,我的问题可能听起来有点愚蠢 请接受我的道歉 我正在努力按照所需的列格式将数据放入表中 目前,该表如下所示: 因此,表中有11列,我希望这些列的格式如下:如何在R中分别设置多个列的格式,r,shiny,shinydashboard,R,Shiny,Shinydashboard,我是R Shinyapps的新手,因此,我的问题可能听起来有点愚蠢 请接受我的道歉 我正在努力按照所需的列格式将数据放入表中 目前,该表如下所示: 因此,表中有11列,我希望这些列的格式如下: “Col-2至Col-7”均具有1位小数 “Col-8至Col-10”均具有0位小数(无小数) “Col-11”具有两位小数 有什么建议吗 我已使用以下“可渲染”函数生成表格: output$table <- renderTable(align="c", digits = 1, width="
- “Col-2至Col-7”均具有1位小数
- “Col-8至Col-10”均具有0位小数(无小数)
- “Col-11”具有两位小数
output$table <- renderTable(align="c", digits = 1, width="auto", na="-", subset(all, PRODUCT_NAME==as.character(input$product_choice))
[,c("Col-1", "Col-2", "Col-3", "Col-4", "Col-5", "Col-6", "Col-7", "Col-8",
paste0("Col-9 ",input$cur), paste0("Col-10 ",input$cur), "Col-11")],)
output$table使用packageDT
,您可以根据列的名称或编号选择要格式化的列。此外,formatRound
不是此软件包提供的唯一格式类型(请参阅formatCurrency
等):
库(闪亮)
图书馆(DT)
ui如果renderTable不能让您完全控制所需的选项,最好是使用sprintf()将列格式化为字符,这将让您完全控制可以显示的内容
然后,您可以使用renderTable()中的align=参数将它们作为数字向右对齐,该参数允许您为每列指定单独的对齐方式
library(shiny)
library(DT)
ui <- fluidPage(
dataTableOutput("test")
)
server <- function(input, output, session) {
output$test <- renderDataTable({
DT::datatable(iris) %>%
formatRound("Petal.Length", digits = 2, mark = "") %>%
formatRound(1, digits = 4)
})
}
shinyApp(ui, server)