我遇到DT :: rednerDataTable的问题。当我的数据表生成时,我有三(10)列数字没有被排序。这是它看起来像排序:
这是我的代码:
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardBody(
tabItems((tabName = "ResultsTable",
fluidPage(column(11, DT::dataTableOutput("table",width = "100%"),offset = 0))))
shinyServer(function(input, output, session) {
output$table <- DT::renderDataTable(DT::datatable({
data <- rv$data
if (input$sour != "All") {
data <- data[data[,1] == input$sour,]
}else{data}
if (input$sour1 != "All") {
data <-data[data[,2] == input$sour1,]
}else{data}
if (input$tran2 != "All") {
data <-data[data[,3] == input$tran2,]
}else{data}
}))
})
变量数据是data.frame,数字列已经排序,但是当我单击表格中列名称旁边的向上和向下箭头时(如下所示),排序会混淆。
我很感激任何帮助!
谢谢
答案 0 :(得分:1)
我的数据是一个矩阵。我首先必须将其转换为数据框,然后更改数字所需的列(一些列字符串)。我没有必要更改上面的代码。它是在脚本中生成数据表。该表为10列,列为5:8,为数字。
table_output=as.data.frame(table_output);
data=cbind(table_output[,1:4],as.numeric(as.character(table_output[,5])),as.numeric(as.character(table_output[,6])),as.numeric(as.character(table_output[,7])), as.numeric(as.character(table_output[,8])), table_output[,9:10])