R语言-自动批处理

摘要:
R语言-自动批处理文件在处理数据的过程中,您可以制作一个具有智能效果的自动批文件,自动化复杂的数据处理过程,提高工作效率,解放生产力,从而可以在数据分析和数据挖掘中投入更多的精力,找到数据中的“黄金”,并反映数据的真正价值!!!方法1:在R语言Exe的C:ProgramFilesRR-3.2.0inx64中有Rscript,这是脚本运行的程序。您可以根据具体情况使用命令行选项调整R的批处理过程。
R语言-自动批处理文件

  在处理数据的过程中,可以制作一个自动批处理文件,让它具有智能的效果,自动化完成复杂的数据处理过程,提高工作效率,解放生产力,从而可以投入更多的精力到数据分析和数据挖掘中,发现数据中的"金子",体现数据的真正价值!!!


方法1:

  R语言中 C:Program FilesRR-3.2.0inx64 中有个 Rscript.exe,这是脚本运行的程序。
  • (1)将你的R语言程序写入一个叫mywork.r的文件中,文件名字自己随便起就行。
  • (2)建立个Rcmd.txt文件,里面写入代码 :

    cd /d C:Program FilesRR-3.2.0in
    Rscript F:cswindowsCode.R
      然后,将Rcmd.txt修改扩展名为Rcmd.bat然后双击就ok了,自动运行。

方法2:

  在 windows 命令行中敲入"调用命令":
  • 调用命令:

    r CMD BATCH F:cswindowsCode.R
    或
    r CMD BATCH --quiet --slave --no-restore --no-save --no-init-file F:dataHQweather_datawindowsCode.R
      (注意 CMD BATCH 都要大写)

方法参数详解

  如果你想编写一个命令脚本,如UNIX或OS X系统的shell脚本,或Windows系统中的批处理脚本,并且你希望在这些脚本中执行R代码。

解决方案

使用带有CMD BATCH子命令的方式运行R程序,并给出脚本文件名和输出文件名:
$ R CMD BATCH scriptfile outputfile

如果需要将输出结果发送到标准输出设备中,或者希望将命令行参数传递到脚本中,可以考虑应用Rscript命令:

$ Rscript scriptfile arg1 arg2 arg3

讨论

  R是一个交互式软件,它提示用户输入,然后显示输出结果。有时你想在批处理模式下运行R,从脚本读取命令。这对于shell内部的脚本,例如含有统计分析的脚本而言特别有用。
  CMD BATCH子命令把R转到批处理模式,它读取脚本文件scriptfile并且把输出写入输出文件outputfile。这个运行过程中不与用户交互。
  你可能会根据具体情况使用命令行选项,调整R的批处理过程。例如,使用--quiet选项来避免启动信息,否则将使输出信息混乱:
$ R CMD BATCH --quiet myScript.R results.out
  下面是一些其他批处理模式下的实用命令:
--slave
  类似于--quiet,它禁止回送输入的信息,使R软件输出的信息更为简洁。
--no-restore
  在R启动时不还原工作空间。对于希望以空白工作空间启动R的脚本而言,这个选项很有必要。
--no-save
  在退出R时,不保存工作空间;否则,R会保存当前工作空间并覆盖原有工作目录中的.RData文件。
--no-init-file
  不读取.Rprofile文件或者~/. Rprofile文件。
  在脚本运行结束后,CMD BATCH子命令一般会使用proc.time函数显示其执行的时间。如果你不需要显示该时间,可以在代码最后一行调用参数为runLast=FALSE的q函数,它将防止调用proc.time函数。
  CMD BATCH子命令有两个限制条件:输出必须总是传送到一个文件中,并且无法简单地将命令行参数传送到脚本中。如果这两个限制成为问题,可以考虑使用R软件自带的Rscript程序。Rscript命令的第一个命令行参数是脚本文件的名称,其余的参数将传递给脚本代码:
$ Rscript myScript.R arg1 arg2 arg3
  在脚本中,命令行参数可以通过调用commandArgs函数来获取,该函数会把参数作为一个字符串向量返回:
