web-dev-qa-db-fra.com

Comment supprimer les noms de ligne lors de l'utilisation de DT :: renderDataTable dans R shiny?

Selon l'explication de la section 2.3 ici , je peux supprimer les noms de domaine pour une table de données en définissant rownames = FALSE

enter image description here

Comment supprimer les noms de ligne lors de l'utilisation de DT::renderDataTable en R brillant? Ce qui suit ne fonctionne pas parce que si vous regardez la référence des options dataTables il n'y a pas d'option rownames

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

Ma question est similaire à celle ici . Les réponses existent pour renderTable et j'ai essayé de les faire fonctionner avec DT::renderDataTable sans succès.

34
Frikster

Veuillez faire très attention à lire les pages d'aide des fonctions pour savoir quel argument appartient à quelle fonction. Dans votre cas, l'argument rownames appartient à la fonction datatable(), mais vous le placez en fait dans l'argument options, et c'est certainement faux. DT::renderDataTable() accepte un objet de données ou un widget de table comme premier argument (encore une fois, veuillez lire sa page d'aide), donc l'une des expressions suivantes devrait fonctionner:

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
)

Dans ce dernier cas, rownames = FALSE Est passé à datatable() en interne, selon la documentation de l'argument ... De la page d'aide.

53
Yihui Xie