web-dev-qa-db-ja.com

R shinyでDT :: renderDataTableを使用するときに行名を非表示にするにはどうすればよいですか?

セクション2.3 here の説明に従って、rownames = FALSEを設定することにより、データテーブルの行名を削除できます。

enter image description here

R shinyで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で動作させようとしましたが、成功しませんでした。

34
Frikster

どの引数がどの関数に属しているかを知るために、関数のヘルプページを注意深く読んでください。あなたの場合、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()に渡されます。

53
Yihui Xie