1 Why

  • 随着对于R的使用增多,自己编写的一些好用的函数也就逐渐堆积起来了,可以通过写自己的简单R包来进行整理,以便复用

  • 基础的R包开发学习,技多不压身嘛

2 How

2.1 前期准备

  • 需要安装Rtools

  • 安装对应的R包

install.packages('devtools')
install.packages('knitr')

devtools::has_devel(debug = TRUE) # 检查是否有R包开发环境
pkgbuild::check_build_tools(debug = TRUE) # 检查底层构建工具是否可用 

看见如下图所示的提示即可!

2.2 R包制作步骤

2.2.1 创建包:

File - new project - new directory - R package - 指定保存路径即可

2.2.2 函数保存:

新建的函数直接保存在 /R 目录下

2.2.3 写注释

例如我写一个字符搜索的函数如下

has_word <- function(text, pattern) {
  stringr::str_detect(text, pattern)
}

注意:函数中使用了其他包的函数时需要 包名::函数 这样的方式指定,并且需要额外在Console窗口运行形如: usethis::use_package(“stringr”) 指定使用的包

光标放在 参数的括号里面 选择code - insert Roxygen Skeleton 即可插入函数的参数注释 。形如下图:

2.2.4 封装

build - document 写好后的函数说明可见于man文件夹,每次修改函数及其注释 然后再document就行了;然后点击build中的install 即可

install 后可以新开rstudio,然后 library(‘你的包名’) 进行测试

3 What

  • Install 仅用于你自己电脑上的开发自测,将包安装到本地 R 环境中,不生成对外分发的文件。 Build Source Package 生成通用的 .tar.gz 源码包,适合开源或跨平台分享,但要求用户电脑具备编译环境(Rtools)。

  • Build Binary Package 生成特定平台(如 Windows)的 .zip 预编译包,用户无需任何配置即可直接安装使用)**

编译好的R包就是一个压缩文件可以使用分享给其他人用以下代码安装

library(devtools) 

devtools::install_local("压缩包的路径")

4 Finally

如果对你有帮助欢迎关注本Up Bilibili LogitLegendary