R语言开发记录,二(创建R包)

1.如何创建R包

library(devtools)

library(roxygen2)

pkg_file <- build("D:/charls") # 打包为 .tar.gz

message("包已生成于:", pkg_file)

1.1首先安装:

复制代码
install.packages(c("devtools", "roxygen2"))

1.2 R包的文件结构

复制代码
myPackage/
├── DESCRIPTION         # 包的元信息(必须)
├── NAMESPACE           # 导出函数定义(必须)
├── R/                  # 存放 R 脚本文件(必须)
│   └── myfunctions.R
├── data/               # 可选:存放 .rda 数据文件
├── man/                # 可选:帮助文档(由 roxygen2 自动生成)
├── inst/               # 可选:额外资源文件(如 config、doc 等)
└── README.md           # 可选:说明文档

1.3 创建 R 包并打包

步骤 1:创建基础结构(可选)

如果你还没有完整结构,可以用 devtools 快速生成:

复制代码
library(devtools)
create_package("path/to/myPackage")

步骤 2:编写 DESCRIPTION 文件(必须)

打开 DESCRIPTION 文件,填写基本元信息,例如:

复制代码
Package: myPackage
Title: My First R Package
Version: 0.1.0
Author: Your Name <your.email@example.com>
Maintainer: Your Name <your.email@example.com>
Description: A short description of what the package does.
License: MIT
Depends:
    R (>= 3.5.0)
Imports:
    dplyr,
    ggplot2

步骤 3:生成 NAMESPACE 文件(必须)

你可以手动写,也可以用 roxygen2 自动生成:

方法 A:手动写(不推荐)

NAMESPACE 中写:

复制代码
exportPattern("^[^\\.]")  # 导出所有非以 . 开头的函数
方法 B:使用 roxygen2 自动生成(推荐)

在 R 函数中添加注释格式帮助文档:

复制代码
#' 计算两个数的和
#' @param a 第一个数
#' @param b 第二个数
#' @return 两数之和
add <- function(a, b) {
  a + b
}

然后运行:

复制代码
library(roxygen2)
roxygenise("path/to/myPackage")

这会自动生成 NAMESPACEman/ 帮助文档。

步骤 4:构建包(打包)

在 R 控制台中运行:

复制代码
# 构建 .tar.gz(适用于 Linux/macOS)
pkg_path <- devtools::build(path = "path/to/myPackage")
print(pkg_path)  # 输出包路径,比如:"/path/to/myPackage_0.1.0.tar.gz"

# 如果你想构建 Windows 二进制包(需要 Rtools)
devtools::build_win(path = "path/to/myPackage")

步骤 5:安装本地包

复制代码
install.packages("path/to/myPackage_0.1.0.tar.gz", repos = NULL, type = "source")

参数说明:

pkgs: 本地包文件的路径;

repos = NULL: 表示不从远程仓库安装;

type: 指定安装类型:

"source":适用于 Linux/macOS,安装源码包;

"win.binary":适用于 Windows 的 .zip 二进制包;

如果省略,R 会自动识别。

快速打包

复制代码
library(devtools)
library(roxygen2)

# 创建空包(如果还没结构)
create_package("myPackage")

# 添加函数、数据等后:
roxygenise("myPackage")       # 生成帮助文档和 NAMESPACE
pkg_file <- build("myPackage")  # 打包为 .tar.gz

message("包已生成于:", pkg_file)
相关推荐
qianmo20212 天前
gpt-4o+deepseek+R生成热力图表
java·数据库·r语言
陈天白2 天前
RNA-seq分析之最佳cutoff(TCGA版)
r语言·生物信息学·rna-seq
Biomamba生信基地3 天前
挑战用R语言硬干一百万单细胞数据分析
开发语言·数据分析·r语言·生信·医药
czhc114007566312 天前
LINUX913 shell:set ip [lindex $argv 0],\r,send_user,spawn ssh root@ip “cat “
tcp/ip·r语言·ssh
zhangfeng113312 天前
win7 R 4.4.0和RStudio1.25的版本兼容性以及系统区域设置有关 导致Plots绘图面板被禁用,但是单独页面显示
开发语言·人工智能·r语言·生物信息
zhangfeng113313 天前
在 R 语言里,`$` 只有一个作用 按名字提取“列表型”对象里的单个元素 对象 $ 名字
开发语言·windows·r语言
高-老师13 天前
R语言生物群落(生态)数据统计分析与绘图实践技术应用
开发语言·r语言·生物群落
WangYan202213 天前
R语言:数据读取与重构、试验设计(RCB/BIB/正交/析因)、ggplot2高级绘图与统计检验(t检验/方差分析/PCA/聚类)
r语言·ggplot2·dplyr
zhangfeng113314 天前
错误于make.names(vnames, unique = TRUE): invalid multibyte string 9 使用 R 语言进行数据处理时
开发语言·r语言·生物信息
zhangfeng113314 天前
R geo 然后读取数据的时候 make.names(vnames, unique = TRUE): invalid multibyte string 9
开发语言·chrome·r语言·生物信息