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

R包运行RCheck报错:info_data文档有usage但代码中不存在

R包数据文档报错排查方案

日志与报错的关联

你看到的Omitted 'LazyData' from DESCRIPTION日志和本次报错是直接因果关系。
R 3.6.0及之后版本已经将LazyData: TRUE设为R包默认配置,如果你在DESCRIPTION中手动写的LazyData字段存在格式问题——比如多余空格、大小写错误、放置位置不对,R检查流程会直接剔除该字段,导致包实际未按预期启用懒加载规则,连锁触发数据识别类报错。

报错排查方向(按优先级排序)

  • 确认数据文档存放位置正确:内置数据集的Roxygen文档必须存放在R/data.R文件中(文件名固定,不要随意修改为其他名称),不要把数据文档混写在普通业务函数的R脚本里,否则R检查扫描不到对应的数据声明就会触发该报错。
  • 删除Roxygen文档中手动添加的@usage data(info_data)字段:这是该报错最高频的触发原因。开启LazyData后,用户加载包即可直接调用info_data对象,不需要通过data()函数手动加载。手动写这个usage字段会让R检查误以为你要在包代码中导出名为info_data的函数/变量,扫描不到对应代码时就会报错。删掉该字段后重新运行roxygen2::roxygenise()生成文档即可,roxygen2会自动为数据集生成正确的usage说明。
  • 校验rda文件内部对象名:不要只核对文件名,运行load("data/info_data.rda")查看加载到环境中的对象名,确认其确实为info_data。高频错误是保存rda时内部对象名和文件名不一致,比如实际存的对象叫info_data_df,却命名为info_data.rda,文件名和内部对象名不匹配时R检查也会报该错误。
  • 校验DESCRIPTION字段格式:LazyData属于顶层配置字段,必须和Package、Version、License这类字段放在同一层级,不要把它写到Description长文本、Authors@R配置块这类非顶层位置。如果你使用的devtools版本高于2.4.0,直接删掉DESCRIPTION里手动写的LazyData: TRUE行即可,默认配置已经支持懒加载,手动添加反而容易因格式问题触发检查异常。
  • 清理旧的文档缓存:删掉man/目录下旧的info_data.Rd文件,重新运行文档生成命令后再跑R检查,避免旧版本的错误文档缓存导致检查误判。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 22:24:16