當我在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)
這些示例設置了行名和列名,所以數據表總是有一個「列名」列。
顯示爲第二列而不是第一列。他們是在右邊,而不是顯示在左邊...... :(沮喪呃 –
你可以發表一個這樣的例子?因爲我不知道我可以重新創建這種行爲 –
我在做反應函數做錯了。我修好了,它的工作正常,你讓我的一天。 –
你能發表一個小的可重複的例子嗎?我發佈了一個答案,但現在我意識到我可能誤解了某些示例代碼會有所幫助。由行名稱工作的 –