Mad*_*Seb 6 arguments r sweave
我正在使用R和Sweave生成报告.
R CMD Sweave MyReport.Rnw
我希望能够向R代码发送参数,因为报告当然是"动态的".所以,我希望能够做到这样的事情:
R CMD SWeave MyReport.Rnw PatientId = 5
...并让R代码读取PatientId变量中的值...
我该怎么做呢?有人提到使用环境变量,但这似乎是一个非优雅的解决方案.
要从R命令行传递参数,可以使用该函数commandArgs(),但遗憾的R CMD Sweave是不支持额外的命令行选项.但是,你仍然可以通过R -e例如
R -e "Sweave('MyReport.Rnw')" --args PatientId=1
Run Code Online (Sandbox Code Playgroud)
在MyReport.Rnw,你做一些文本处理commandArgs(TRUE),PatientId=1在这种情况下,它给你一个字符串.
但我相信更好的做法是直接Sweave()在R脚本中使用该函数; 例如,在这种情况下,您可以在脚本中编写流程
PatientId <- 1
Sweave("MyReport.Rnw")
Run Code Online (Sandbox Code Playgroud)
并在MyReport.Rnw您PatientId直接使用全局变量.如果要生成一系列报告,甚至可以使用循环PatientId.
| 归档时间: |
|
| 查看次数: |
1960 次 |
| 最近记录: |