【发布时间】:2016-10-06 17:13:12
【问题描述】:
我的工作流程有问题,因为我在 rmarkdown 中采购了多个脚本,其中一些需要 dplyr 包,其中一些使用 plyr。
问题是rename 函数存在于两个包中,如果当前附加了dplyr,plyr 中的rename 函数将不起作用。
如何在我的脚本中包含一个函数来检查dplyr 是否已附加,如果是,则将其分离?
我知道如何通过detach("package:dplyr", unload = TRUE) 分离包。我不知道如何检查包裹是否已附加。
【问题讨论】:
-
在函数调用中可能更容易明确...
plyr::rename -
而不是修改附加的包(这可能不是用户想要的!)你应该具体并使用
dplyr::rename或plyr::rename。 -
或者更好的是,重构您的代码以始终使用一个版本的重命名。
-
谢谢@user20650 @Gregor 和@Hong Ooi。好建议。这是否意味着每个函数调用都应该在函数之前指定包,或者你只是意味着只为你提前知道不能很好地协同工作的包做它?将来我将使用
data.table::setnames来重命名特定的列 -
@Hong Ooi 我不明白你说的“重构代码以一致地使用一个版本的重命名”是什么意思?