0
以前肯定有人問過這個問題,但是我一直沒能找到適合我的代碼。我正在R Shiny中使用DataTable。我想要生成DataTable,並在第二列而不是第一列按默認順序排列。這是我在服務器.R:使用數據表排序的行
output$TabVals <- DT::renderDataTable({
DT::datatable(TableData(),
options = list(pageLength = 25,
searching = FALSE,
paging = FALSE),
rownames = FALSE) %>%
formatRound(2, digits = 0)
})
這很好。我發現其他人所做的事情包括在選項order = list(2, 'asc')
(因爲我正在對第二列進行排序並希望數據上升。但是,當我添加該行時,DataTable不再顯示任何行。
I拼湊這個例子來重現問題:。
c1 <- c("a", "b", "c")
c2 <- c(1, 2, 3)
test <- cbind(c1, c2)
test1 <- DT::datatable(test)
test2 <- DT::datatable(test, options = list(order = list(2, 'desc')))
test1
使一個很好的DataTable test2
產生一個空白表
我試圖移動order = list(2, 'asc')
到代碼的其他部分(如後選項,rownames前,管道後),但沒有幫助。感謝讚賞!
有可能有一種方法來應用這些解決方案,但我嘗試對它們進行格式化,以便它們與'datatable()'調用兼容。我被卡住使用該函數,因爲我在Shiny的範圍內工作,因此也在'renderDataTable({})'函數的範圍內工作。 – Clare
Clare的Q是關於'DT'封裝的,它封裝了JavaScript庫'DataTables',而不是關於擴展data.frames的'data.table'包。不幸的是,名字看起來非常相似。 – Uwe