在输出到Shiny app之前,在DT包中更改列名

mat*_*sho 4 r shiny dt

我想在最后一步更改数据的列名,然后在Shiny应用程序中输出它.显示名称很长,我不想在操作数据表时更改它们.在我的实际数据集中,数据表的格式更改比下面的更多.

这是一个虚拟数据集:

library(DT)
test.df <- data.frame(a = runif(10), b = 21:20, c = 31:30, d = 31:40)
test.dt <- datatable(test.df) %>% formatPercentage('a', 0) %>% formatCurrency('c', '$')
Run Code Online (Sandbox Code Playgroud)

现在,我如何将列名更改为c('Col1','Col2','Col3','Col4')?同样,我希望这是我用renderDataTable函数输出数据表之前的最后一步.

如果有一种方法可以创建列别名而不是更改实际的列名,那么这也可以.

Xio*_*Jin 5

只需使用的colnames论点datatable.这只会更改显示名称,因此您仍可以在格式代码中使用原始列名称.

test.dt <- datatable(test.df, colnames=c("aa", "cc")) %>% formatPercentage('a', 0) %>% formatCurrency('c', '$')
Run Code Online (Sandbox Code Playgroud)

  • 从 2016 年 8 月 8 日发布的 DT 0.2 版开始,format* 函数的行为似乎已发生变化。提供的示例不再适用于 v0.2。现在 format* 函数需要重命名列的新名称。换句话说,必须使用显示名称来选择 format* 函数中的列。 (2认同)