极简R packages编译

背景

最近在整理代码,如果将代码模块化,能够显著增加代码的重用性,于是开始做R-package,将做的过程记录下来。以下是简单的制作过程。

准备阶段

  1. 安装好 R。

  2. 安装RStudio。

  3. 安装 Rtools程序:

    Windows 操作平台,请安装 rtools,去官网下载 exe 安装(https://cran.r-project.org/bin/windows/Rtools/);
    Linux 操作平台,请安装对应的 R 开发包,Debian/Ubuntu 下就是运行命令 sudo apt-get install r-base-dev;
    OS X 操作系统,要装好 command-line-tools,如果你没有装过的话,Terminal 运行 git 或者 xcode-select 应该会弹出安装提示,按提示安装即可。

  4. 安装 devtools 安装包:打开 R 环境,运行

install.packages('devtools',dependencies=T)
  1. 准备R函数:有一个编辑代码的程序,比如说 Sublime Text,notepad++,请不要用记事本编辑代码!

另外要记得把文件保存成 UTF-8 (without BOM) 编码

基于RStudio制作R包

1. 创建工程

首先,在本地创建一个工作目录,用于构建并存储R程序;然后,在RStudio菜单栏中,点击 Newproject→New directory→R package→填写R包名字及创建路径→确定创建。

可以根据需求,是否勾选 “Create a git repository”,此时在工作目录中将会生生一个".gitignore"文件,其在提交github时必须需要的文件。

我这里创建的包的名字是APT。
通过使用dir()查看一下新建文件夹下的文件,以检验是否创建成功。
如果成功,将可以看到如下文件。

> dir()
[1] "APT.Rproj"   "DESCRIPTION" "man"         "NAMESPACE"   "R"

2. 加载辅助程序包

> library(devtools)
载入需要的程辑包:usethis
> library(roxygen2)

3. 编写DESCRIPTION文件

  • 重要且容易出错,请认真填写
  • 注意必填项和可选项

可通过file.edit("DESCRIPTION")

Package: MMCBtools
Type: Package
Title: What the Package Does (Title Case)  #必填项
Version: 0.1.0
Author: Who wrote it #必填项
Maintainer: The package maintainer <yourself@somewhere.net> #必填项,邮箱必须用<>括起来,不然会报错!!!
Description: More about what it does (maybe more than one line)  #必填项
    Use four spaces when indenting paragraphs within the Description.
License: What license is it under? #必填项
Encoding: UTF-8
LazyData: true
#其它可选项
Depends:ggplot2,stringr #包之间使用逗号隔开
Suggests:ggplot2,stringr#同上
Imports:ggplot2,stringr #同上 

4. 主体函数

可以将已经编写好的R程序拷贝至工作目录 R文件夹下,或者直接在R文件夹下创建并编写R程序,并保存即可。

5. 检查是否出现错误

执行check()函数,检查package是否通过。

-- Building ------------------------------------------------------------------------------------------------------ APT --
Setting env vars:
* CFLAGS    : -Wall -pedantic
* CXXFLAGS  : -Wall -pedantic
* CXX11FLAGS: -Wall -pedantic
-------------------------------------------------------------------------------------------------------------------------
√  checking for file 'D:\worktask\20210303001-RPackages\APT/DESCRIPTION' (534ms)
-  preparing 'APT':
√  checking DESCRIPTION meta-information ...
-  checking for LF line-endings in source and make files and shell scripts
-  checking for empty or unneeded directories
-  building 'APT_0.1.0.tar.gz'
   
-- Checking ------------------------------------------------------------------------------------------------------ APT --
Setting env vars:
------
.....
-- R CMD check results ----------------------------------------------------------------------------------- APT 0.1.0 ----
Duration: 16.3s

> checking DESCRIPTION meta-information ... WARNING
  Non-standard license specification:
    What license is it under?
  Standardizable: FALSE

0 errors √ | 1 warning x | 0 notes √

6. 编译压缩发布R-Packages

在RStudio中,产生源代码压缩包,之后再手动安装。

Build → More → Build source package

随后,可在工作目录下看到一个tar.gz的压缩包。

猜你喜欢

转载自blog.csdn.net/nixiang_888/article/details/114299150