2017-08-30 48 views
0

我在Shiny中有一個數據表,爲了顯示正確的輸出,我需要將數據從單元格中取出。使用有光澤的數據表獲取所選單元格的數據

通過使用input$tableId_cells_selected,我可以檢索表格中選定單元格的位置。這很有幫助,但是我還需要引用單元中的實際內容來編寫輸出函數。

我發現這個link這可能會有所幫助,但我無法將這些功能應用到我的Shiny服務器功能中。

任何幫助表示讚賞。

回答

1

這裏是爲您解決:

library(shiny) 
library(DT) 
shinyApp(
    ui = fluidPage(DT::dataTableOutput('tableId'), 
       textOutput("celltext")), 
    server = function(input, output) { 
    output$tableId = DT::renderDataTable(
     iris, , selection = list(target = 'cell') 
    ) 

    output$celltext <- renderText({ 
     cell <- input$tableId_cells_selected 
     iris <- iris[cell] 
    }) 
    } 
) 

textOutput數據表中可以看到所選單元格的值低於...

,你需要做的唯一一件事就是使用input$tableId_cells_selected參數子集數據:

cell <- input$tableId_cells_selected 
iris <- iris[cell] 

下一次,請張貼reproducible example

+0

感謝您的repsonse,但我不認爲我在我的解釋中足夠徹底,以至於我在尋找什麼。我不需要在我的用戶界面中更改任何內容,也不需要輸出單元格的內容。我只需要一個變量來存儲單元格中的內容,以便我可以在函數中使用它。所以如果我們知道輸入$ tableID_cells_selected,我該如何訪問單元格中的實際內容?謝謝 – Avioli

+0

嗯,我確實在我的回答中發佈了單元格的輸出結果:'value < - reactive({iris [input $ tableId_cells_selected])}'...你可以在函數中進一步使用它: ()' –

+0

Mal_a,我很欣賞你所有的答案,但我從中得到的數據表也是被動的。所以它不像從填充表格的同一組數據(虹膜)那樣簡單。根據用戶對輸入的選擇,有36種不同的數據框可以填充表格。 – Avioli

相關問題