首页 > 解决方案 > 如何知道 R 中哪个包保存当前函数?

问题描述

当我?filter,Rstudio 让我选择:

Help on topic 'filter' was found in the following packages:

Linear Filtering on a Time Series
(in package stats in library C:/Program Files/R/R-3.5.3/library)
Return rows with matching conditions
(in package dplyr in library C:/Users/me/Documents/.checkpoint/2019-12-11/lib/x86_64-w64-mingw32/3.5.3)

当我filter()在我的脚本中使用时,如何知道是它stats::filter()还是dplyr::filter()

标签: r

解决方案


您可以执行以下操作来查找当前加载函数的包名称

environmentName(environment(filter))

至于处理它,我会坚持使用,stats::filter()或者dplyr::filter()如果它只是少数用途,或者将其声明为一个新功能

filter_stats <- stats::filter
filter_stats()

该库conflicted对于冲突也很有用,尤其是与conflict_scout()conflict_prefer()。例如,您可以这样做conflict_prefer("filter", "stats")来覆盖优先考虑最新包的默认行为。 冲突库自述文件中还提到了其他一些替代方法。

还有碱基调用conflicts()conflicts(detail = TRUE)


推荐阅读