作者:广告公司英子 | 来源:互联网 | 2022-11-10 16:32
1> MrFlick..:
发生的事情是magrittr对要插入先前值的确切函数感到困惑。当你刚做
c(1,2) %>%
mean
magrittr
可以很容易地看到这mean
是一个指向均值函数的符号。但是当您这样做时base::mean
,事情会变得有些棘手,因为::
它也是R中的一个函数。让我们比较一下R base::mean
和base::mean()
R 之间的区别,即它们如何转换为函数调用。
as.list(quote(base::mean))
# [[1]]
# `::`
# [[2]]
# base
# [[3]]
# mean
as.list(quote(base::mean()))
# [[1]]
# base::mean
您可以看到这些解析不同。当您仅键入base::mean
R时,将::
首先看到该函数,并尝试在其中传递数字。基本上是要打电话
`::`(., base, mean)
这没什么意义,这可以为您提供特定的错误消息
但是,如果您显式添加()
,R可以看到您正在尝试调用从返回的函数,base::mean
因此它将参数添加到正确的位置。所以你可以做
c(1,2) %>%
base::mean()
要么
c(1,2) %>%
(base::mean)