2016-05-31 5 views
0

私は、ユーザーにさまざまな変数のタイムラインプロットを選択できるように光沢のあるアプリを開発しています。説明のため、私は、次のデータを使用したい:ここShinyのgoogleVisを使用

datTL <- data.frame(Position=c(rep("President", 3), rep("Vice", 3)), 
        Name=c("Washington", "Adams", "Jefferson", 
          "Adams", "Jefferson", "Burr"), 
        start=as.Date(x=rep(c("1789-03-29", "1797-02-03", 
              "1801-02-03"),2)), 
        end=as.Date(x=rep(c("1797-02-03", "1801-02-03", 
             "1809-02-03"),2))) 

は、私が思い付くために管理しているものです:私のコードで

#ui.R 
library(shiny) 
library(googleVis) 
shinyUI(bootstrapPage(
    selectInput('id','select a name',choices = as.character(unique(datTL$Name))), 
    htmlOutput('timeline') 
)) 

#server.R 
shinyServer(function(input,output){ 
    datainput=reactive({daTL[daTL$Name==input$id,]}) 
    output$timeline=renderGvis({gvisTimeline(data=datTL, 
          rowlabel="Name", 
          barlabel="Position", 
          start="start", 
          end="end")}) 
}) 

、私は、ドロップダウンリストでアプリケーションを作成することができます大統領の名前や全社長のタイムラインプロットなどが含まれます。私が苦労しているのは、ユーザーがリストから名前を選択してプロットをフィルタリングできるように、ドロップダウンリストとタイムラインプロットをリンクすることです。誰か助けてくれますか?

答えて

0

ここに稼働サーバーコードがあります。あなたのコードにいくつかのタイプミスがありました。また、反応はdatainput()として使われます。

shinyServer(function(input,output){ 
    datainput=reactive({datTL[datTL$Name==input$id,]}) 
    output$timeline=renderGvis({ 
     gvisTimeline(data=datainput(), 
              rowlabel="Name", 
              barlabel="Position", 
              start="start", 
              end="end")}) 
}) 
+0

こんにちは@warmoverflow、あなたの答えに感謝します。 'datainput'関数を' renderGivs'関数にラップすることは可能でしょうか? – Cypress

+0

作業する必要があります。ちょうど 'reactive'を削除してください。それは関数ではなく、単なる変数です。 –

関連する問題