我想排序格式化为美元(因此是一个字符)的DataTable列。我已经使用scales::dollar()
进行格式化。这将字段转换为导致排序问题的字符(例如,"$8" > "$10"
)。打印就像一个字符,但像Shiny和DataTable中的数字排序
如何将字段排序为数字?或者,我可以将字段保留为数字,只需使用美元格式打印?
app.R(需要闪亮0.10.2)
server <- function(input, output) {
output$foo_table <- renderDataTable({
x <- seq(8000, 12000, by = 1000)
x <- scales::dollar(x)
d <- data.frame(x, stringsAsFactors = FALSE)
d
})
}
ui <- shinyUI(fluidPage(
mainPanel(dataTableOutput("foo_table"))
)
)
shinyApp(ui = ui, server = server)
'gtools :: mixedsort()'看起来非常方便。但是这并不能解决让Shiny中的dataTable正确排序的问题。 – davechilders 2014-10-27 02:04:38
对不起。我不是一个足够有经验的Shiny用户来解析这个声明 – 2014-10-27 02:53:33