我是R Shinyapp的新手,因此,我的问题听起来可能有点愚蠢。
请接受我对此的道歉。
我正在努力按照所需的列格式将数据放入表中。
目前,表如下所示:

因此,我在表中有11列,我希望将这些列格式化如下:
decimal).
)。
对如何做到这一点有什么建议吗?
我使用了下面的"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")],)我试过使用“位数= 1”,但它将所有列格式化为1小数位。
我无法找到一种方法为不同小数位在单独的列中应用数字参数。但是,我需要单独设置专栏的格式--我需要这里的专家来帮助我,拜托。我会非常感谢你的。
发布于 2020-03-18 21:42:14
使用包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)发布于 2020-03-18 22:03:25
如果renderTable不能完全控制所需的选项,最好的做法是使用sprintf()将列格式化为字符,这将使您完全控制可以显示的内容。
之后,通过使用align= ()中的renderTable参数,可以将它们对齐为数字对齐,这使您可以为每一列指定单独的对齐方式。
https://stackoverflow.com/questions/60747164
复制相似问题