数据价值-DataValues

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 506|回复: 0

[R语言] R语言-自动批处理文件_自动批处理文件

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
39797
发表于 2017-3-3 13:22:54 | 显示全部楼层 |阅读模式
R语言–自动批处理文件,
  在处理数据的过程中,可以制作一个自动批处理文件,让它具有智能的效果,自动化完成复杂的数据处理过程,提高工作效率,解放生产力,从而可以投入更多的精力到数据分析和数据挖掘中,发现数据中的”金子”,体现数据的真正价值!!!
,,方法1:,  R语言中 C:\Program Files\R\R-3.2.0\bin\x64 中有个 Rscript.exe,这是脚本运行的程序。,
  • (1)将你的R语言程序写入一个叫mywork.r的文件中,文件名字自己随便起就行。
  • (2)建立个Rcmd.txt文件,里面写入代码 :
    cd C:\Program Files\R\R-3.2.0\bin
    Rscript F:\cs\windowsCode.R
      然后,将Rcmd.txt修改扩展名为Rcmd.bat然后双击就ok了,自动运行。
    ,方法2:,  在 windows 命令行中敲入”调用命令”:,
  • 调用命令:
    r CMD BATCH F:\cs\windowsCode.R

    r CMD BATCH --quiet --slave --no-restore --no-save --no-init-file F:\dataHQ\weather_data\windowsCode.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 TRUE),  Rscript程序和CMD BATCH命令使用上面所提到的相同的命令行选项。,  将输出结果输出到标准输出设备中,该设备是R从调用它的shell脚本中继承来的。当然,可以通过一般的重定向方法将输出重定向到一个文件中:,$ Rscript --slave myScript.R arg1 arg2 arg3 >results.out,  下面是一个名为arith.R的简易R脚本文件,它对两个命令行参数进行四个算术运算:,argv 1])
    y 2])
    cat("x =", x, "\n")
    cat("y =", y, "\n")
    cat("x + y = ", x + y, "\n")
    cat("x - y = ", x - y, "\n")
    cat("x * y = ", x * y, "\n")
    cat("x / y = ", x / y, "\n"),  脚本以下面的形式调用:,$ 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 TRUE)
    x as.numeric(argv[1])
    .
    . (etc.)
    .,  在提示符处,我们把脚本文件标记为可执行文件:,$ chmod +x arith.R,  此时我们可以不用Rscript前缀而直接调用脚本代码:,$ arith.R 2 3.1415,  参考图书: R语言经典实例,
    转载请注明:数据分析 » R语言-自动批处理文件_自动批处理文件
  • 回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|Archiver|手机版|DataValues ( 赣ICP备16006919号-3 点击这里给我发消息 DataValues

    GMT+8, 2019-2-17 14:34 , Processed in 0.100812 second(s), 32 queries .

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表