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