j2ee大作业代码包_制作R包指南

22d3f3c9d7423ff31d508cbc012cb7be.png

最近在写毕业论文,我想把自己的R代码整理一下然后上传,用来“假装”自己确实做了一些东西,因此将R包的制作过程记录一下,分享给大家~也为自己以后参考留下一些资料~

之前在黄志洪老师的课上他曾布置过R包的额外作业,当时我和另外两个同学一起做了一个比较简单的贪吃蛇游戏R包,叫做Sokoban。但是当时R包打包工作时另一个同学工作的,因此这也是我第一次尝试打包工作!

注意一下我是在Windows下进行操作的,不同的平台可能会有不同。废话不多说,现在开始!


前期准备:

  • 预备打入包中的函数;
  • 版本为2.14.0以上的R;
  • 合适版本的工具软件Rtools,下载链接,根据提示选择版本就可以;
  • Latex编辑工具,在Rtools的下载页面中有Mitex的下载页面,我因为之前已经装了就跳过这一步;
  • 设置环境变量
E:aaastudylatexmiktexmimiktexbinx64;E:aaastudyRRtoolsbin;E:aaastudyRR-3.5.0binx64

打包R包:

  • 清空内存中所有对象,创建Rpackage文件夹,将Rscript放到文件夹下,并设置对应的工作目录,并读入需要打包的所有函数:
rm(list=ls())
setwd("E:/aaastudy/Rpackage")
source("****.R")
  • 生成R程序包的框架,***为包名,将现在内存中的所有函数进行打包,创建出一个R包的框架:
package.skeleton(name="***",list = ls())
  • 上述文件夹包含DESCRIPTION, NAMESPACE, Read-and-delete-me(需要删除)三个文件及man文件夹,需要编辑的有DESCRIPTION文档和man中MyFunction.rd(自己创建的函数)说明文档以及***.Rd(R包)说明文档。
  • 描述全都改完后,将cmd切换到编写R包的目录并进行打包并进行检查,***_1.0.tar.gz是打包后得到的压缩包,也就是最后要向R Cran提交的文件。
rcmd build ***
rcmd check ***._1.0.tar.gz --as-cran
  • 在检查的过程中可能会遇见一些报错,我把我遇到的情况记录如下:
    • *Font ts1-zi4r at 540 not found Font ts1-zi4r at 540 not found
    • *checking should be performed on sources prepared by 'R CMD build':rcmd后的对象应该是生成的压缩包
    • * checking for unstated dependencies in examples ... NOTE
      >> Warning: parse error in file ‘***-Ex.R’:这种时候一般是有字符或者代码的错误,你找到Rcheck文件夹里面的***-Ex.R文件,找到对应的行就可以查错了。
    • R包的Title格式会有要求,check的时候按照要求改就好啦。

上传R包

  • 首先在检查的过程中不能有任何ERROR!NOTE和WRANING要尽可能少。
  • 最好将包现在本地进行测试。
rcmd INSTALL ***._1.0.tar.gz
  • 将没有任何错误的包***.tar.gz上传到 The Comprehensive R Archive Network 根据提示填写信息即可,之后会自动发送一封确认邮件,确认就好了。
  • 然后就是等啦,可以在R project中进行查看。

结语:

我编写的这个包并没有其他代码,如果用到了其它代码,可以参考在CRAN上发布自己的R包,另外,这种方法构建的R包是不能含中文字符的,但我在看官方的书Writing R Extensions 的时候看到了非英文字符的包的创建,有兴趣的可以自己看看。

参考文章:

炼数成金:如何制作自己的R包?

在CRAN上发布自己的R包

AI 技术讲座精选:如何创建 R 包并将其发布在 CRAN / GitHub 上?

Writing R Extensions

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值