Измените имена столбцов в пакете DT прямо перед выводом в приложение Shiny

Я хотел бы изменить имена столбцов таблицы данных на самом последнем шаге, прежде чем выводить ее в приложении 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.

Если есть способ создавать псевдонимы столбцов, а не изменять фактические имена столбцов, это тоже сработает.


person matsuo_basho    schedule 12.05.2016    source источник
comment
Просто используйте colnames аргумент datatable, который создаст отображаемое имя, как вы хотели. См. Документацию.   -  person Xiongbing Jin    schedule 12.05.2016
comment
Но test.df уже является датируемым. В документации в качестве аргумента функции datatables указаны имена столбцов. (rstudio.github.io/DT) Я не вижу, как включить имена столбцов в в самом конце, после того, как я уже преобразовал df в datatable.   -  person matsuo_basho    schedule 12.05.2016


Ответы (1)


Просто используйте colnames аргумент datatable. При этом изменяется только отображаемое имя, поэтому вы по-прежнему можете использовать исходные имена столбцов в коде форматирования.

test.dt <- datatable(test.df, colnames=c("aa", "cc")) %>% formatPercentage('a', 0) %>% formatCurrency('c', '$')
person Xiongbing Jin    schedule 12.05.2016
comment
Работает красиво, не понимал, что имена столбцов меняют только отображение столбцов, а не базовые имена. - person matsuo_basho; 13.05.2016
comment
Похоже, что поведение функции format * было изменено с версии 0.2 DT, выпущенной 8 августа 2016 г. Приведенный пример больше не работает с v0.2. Теперь функции формата * ожидают новых имен переименованных столбцов. Другими словами, отображаемые имена должны использоваться для выбора столбцов в формате * functions. - person ruiyiz; 17.05.2017