2016-08-09 11 views
-1

Rstudioから実行するとうまく動作するスクリプトを作成しました。Rの実行ファイルは動作しませんが、スクリプトは正常に動作します

ただし、「Rexec」として保存してダブルクリックして実行しようとすると、部分的にしか起動しません。

最初のファイルの場所にnavigate guiのポップアップが表示されますが、その後は何も起こりません。さまざまなメッセージのあるブラックボックスには、クイックファイヤーのメッセージが表示され、何が起きたのかを見ることができます。

私はこの方法ではるかに大きなスクリプトを実行しましたが、問題はありませんでした。

このスクリプトは、私はRStudioを通してそれを実行したとき、すなわち私からいくつかの入力を必要とする複数のインタラクティブなGUIダイアログポップアップがselect.listで列ヘッダを選択するか、または使用を経由してPNGなどのファイルを保存するがあるという点で異なっている:

png.filename <- tclvalue(tkgetSaveFile(initialfile = "choose name.png", 
             filetypes = "{ {PNG Files} {.png} }")) 

問題の原因を確認するにはどうすればよいですか?エラーログを出力しますか?

+0

'私はそれを「Rexec」として保存します。 – Roland

+0

私の悪い投稿のお詫び。私は、Rスクリプトを "foo_script.Rexec"として保存することを意味しました。私はそのファイルタイプを次のような実行可能ファイルとして関連付けることができます - http://www.r-datacollection.com/blog/Making-R-files-executable/。スクリプトの起動は、 "foo_script.Rexec"をダブルクリックするだけです。エラーログを生成する方法の例と問題を解決する方法の例を見て、私の編集を見てください。 –

答えて

0

エラーログを取得する方法のこの例は、Output error/warning log (txt file) when running R script under command lineです。

次のように私はちょうど私のコードにこれらの行を追加しました:

zz <- file("error_log.text", open="wt") 
sink(zz, type="message") 

....code chunk.... 

sink(type="message") 
close(zz) 

これには、次のものが含まれているいくつかのメッセージで「foo_script.Rexec」を含むディレクトリにテキストファイルを書き込みます。

Error in select.list(names(MQ.file.DF), multiple = TRUE, title = "Choose variables to remove", : 
    select.list() cannot be used non-interactively 
Execution halted 

select.list()が問題と思われるため、プロセスがクラッシュします。

回避策 - 私はtk_select.listを使用するように変更されました。これは問題を分類するようです。スクリプトはクラッシュすることなく実行されます。私は、tk_select.listで一度に1つずつクリックする必要があるのに対し、それは複数の列を強調表示するために、カーソルのクリックとドラッグをサポートするので、select.listを好むと思う。私はそれがOKを実行する限り、いくつかのクリックを取るでしょう。私はこれが似たような問題を持つ人に役立つことを望みます。

+0

あなたの質問ではなく、あなたの編集内容をここの答えにコピーする方が良いでしょう。 –

+0

こんにちはPaul、okは次回そのことを行います。 –

関連する問題