在 R Shiny 中使用 DT::renderDataTable 时如何抑制行名?

Posted

技术标签:

【中文标题】在 R Shiny 中使用 DT::renderDataTable 时如何抑制行名?【英文标题】:How do I suppress row names when using DT::renderDataTable in R shiny? 【发布时间】:2015-10-07 19:39:32 【问题描述】:

根据第 2.3 节 here 中的说明,我可以通过设置 rownames = FALSE 来删除数据表的行名

在 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】:

请仔细阅读函数的帮助页面以了解哪个参数属于哪个函数。在您的情况下,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(),根据帮助页面的 ... 参数的文档。

【讨论】:

以上是关于在 R Shiny 中使用 DT::renderDataTable 时如何抑制行名?的主要内容,如果未能解决你的问题,请参考以下文章

在 Shiny 中使用部分 textInput 作为 R 中的变量

如何使用 DT、R 和 Shiny 在表格的单元格中嵌入图像

在R Shiny中如何分离滑块输入值并使用它们进行过滤

如何在 ui.R 中读取 TextInput,在 global.R 中使用此值处理查询并使用 Shiny 在 server.R 中显示

r 在Shiny中使用DT数据表中的图标

R + Shiny + DT :下载过滤数据