R Shiny:在使用as.datatable转换formattable输出后,在ShinyApp中呈现时,所有列都具有Character类。

时间:2018-11-13 06:19:50

标签: r shiny formattable

要求/问题:需要在Shiny App UI中使用与R环境中相同的格式的所有列。

使用as.datatable函数将格式表的输出转换为数据表后,尽管我能够过滤内容,但是所有字段均在使用Shinyapp呈现时属于字符类。含义为700> 6000、9> 10等(只是因为未将其视为数字类)

用于测试的示例代码:

    #libraries
    library(formattable)
    library(shiny)

    #upto 2 digits issue cannot be seen as 9.1 >8.1 etc even in character format, hence increasing the numbers by multiplying it to another column.
    iris$Sepal.Width <- iris$Sepal.Width*iris$Petal.Length

    #creating UI
    ui <- fluidPage(
      DT::dataTableOutput("table1"))

    #creating server
    server <- function(input, output){
      output$table1 <- DT::renderDataTable( 
        as.datatable(formattable(iris)))
    }

    #calling the server
    shinyApp(ui, server)

观察:当尝试按降序对Sepal.Width列进行排序时,9.x将位于顶部,而在ShinyUI中应为25.46。

注意:单击ShinyApp中的Show 100 filter(显示100个过滤器),然后使用sort来更好地理解问题

在R中完成所有操作后,所有功能均正常运行,但在ShinyApp中失败。需要在ShinyApp中获得与R环境中相同的格式。

0 个答案:

没有答案