1

CygWin ターミナルから R ファイルを実行しようとするのはこれが初めてです。linreg.R という名前のファイルがあり、CygWin ターミナルのファイルと同じディレクトリにいます。同じディレクトリに、入力 linreg.R と別の data.txt (別の場所にある) を取り込むシェル スクリプトがあります。

適切な入力を使用して bash を実行すると、同じエラーが何度も発生します。

$ ./build_model_from_directory.sh linreg.R /workdir/workdir/prod_data_v.txt lm_try
./build_model_from_directory.sh: line 27: type: Rscript: not found
Rscript is needed for linreg.R. Exiting

私がこのようなものを置くとき:

$./build_model_from_directory.sh linreg.Rscript /workdir/workdir/prod_data_v.txt lm_try
Script assumes linreg.Rscript in same directory

これは linreg.R の最初の行です。

#!/usr/bin/env Rscript

パスを設定しようとしましPATH=$PATH:C:\\ProgramFiles\\R\\R-3.0.1\\bin たが、役に立ちません。PATH が変更されましたが、スクリプトはまだ実行されていません。

どんな助けでも大歓迎です。

4

2 に答える 2

2

それを .bashrc ファイルに追加する価値があるかもしれません:

echo 'PATH=$PATH:/cygdrive/c/Program\ Files/R/R-3.2.3/bin' >> .bashrc
于 2016-02-06T01:07:52.267 に答える
0

何度も犯していた間違いに気づきました。

cygpath は、UNIX 環境でディレクトリのパスの実際の表現を見つけるために使用されます。

例:

$ cygpath 'C:\Program Files\R\R-3.0.1\bin'
/cygdrive/c/Program Files/R/R-3.0.1/bin

Program Filesしたがって、PATH 変数に があり、ないことを確認する必要がありProgramFilesます。UNIX は特殊文字を認識しないため、間のスペースをバックスケープする必要があります。Program Files

 $ PATH=$PATH:/cygdrive/c/Program\ Files/R/R-3.0.1/bin

その後、Rファイルの認識を開始しました。

于 2014-04-12T17:36:03.443 に答える