2017-08-30 9 views
0

Shinyにデータテーブルを用意して、適切な出力を表示するためにセルからデータを取得する必要があります。光沢のあるデータテーブルを使用して、選択したセルのデータを取得

input$tableId_cells_selectedを使用すると、テーブル内の選択したセルの位置を取得できます。これは参考になりますが、出力関数を記述するために実際にセルにあるものを参照する必要もあります。

これは役に立ちましたが、Shinyのサーバ機能で実際に機能する機能を適用できませんでした。

何か助けていただければ幸いです。ここで

答えて

1

はあなたのためのソリューションです:データテーブルの下textOutput

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] 
    }) 
    } 
) 

は、選択したセルの値を見ることができます...

あなたがする必要がある唯一のものは使用することですデータをサブセットにinput$tableId_cells_selected引数:

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

次の時間reproducible exampleを投稿してください!

+0

あなたのrepsonseに感謝しますが、私が私が探しているものに関して私の説明で十分に徹底していたとは思わない。 UIで何かを変更する必要はなく、セルの内容を出力したくありません。私は関数を使うことができるように、セルにあるものを格納する変数が必要です。したがって、入力$ tableID_cells_selectedを知っていれば、実際にセルにあるものにどのようにアクセスすればよいですか?ありがとうございました – Avioli

+0

まあ私は実際に私の答えでセルの出力に投稿しました: 'value < - reactive({iris [input $ tableId_cells_selected])' ...そして、 () ' –

+0

Mal_a、私はあなたの答えをすべてお礼しますが、私はデータを取得しているテーブルも反応的です。したがって、テーブルにデータを入れる同じアイリス(アイリス)から引き出すほど簡単ではありません。ユーザーが入力を選択したことに応じて、36個の異なるデータ・フレームが表に取り込まれます。 – Avioli

関連する問題