在R shiny中使用DT :: renderDataTable时如何禁止行名?

时间:2015-07-18 00:55:52

标签: r shiny dt

根据第2.3节here中的说明,我可以通过设置rownames = FALSE

来删除数据表的rownames

enter image description here

在R闪亮中使用DT::renderDataTable时,如何禁止行名?以下内容无效,因为如果查看dataTables options reference,则没有rownames选项

  output$subsettingTable <- DT::renderDataTable(
    subsetTable(), filter = 'top', server = FALSE, 
    options = list(pageLength = 5, autoWidth = TRUE, rownames= FALSE
    ))

我的问题类似于here。答案是针对renderTable的,我尝试将答案与DT::renderDataTable一起使用,但没有成功。

1 个答案:

答案 0 :(得分:52)

请务必仔细阅读函数的帮助页面,以了解哪个参数属于哪个函数。在您的情况下,rownames参数属于datatable()函数,但您实际上将其放在options参数中,这当然是错误的。 DT::renderDataTable()接受数据对象或表小部件作为其第一个参数(同样,请阅读其帮助页面),因此以下任一表达式都应该有效:

DT::renderDataTable(datatable(
    subsetTable(), filter = 'top', server = FALSE, 
    options = list(pageLength = 5, autoWidth = TRUE),
    rownames= FALSE
))

DT::renderDataTable(
    subsetTable(), filter = 'top', server = FALSE, 
    options = list(pageLength = 5, autoWidth = TRUE),
    rownames= FALSE
)

在后一种情况下,根据帮助页面的rownames = FALSE参数的文档,datatable()在内部传递给...