按字母数字顺序对 data.table 中的行(使用 DT 包呈现)进行排序

Sort rows in data.table (rendered with the DT package) in alphanumeric order

我想知道是否可以按字母数字顺序对使用 DT 包呈现的 data.table 中的行进行排序。我已经搜索过以前的例子,但似乎没有办法做到这一点。谁能帮助我走向正确的方向?

有可能。您想要执行此操作的方式取决于您是否要对数据结构进行排序 (1.),或者您是否只想对 datatable() 调用 (2.).

的渲染输出进行排序
  1. 如果您想订购 data.table,请按照此 SO post 中的说明进行操作:Sort rows in data.table in decreasing order on string key `order(-x,v)` gives error on data.table 1.9.4 or earlier
  2. 如果您只想订购呈现的输出,您可以使用 datatable() 调用的 option 设置,如此处所述 https://rstudio.github.io/DT/options.html

上面来源的一个小例子。按第 2 列(升序)和第 4 列(降序)对 table 进行排序:

datatable(head(mtcars, 30), options = list(
  order = list(list(2, 'asc'), list(4, 'desc'))
))