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

为了简化我的实际任务,我创建了一个非常基本的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'])

这会打开一个具有典型R启动语言的cmd窗口,除了有一条消息显示为:“ARGUMENT'C:/Users/matt/Desktop/test_script.R'__忽略__”

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

这将闪烁一个cmd窗口并返回0,但是没有创建.csv文件。

否则,我会尝试在此站点或任何其他站点上可以找到的所有建议。任何见识将不胜感激。在此先感谢您的时间和精力。

最佳答案

在命令提示符处运行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查看完整列表。

10-07 13:22