【发布时间】:2020-01-21 09:50:57
【问题描述】:
我正在编写一个使用 tidyeval 的包。因为我使用 tidyeval,所以我在描述文件的导入下列出了 rlang。
其中一个函数包含几行使用:=
像这样:
data %>%
dplyr::mutate(
!!New_R := AP_R_X*!!X + AP_R_Y*!!Y + AP_R_Z*!!Z,
!!New_U := AP_U_X*!!X + AP_U_Y*!!Y + AP_U_Z*!!Z,
!!New_F := AP_F_X*!!X + AP_F_Y*!!Y + AP_F_Z*!!Z)
代码按预期工作,但在运行 devtools::check() 时我收到以下注释
no visible global function definition for ':='
我怎样才能摆脱这个笔记?这不是 rlang 评估的一部分吗?
编辑:
我已经阅读了问题“no visible global function definition for ‘median’,尽管那里的答案解释了为什么会出现这样的问题。它没有解释为什么在我导入rlang 时没有定义:=。我已经编辑了这个问题以使其更多清除。
【问题讨论】:
-
如果您使用
roxygen2,请添加 importFrom 语句。不确定这是来自data.table或rlang还是 dplyr 的data.table后端。 -
不确定这个答案是否有帮助? stackoverflow.com/a/31132798/8506921
-
我已加入 @NelsonGon 的投票以作为副本关闭。为了完全具体说明您的上下文,它来自
rlang -
您的更新为我澄清了问题。您的问题是您在
DESCRIPTION文件中Importrlang,但您仍然需要NAMESPACE指令