我是外行UNIX和SOFAR我在Windows中使用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)
我怎样才能在UNIX shell中实现这一点,在两种情况 -
(1)直接在经由interpeter(2)创建脚本和脚本运行命令行。
请提供一步考虑到我是外行到UNIX。
假设你保存你的脚本与名称的简单的文本文件so.R
,您可以通过键入Linux / Unix下运行R
在提示符。 一旦R中输入
source('so.R')
执行R环境里面的脚本(这是假设so.R文件在同一目录中,你是当发出这一命令)。
从Linux / UNIX命令行运行该脚本,使用下面的命令:
R CMD BATCH so.R
请注意,我得到的情节展现,当我跑的R里面的脚本,但是从Linux命令行它并不显示。 我怀疑它就会迅速显示,然后消失,所以会出现,你必须仰望,使其暂停显示的情节后,R指令。
如果你的程序将在一个单一的数据集工作,那么简单-R可能是解决方案:
http://code.google.com/p/simple-r/
它是专为简单的统计分析,Linux命令行的一部分。 例如,如果一个人想绘制一些数据,“R -p的data.txt”将做的工作; 为获得相关系数:“R COR data.txt中”就足够了。
我从你的措辞你的问题,你也许SSH'ed到一台Linux机器的方式猜测? 或者你安装了Ubuntu,例如,你平时的笔记本电脑/ PC上。
假设这是第二种情况:打开一个终端,输入sudo apt-get install r-base
。 然后键入R
。 然后输入
X <- 1:10
Y <- 21:30
plot(X, Y)
myfun <- function (x){
x1 <- x^0.2
return (x1)
}
myfun(X)
由于您的问题是关于unix
与linux
,而不是R
您也可以尝试http://unix.stackexchange.com 。 有很多可说的对Linux和UNIX之间的差异,但所有你可能需要知道的是: 下载Ubuntu的 ,它刻录到光盘,然后在您的CD驱动器中光盘重新启动计算机。
希望这可以帮助。
下面的示例展示了两种方式来在shell脚本运行R代码里面。 这两个例子中还将定义功能而无需执行它们,如果脚本通过源极()函数加载到交互式R对话。
第一个例子可以让你给的参数,你会为任何其他shell脚本,但不会通过额外的R-选项R(因为RSCRIPT给“--args”,以R作为其中一个参数)。
第二个例子允许你给附加R-选项,但除非给“--args”作为脚本参数之一生成(无害)的警告消息。 这个版本是最好避免,除非你有特殊的要求。
原型Rscript.r
#!/usr/bin/env Rscript
# Prototype R script for use at command line in Linux, Mac OS X, UNIX
# References:
# Manual "A Introduction to R", available via help.start() from the R Console
# Appendix "B.1 Invoking R from the command line" in "A Inroduction to R",
showArguments <- function(argv) {
print(argv)
0
}
if ( ! interactive() ) {
# set some error return codes
SCRIPT_ERROR <- 10 # see documentation for quit()
SCRIPT_ARG_ERROR <- SCRIPT_ERROR + 1
# Define ARGV as script path concatenated to script arguments
ARGV <- commandArgs(FALSE) # start with all the arguments given to R
scriptPath <- sub("^--file=", "", grep("^--file=", ARGV, value=TRUE)) [[1]]
ARGV <- c(scriptPath, commandArgs(TRUE))
if (length(ARGV) < 2) {
cat(file=stderr(), sep="",
"Usage: ", ARGV[[1]], " [ options ] item ...\n",
" Do something with item\n",
" See script for details\n")
quit(save="no", status=SCRIPT_ARG_ERROR)
}
quit(save="no", status=showArguments(ARGV))
}
原型shellscript.r
#!/usr/bin/env R --slave --vanilla --quiet -f
# Prototype R script for use at command line in Linux, Mac OS X, UNIX
# References:
# Manual "A Introduction to R", available via help.start() from the R Console
# Appendix "B.1 Invoking R from the command line" in "A Inroduction to R",
showArguments <- function(argv) {
print(argv)
0
}
if ( ! interactive() ) {
# set some error return codes
SCRIPT_ERROR <- 10 # see documentation for quit()
SCRIPT_ARG_ERROR <- SCRIPT_ERROR + 1
# Define ARGV as the arguments given to this script (after argument “-f”)
ARGV <- commandArgs(FALSE) # start with all the arguments given to R
ARGV <- ARGV[(grep("-f", ARGV) [[1]] + 1):length(ARGV)]
if ( any(grepl("--args", ARGV) )) { # remove arguments intended only for R
ARGV <- c(ARGV[[1]], commandArgs(TRUE))
}
if (length(ARGV) < 2) {
cat(file=stderr(), sep="",
"Usage: ", ARGV[[1]], " [ R_options ] --args [ options ] item ...\n",
" Do something with item\n",
" See script for details\n")
quit(save="no", status=SCRIPT_ARG_ERROR)
}
quit(save="no", status=showArguments(ARGV))
}