argv <- commandArgs(TRUE)
  Rscript程序和CMD BATCH命令使用上面所提到的相同的命令行选项。
  将输出结果输出到标准输出设备中,该设备是R从调用它的shell脚本中继承来的。当然,可以通过一般的重定向方法将输出重定向到一个文件中:
$ Rscript --slave myScript.R arg1 arg2 arg3 >results.out
  下面是一个名为arith.R的简易R脚本文件,它对两个命令行参数进行四个算术运算:
argv <- commandArgs(TRUE)
x <- as.numeric(argv[1])
y <- as.numeric(argv[2])
cat("x =", x, "
")
cat("y =", y, "
")
cat("x + y = ", x + y, "
")
cat("x - y = ", x - y, "
")
cat("x * y = ", x * y, "
")
cat("x / y = ", x / y, "
")
  脚本以下面的形式调用:
$ Rscript arith.R 2 3.1415
  产生如下结果:
x = 2
y = 3.1415
x + y = 5.1415
x - y = -1.1415
x * y = 6.283
x / y = 0.6366385
  在Linux或UNIX系统中,你可以在脚本的开头添加#!后跟随Rscript程序的路径,这样脚本就是完全自我包含的了(即代码变得完全独立于外部)。假定Rscript程序安装在/usr/bin/Rscript目录中,你可以在arith.R脚本文件中添加下面一行,使其成为自我包含代码:
#!/usr/bin/Rscript --slave
argv <- commandArgs(TRUE)
x <- as.numeric(argv[1])
.
. (etc.)
.
  在提示符处,我们把脚本文件标记为可执行文件:
$ chmod +x arith.R
  此时我们可以不用Rscript前缀而直接调用脚本代码:
$ arith.R 2 3.1415

  参考图书: R语言经典实例

免责声明:文章转载自《R语言-自动批处理》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇windows下安装SonarWPF使用Webbrowser操作网页的主要代码下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux 视频设备驱动V4L2最常用的控制命令使用说明

Linux视频设备驱动常用控制命令使用说明设置视频设备属性通过ioctl来进行设置,ioctl有三个参数,分别是fd, cmd,和parameter,表示设备描述符,控制命令和控制命令参数。1. 控制命令VIDIOC_QUERYCAP功能: 查询设备驱动的功能 ;参数说明:参数类型为V4L2的能力描述类型struct v4l2_capability;str...

批处理bat脚本自动配置java的jdk环境变量

前言 每当更换电脑或者是重装系统之后,都需要重新配置java系统路径。但是又不想每次都去查配置方法,所以写了个脚本自动配置。 脚本内容 @echo off @echo 第一步 输入要设置的JAVA_HOME路径:(As example: D:\Program Files\Java\jdk1.8.0_181) set /p input="请输入JAVA_H...

【转】dbx用法讲解

http://blog.chinaunix.net/uid-25544300-id-328735.html dbx 命令 用途 提供了一个调试和运行程序的环境。 语法 dbx [ -a ProcessID ] [ -c CommandFile ] [ -d NestingDepth ] [ -I Directory ] [ -E DebugEnvironm...

几种常用库在CentOS下的编译

1操作环境 通过命令查看操作系统版本信息: [root@localhost ~]# cat /proc/version Linux version 3.10.0-327.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (G...

批处理 —— 每天生成一个以日期命名的文件(Win XP)

想达到这样一个效果:每天在某个目录下生成一个以日期命名的文件(如,0705.txt)。 第一步,新建一个批处理文件 新建一个文件,比如【create_day_file.bat】。编辑,输入以下内容: c:>C:"Documents and Settings"Administrator桌面问题处理\%date:~5,2%%date:~8,2%.txt...

#!/usr/bin/env 脚本解释程序的作用

the Zimbu programming language http://www.zimbu.org/getting-started ------------------------------------------------------------------------------ #!/usr/bin/env在linux的一些bash的脚本,需...