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

如何在R包函数文档示例中引用data目录下的模型与数据集

在R包函数文档示例中引用data目录对象的方法

先把.rds文件转为R包兼容的数据格式

R包的data目录默认识别.rda/.RData格式文件,所以需要先将你的.rds文件转换为标准格式:

  • 打开R,将工作目录切换到包项目根目录
  • 读取.rds文件:假设你的数据集是my_dataset.rds,模型对象是my_model.rds,执行以下代码:
    my_dataset <- readRDS("data/my_dataset.rds")
    my_model <- readRDS("data/my_model.rds")
    
  • 用devtools将对象保存为.rda格式:
    devtools::use_data(my_dataset, my_model, overwrite = TRUE)
    
    这一步会在data目录生成对应的.rda文件,包构建完成后,这些对象会自动注册为包的内置数据。

在函数文档示例中直接引用对象

不管是数据集还是模型对象,引用方式完全一致:

  • 编写函数的Roxygen文档时,示例部分直接使用对象名即可,无需额外加载操作(包的内置数据会在示例运行时自动加载)
  • 举个实际例子,假设你的函数是my_process_func(),文档可以这么写:
    #' @title 数据处理示例函数
    #' @description 基于内置数据集和模型的处理函数
    #' @param input_data 待处理的输入数据
    #' @return 处理后的结果
    #' @examples
    #' # 使用内置数据集调用函数
    #' result1 <- my_process_func(my_dataset)
    #' # 使用内置模型进行预测
    #' result2 <- predict(my_model, newdata = my_dataset)
    #' @export
    my_process_func <- function(input_data) {
      # 这里编写函数逻辑
      input_data
    }
    

注意事项

  • 检查DESCRIPTION文件中是否包含LazyData: true(用devtools创建的包默认已配置),开启该设置后数据会懒加载,用户无需手动调用data()函数加载
  • 若不想转换为.rda格式,也可以在示例中直接读取rds文件,但需要写全路径:readRDS(system.file("data", "my_dataset.rds", package = "你的包名")),不过这种方式不如内置数据便捷
  • 包开发完成后,执行devtools::check()检查示例是否能正常运行,避免路径或加载错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 07:55:18