在Windows中从cmd运行R.

use*_*123 8 r

我正在尝试安装rtools,以便我可以安装另一个软件包(Google的causalimpact),并且该过程表明我的R路径环境有问题.

主要问题

我无法R从cmd窗口运行.

预期的行为是在下面输出并给出>提示:

R version 3.1.1 (blah blah)

...

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
Run Code Online (Sandbox Code Playgroud)

但实际结果是:

'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)

附加信息

然而Rcmd,我可以从cmd 运行和Rgui(除了之外R)没有错误.

Where R 打印输出 C:\Program Files\R\R-3.1.1\bin\x64\R.exe

Where Rcmd 打印输出 C:\Program Files\R\R-3.1.1\bin\x64\Rcmd.exe

Where Rgui 打印输出 C:\Program Files\R\R-3.1.1\bin\x64\Rgui.exe

返回指向其各自exe文件的相同路径.

这显然是我的全局环境路径的问题,但我不明白为什么它会产生这个错误

路径看起来像(最后一行的R路径):

     c:\Rtools\bin      
     c:\Rtools\gcc-4.6.3\bin      
     C:\RBuildTools\3.1\bin 
     C:\RBuildTools\3.1\gcc-4.6.3\bin   
     c:\Rtools\bin
     c:\Rtools\gcc-4.6.3\bin  
     C:\Python27\   
     C:\Python34\     
     C:\Python34\Scripts      
     C:\Program Files (x86)\Intel\iCLS Client\   
     C:\Program Files\Intel\iCLS Client\ 
     C:\windows\system32  
     C:\windows 
     C:\windows\System32\Wbem      
     C:\windows\System32\WindowsPowerShell\v1.0\    
     C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86 
     C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64  
     C:\Program Files\Intel\Intel(R) Management Engine Components\DAL    
     C:\Program Files\Intel\Intel(R) Management Engine Components\IPT    
     C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL   
     C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT     
     C:\Program Files (x86)\QuickTime\QTSystem\  
     c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\    
     c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\      
     c:\Program Files\Microsoft SQL Server\100\Tools\Binn\   
     c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\  
     C:\strawberry\c\bin  
     C:\strawberry\perl\site\bin   
     C:\strawberry\perl\bin    
     C:\Program Files\MiKTeX 2.9\miktex\bin\x64\    
     C:\Program Files\MiKTeX 2.9\miktex\bin\x64\
     C:\Program Files\R\R-3.1.1\bin\x64  
Run Code Online (Sandbox Code Playgroud)

我可以通过在cmd窗口中输入任一名称来运行Python和Perl,并且以同样的方式指向R,我无法理解上述错误.

如果有人对我如何解决这个错误有任何建议,我将非常感激.

我之前没有在这里问过这种性质的问题所以任何编辑/指针也非常受欢迎.

原始路径:

PATH=C:\Program Files\R\R-3.1.1\bin\x64;C:\Program Files\R\R-3.1.1\bin\x64;c:\Rt
ools\bin;c:\Rtools\gcc-4.6.3\bin;C:\RBuildTools\3.1\bin;C:\RBuildTools\3.1\gcc-4
.6.3\bin;c:\Rtools\bin;c:\Rtools\gcc-4.6.3\bin;C:\Python27\;C:\Python34\;C:\Pyth
on34\Scripts;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iC
LS Client\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\Sy
stem32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x
86;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64;C:\Program Files\Intel\In
tel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Manageme
nt Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine
 Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Componen
ts\IPT;C:\Program Files (x86)\QuickTime\QTSystem\;c:\Program Files (x86)\Microso
ft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;c:\Program Files (x86)\Microso
ft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Bi
nn\;c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\strawberry\c\bi
n;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin;C:\Program Files\MiKTeX 2.9
\miktex\bin\x64\;C:\Program Files\MiKTeX 2.9\miktex\bin\x64\;C:\Users\Tariq.Muma
n\AppData\Local\Pandoc\
Run Code Online (Sandbox Code Playgroud)

Dav*_*hel 8

这是因为空间的原因.CMD理解:使用参数"Files\R\R-3.1.1\bin\x64\R.exe"执行"C:\ Program ".

你应该引用整个字符串:

"C:\Program Files\R\R-3.1.1\bin\x64\R.exe"
Run Code Online (Sandbox Code Playgroud)

...一个技巧是从您的Windows资源管理器中将exec文件拖放到命令窗口中,您将获得要使用的正确字符串.


Jus*_*ies 7

尝试将PATH变量调整为 PATH=C:\Progra~1\R\R-3.1.1\bin\x64;...

看起来很可能你的系统正在将空白Program Files作为路径中的终止字符进行解析.如上所述调整定义应该是不可能的.