如何在一个函数中使用dplyr使用::

问题描述:

我在使用dplyr的许多函数中使用了很多函数,我将它们放在一个包中。 我不应该使用library(dplyr)有史以来,所以我试图加倍冒号的一切。然而,我似乎无法得到正确的dplyr版本。当我这样做,例如:如何在一个函数中使用dplyr使用::

SurveillanceLastToNow <- function(x, A_thing, Date) { 
    x %>% dplyr::arrange_(A_thing, Date) %>% 
    dplyr::group_by_(A_thing) %>% dplyr::mutate(diffDate = difftime(Sys.Date(), 
     last(Date), units = "days")) 
} 

我得到的错误:

could not find function "%>%" 

所以我的问题是

  1. 我需要magrittr::%>%一路过关斩将....?当然不是
  2. 鉴于我使用了多少dplyr,包括其大部分功能,我如何在安装软件包时加载整个事情而不是::到处

基本上我正在寻找使用所有的dplyr功能在我的包最懒的方式

+0

您可以将函数('dplyr :: mutate','magrittr ::%>%'等)导入到您的包中,然后在代码中通常不使用'package ::'来使用它们。 –

您可以简单地把dplyr进入“取决于”你的包描述文件的字段,或者如果您不想将包附加到搜索路径中,您可以将其放入描述的“输入”中,但在名称空间文件中添加一行import(dplyr)

+0

也许我很笨,但是当我运行文档(“MyPackage”)时,导入从NAMESPACE中消失。它何去何从,我每次重新运行文档功能时都必须重新添加? –

+1

所以如果你使用的是roxygen,那么你需要在你的一个R文件中添加一行'#'@import dplyr' – platypus