shiny - 在 Shiny 中重命名 DT 中的列名
问题描述
有没有办法在闪亮的 DT 表中重命名列名。我原来在DT中的列名如下图
colnames(DT_table) <- c("AB", "BC", "CD")
##rename column names to (inside renderDT)
colnames(DT_table) <- c("AB", "New BC", "New CD")
output$table <- DT::renderDT({
datatable(
DT_table,
rownames = F,
escape = FALSE,
)
})
解决方案
您可以在服务器内部、服务器外部或renderDT
. 不知道为什么这对你不起作用。由于数据是静态的,因此我在服务器之外执行此操作。如果数据根据用户输入发生变化,则仅在服务器内部执行此操作,但它也可以在那里工作。
library(shiny)
ui <- fluidPage(
DT::DTOutput("table")
)
DT_table <- data.frame(a = 1:10, b = 11:20, c = 21:30)
colnames(DT_table) <- c("AB", "BC", "CD")
server <- function(input, output, session) {
output$table <- DT::renderDT({
##rename column names to (inside renderDT)
colnames(DT_table) <- c("AB", "New BC", "New CD")
DT::datatable(
DT_table,
rownames = F,
escape = FALSE,
)
})
}
shinyApp(ui, server)
renderDT()
您可以在调用之前将新的列名放入其中,datatable()
输出将显示renderDT
调用中的列名。见下文:
library(shiny)
ui <- fluidPage(
DT::DTOutput("table")
)
DT_table <- data.frame(a = 1:10, b = 11:20, c = 21:30)
colnames(DT_table) <- c("AB", "BC", "CD")
server <- function(input, output, session) {
output$table <- DT::renderDT({
##rename column names to (inside renderDT)
colnames(DT_table) <- c("AB", "Changed BC", "Changed CD")
DT::datatable(
DT_table,
rownames = F,
escape = FALSE,
)
})
}
shinyApp(ui, server)
推荐阅读
- sql - 如何在不从现有表中选择的情况下使用“Proc SQL”创建表
- laravel - Laravel Varbox - 获取特定语言的可翻译模型属性值
- mysql - 如何解决“mysql工作台窗口中用户'root'@'localhost'的访问被拒绝”
- sql - 截断不正确的整数值“。”
- python - 如何向 rest api 端点发出 post 请求,并请求将我的表单保存在 django 的视图文件中?
- c++ - 在 boost/beast 中获取请求协议
- python - 如何在网站的python django中的文章中放置标签
- botframework - 如何从 Microsoft Bot Service 获取所有 Carousel 数据?
- javascript - 翻译js构造(对象)
- php - 在 Woocommerce 中保存自定义属性字段