在输出到 Shiny 应用程序之前更改 DT 包中的列名

Change column names in DT package right before output to Shiny app

我想在将数据表输出到 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', '$')

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

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

只需使用 datatablecolnames 参数即可。这只会更改显示名称,因此您仍然可以在格式化代码中使用原始列名称。

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