如何在R中分别设置多个列的格式 [英] How to format multiple columns separately in R Shiny
本文介绍了如何在R中分别设置多个列的格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是R Shinyapp的新手,因此,我的问题可能听起来有点愚蠢。
请接受我对此的歉意。
我正在根据所需的列格式将数据放入表中。
目前,该表如下:
所以我在表中有11列,我希望这些列的格式如下:
- "COL-2到COL-7"都有1位小数位。
- "COL-8至COL-10"均为0位小数(无小数)。
- "COL-11",小数位数为2位。
对如何做到这一点有什么建议吗?
我使用了下面的renderTable函数来生成表:
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")],)
我已尝试使用"Digits=1",但它将所有列的格式设置为小数点后1位。
我找不到一种方法来将Digits参数应用于不同列中的不同小数位。 但是,我需要分别设置列的格式 我需要这里的专家来帮我做这件事。 我将非常感谢您。
推荐答案
使用程序包DT
,您可以选择要按名称或编号设置格式的列。此外,formatRound
不是此程序包提供的唯一格式类型(请参阅formatCurrency
等):
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)
这篇关于如何在R中分别设置多个列的格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文