3

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

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

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

4

2 回答 2

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以查看完整列表。

于 2013-01-29T01:12:46.937 回答
1

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

只需添加--vanilla通话列表即可。

subprocess.call(['C:/Program Files/R/R-2.15.2/bin/Rscript',  '--vanilla', 'C:/Users/matt/Desktop/test_script.r'])
于 2017-10-23T10:59:50.530 回答