使用python执行.R脚本

时间:2013-01-29 01:05:01

标签: r python-2.7

经过七个小时的谷歌搜索和重读有些类似的问题,然后经过大量的反复试验,我现在很乐意寻求一些指导。

为了简化我的实际任务,我创建了一个非常基本的R脚本(名为test_script):

x <- c(1,2,3,4,5)
avg <- mean(x)
write.csv(avg, file = "output.csv")

这可以按预期工作。

我是python的新手,我只想弄清楚如何执行R脚本,以便创建相同的.csv文件。

值得注意的结果来自:

subprocess.call(["C:/Program Files/R/R-2.15.2/bin/R", 'C:/Users/matt/Desktop/test_script.R'])

这将打开一个cmd窗口,其中包含典型的R启动条款,但有一条消息显示为“ARGUMENT'C:/Users/matt/Desktop/test_script.R'__ ignore __”

subprocess.call(['C:/Program Files/R/R-2.15.2/bin/Rscript', 'C:/Users/matt/Desktop/test_script.r'])

这会闪烁cmd窗口并返回0,但不会创建.csv文件。

否则,我已经尝试了我在本网站或任何其他网站上可以识别的所有建议。任何见解将不胜感激。提前感谢您的时间和精力。

2 个答案:

答案 0 :(得分:3)

在命令提示符下运行R --help会打印:

Usage: R [options] [< infile] [> outfile]
   or: R CMD command [arguments]

Start R, a system for statistical computation and graphics, with the
specified options, or invoke an R tool via the 'R CMD' interface.

Options:
  -h, --help            Print short help message and exit
  --version             Print version info and exit
  ...
  -f FILE, --file=FILE  Take input from 'FILE'
  -e EXPR               Execute 'EXPR' and exit

FILE may contain spaces but not shell metacharacers.

Commands:
  BATCH         Run R in batch mode
  COMPILE       Compile files for use with R
  ...

尝试

call(["C:/Program Files/R/R-2.15.2/bin/R", '-f', 'C:/Users/matt/Desktop/test_script.R'])

还有一些其他可以传递给R的命令行参数可能会有所帮助。运行R --help查看完整列表。

答案 1 :(得分:0)

可能为时已晚,但希望对其他人有所帮助:

只需在通话清单中添加--vanilla即可。

subprocess.call(['C:/Program Files/R/R-2.15.2/bin/Rscript',  '--vanilla', 'C:/Users/matt/Desktop/test_script.r'])