这是我第一次尝试从CygWin终端运行R文件。我有一个名为linreg的文件。R和我与CygWin终端中的文件位于同一目录中。在接收输入linreg的同一目录中有一个shell脚本。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,但脚本仍然没有运行。
如有任何帮助,我们将不胜感激。
将其添加到.bashrc文件中可能是值得的:
echo 'PATH=$PATH:/cygdrive/c/Program Files/R/R-3.2.3/bin' >> .bashrc
我一次又一次地发现了自己犯的错误。
cygpath用于查找UNIX环境中目录路径的实际表示
示例:
$ cygpath 'C:Program FilesRR-3.0.1bin'
/cygdrive/c/Program Files/R/R-3.0.1/bin
因此,我们需要确保PATH变量具有Program Files
而不是ProgramFiles
。由于UNIX不理解特殊字符,我们需要回溯Program Files
之间的空间
$ PATH=$PATH:/cygdrive/c/Program Files/R/R-3.0.1/bin
从那以后,它开始识别R文件。