【发布时间】:2026-01-12 09:55:02
【问题描述】:
从 CRAN 加载 RTextTools 包时,我收到以下警告:
警告信息:
1:加载“utils”时替换之前的导入“head”
2:加载‘utils’时替换之前的导入‘tail’
如何消除这些警告?我是包的作者,所以我可以操作源代码;我正在寻找一种摆脱警告而不是抑制警告的解决方案。当我升级到 R 2.14 时,它们似乎已经出现。提前谢谢!
【问题讨论】:
从 CRAN 加载 RTextTools 包时,我收到以下警告:
警告信息:
1:加载“utils”时替换之前的导入“head”
2:加载‘utils’时替换之前的导入‘tail’
如何消除这些警告?我是包的作者,所以我可以操作源代码;我正在寻找一种摆脱警告而不是抑制警告的解决方案。当我升级到 R 2.14 时,它们似乎已经出现。提前谢谢!
【问题讨论】:
一般来说,这个问题通常是由命名空间中的import(somepackage) 以及importFrom(somepackage, somefunction) 引起的。
等效地,使用roxgyen2,同时具有#' @import somepackage 和#' @importFrom somepackage somefunction。
最佳实践解决方案是删除import 语句并仅保留importFrom。
【讨论】:
这不是你的问题 - 这是你所依赖的 glmnet 包中的问题:它显式地从 Matrix 和 utils 导入所有函数,但顺序错误导致冲突,因为它们都定义了head 和 tail(矩阵取决于 utils,因此 utils 必须是第一个)。这很容易修复 - 在 glmnet/NAMESPACE 中必须颠倒导入顺序,但只有 glmnet 的维护者可以这样做。
PS:最好在 R-devel 上问这个问题
【讨论】: