r Shiny renderdatatable 转置数据框问题
r Shiny renderdatatable transpose data frame issue
当我在 Shiny 中使用 renderdatatable 函数显示转置数据集时,函数 returns 结果缺少 table 列名称。
很想知道其他人做了什么来缓解这个问题,非常感谢任何帮助。
这可能是因为转置数据集没有任何行名(转置操作后将成为列名)。
如果您确保为数据输入设置列名,则数据table 呈现对我来说很好。
library(shiny)
# Some data
n <- 10
dat <- data.frame("a"=sample(LETTERS,n),"b"=runif(n),"c"=runif(n))
rownames(dat) <-paste("r_", sample(LETTERS,n),sep="")
colnames(dat) <-paste("c_", sample(LETTERS,3),sep="")
ui <- shinyUI(fluidPage(
fluidRow(
column(8,dataTableOutput("tbl")),
column(2,actionButton("renderMatrix","Render matrix")),
column(2,actionButton("renderMatrixT","Render t(matrix)"))
)
))
server <- shinyServer(function(input, output) {
observeEvent(input$renderMatrix,{
output$tbl <- renderDataTable({dat})
})
observeEvent(input$renderMatrixT,{
output$tbl <- renderDataTable({t(dat)})
})
})
shinyApp(ui = ui, server = server)
这些示例设置了行名和列名,因此数据 table 将始终有一个 "Column Name" 列。
当我在 Shiny 中使用 renderdatatable 函数显示转置数据集时,函数 returns 结果缺少 table 列名称。
很想知道其他人做了什么来缓解这个问题,非常感谢任何帮助。
这可能是因为转置数据集没有任何行名(转置操作后将成为列名)。 如果您确保为数据输入设置列名,则数据table 呈现对我来说很好。
library(shiny)
# Some data
n <- 10
dat <- data.frame("a"=sample(LETTERS,n),"b"=runif(n),"c"=runif(n))
rownames(dat) <-paste("r_", sample(LETTERS,n),sep="")
colnames(dat) <-paste("c_", sample(LETTERS,3),sep="")
ui <- shinyUI(fluidPage(
fluidRow(
column(8,dataTableOutput("tbl")),
column(2,actionButton("renderMatrix","Render matrix")),
column(2,actionButton("renderMatrixT","Render t(matrix)"))
)
))
server <- shinyServer(function(input, output) {
observeEvent(input$renderMatrix,{
output$tbl <- renderDataTable({dat})
})
observeEvent(input$renderMatrixT,{
output$tbl <- renderDataTable({t(dat)})
})
})
shinyApp(ui = ui, server = server)
这些示例设置了行名和列名,因此数据 table 将始终有一个 "Column Name" 列。