You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将R包DESCRIPTION文件的Authors@R字段读取为向量

R语言将DESCRIPTION中Authors@R字符串转为可用向量的方法

首先明确:packageDescription()返回的Authors@R字段本身就是符合R语法的可执行代码字符串,只需对其做解析执行即可得到标准的作者向量对象。

方法1:仅用基础包实现(无额外依赖)

直接通过parse()解析字符串、eval()执行解析后的表达式即可:

# 读取dplyr包的Authors@R字段
authors_raw <- packageDescription("dplyr")$`Authors@R`
# 解析并执行得到person类向量
authors_vector <- eval(parse(text = authors_raw))

得到的authors_vector是标准的person类型向量,可直接做各类提取操作:

# 打印所有作者信息
print(authors_vector)
# 提取所有作者的完整姓名
sapply(authors_vector, function(p) paste(p$given, collapse = " ", p$family))
# 筛选出当前包的维护者(role为cre的作者)
maintainer <- authors_vector[sapply(authors_vector$role, function(r) "cre" %in% r)]
# 提取所有作者的ORCID编号
sapply(authors_vector, function(p) p$comment[["ORCID"]])

方法2:使用desc包(更简便,无需手动处理解析逻辑)

如果允许安装第三方工具包,desc包已经封装了DESCRIPTION文件的全量操作,直接调用封装好的方法即可:

# 首次使用先安装包
# install.packages("desc")
library(desc)

# 直接读取包描述文件并返回格式化的作者向量
pkg <- desc(package = "dplyr")
authors_vector <- pkg$get_authors()

内容的提问来源于stack exchange,提问作者Taz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 07:45:02