2016-09-05 22 views
0

私は、actionButtonを押すとソースファイルを呼び出す小さな光沢のあるアプリケーションを構築しようとしています。 actionButtonオブザーバは、ui.Rからinput$topicinput$numを取得し、適切に動作するように環境で定義されたtopic変数とnum変数を必要とするこのsource("downloadTweets.R")ファイルを呼び出します。環境変数を光源とする環境変数

# Entry shiny server function 
shinyServer(function(input, output) { 

    observeEvent(input$searchButton, { 
    topic <- as.character(input$hashtagClass) 
    num <- as.numeric(input$numTweetsClass) 
    source("downloadTweets_Topic.R") 
    }) 
}) 

私はそれを実行しようとすると、source("downloadTweets_Topic.R")呼び出しが行われた後topic値が見つからなかったことを出力し、エラーメッセージがあります。私はShinyにとってはかなり新しく、スコープのドキュメントを読んで、reactive()の機能を使用していますが、実際の動作は分かりません。これを行う方法はありますか、これらの値を関数に渡すことができるように.Rファイルを再実装する必要がありますか?

私がこのようにしているのは、R StudioのShinyアプリケーションではない別のプロジェクトからのコードの再利用です。

+0

'source(" downloadTweets.R "、local = TRUE)'を試してください。ディレクトリも 'source 'で指定する必要があります。ここでは、 'downloadTweets.R'ファイルが' server.r'と同じディレクトリにあると仮定しています。 –

+0

'topic'や 'num'のように見えるのと同じ問題を示しています。ファイルのソースは、実行スタックが示すようにうまく動作します。 –

+1

適切な例がなければ、あなたを助けるのは難しいです。ソースファイルと入力変数を入力してください –

答えて

0

input$hashtagClassのように見えます。その行の上にあるがobserve式の内側にbrowser()行を投げてください。これは、アプリケーションが実行され、このコードがトリガされると、ブレークポイントにあなたを落とします。 reqコールで問題を解決できる可能性があります。 ?reqでそれを見てください。

@porkチョップの提案は、local=Tsourceを追加することも重要です。これは、割り当てられた変数をグローバルenvに入れます。