当我在Shiny中使用renderdatatable函数来显示转置数据集时,该函数返回表列名称丢失的结果。r闪亮的renderdatatable转置数据帧问题
好奇,找出别人怎么做来缓解这个问题,任何的帮助深表感谢。
当我在Shiny中使用renderdatatable函数来显示转置数据集时,该函数返回表列名称丢失的结果。r闪亮的renderdatatable转置数据帧问题
好奇,找出别人怎么做来缓解这个问题,任何的帮助深表感谢。
这可能是因为转置数据集没有任何rownames(在转置操作后它将成为列名)。 如果你确定为数据输入设置列名,那么对于我来说数据表达式渲染就好了。
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)
这些示例设置了行名和列名,所以数据表总是有一个“列名”列。
显示为第二列而不是第一列。他们是在右边,而不是显示在左边...... :(沮丧呃 –
你可以发表一个这样的例子?因为我不知道我可以重新创建这种行为 –
我在做反应函数做错了。我修好了,它的工作正常,你让我的一天。 –
你能发表一个小的可重复的例子吗?我发布了一个答案,但现在我意识到我可能误解了某些示例代码会有所帮助。由行名称工作的 –