我有一个R脚本,我希望能够提供几个命令行参数(而不是代码本身的硬编码参数值).该脚本在Windows上运行.
我找不到有关如何将命令行中提供的参数读入我的R脚本的信息.如果无法做到,我会感到惊讶,所以也许我只是在谷歌搜索中没有使用最好的关键词......
任何指针或建议?
我是外行人,unix和sofar我在Windows中使用R. 例如,我在R会话中输入以下内容(在R gui中).
# this is a my funny example script
X <- 1:10
Y <- 21:30
plot(X, Y)
myfun <- function (x){
x1 <- x^0.2
return (x1)
}
myfun(X)
Run Code Online (Sandbox Code Playgroud)
在两种情况下,如何在unix shell中实现这一点 -
(1)直接在命令行中通过interpeter(2)创建脚本并运行脚本.
请考虑我是unix的外行人.
目前我有一个非常简单的脚本.如果我在控制台中输入命令,我会在屏幕上打印文本.但是,如果我使用以下操作脚本
source('myscript.R')
Run Code Online (Sandbox Code Playgroud)
执行内容但没有任何内容打印到屏幕上.如何阻止控制台输出被抑制?
我在Linux集群上运行R程序,因为它对我的处理器要求很高.我的程序旨在将多个(大约15个)绘图作为PDF输出到程序收集其输入的文件夹中.
我希望我的程序在后台运行,并在我退出群集时继续运行.
首先,我试过这个:
cd /Users/The/Folder/With/My/RScript #changed working directory
nohup ./BatchProgram.R &
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用,因为它将输出附加到一个名为的文件nohup.out,并且没有输出我需要的任何PDF.
接下来我尝试了这个:
cd /Users/The/Folder/With/My/RScript #changed working directory
R #to run R
source(‘BatchProgram.R’) #to run my program
Run Code Online (Sandbox Code Playgroud)
这给了我想要的输出,但没有在后台运行程序(当我退出集群时会停止).
有人可以告诉我如何获取第二块代码的输出,同时在后台运行程序并导致它甚至在我注销linux集群后继续运行(如第一块代码)?
非常感谢!