【发布时间】:2017-01-11 08:12:05
【问题描述】:
如果我这样做:
dplyr::mutate(MeanValue = mean(RSSI), ReadCount = n())
一切正常。 但是当我尝试限定函数时:
dplyr::mutate(MeanValue = mean(RSSI), ReadCount = dplyr::n())
我得到了标题中提到的错误。
所以,我真的没有问题,我可以避免这样做,但我很好奇它为什么会发生。我已经看过另一个问题(dplyr: "Error in n(): function should not be called directly"),但据我所知,dplyr 是我使用的唯一库。无论如何,我尝试按照答案的建议做,但是
detach(package:plyr)
结果
分离错误(包:plyr):无效的“名称”参数 和
conflicts()
没有提到n():
[1]“过滤器”“滞后”“主体 , 大部分是 dplyr 造成的。
我想我不是唯一一个对此感到困惑的人吗?
【问题讨论】:
-
在新会话中,
?n中的示例对我有用。 -
nin dplyr 似乎是 mapped 到一个内部函数,而dplyr::n不能被平等对待,只是调用 -error give- R 函数。 -
是的,最好不要将
n视为一个 R 函数,而是将其作为summarize、mutate等的参数传递给知道如何处理的 C 函数解释它。 -
你加载了 plyr 我猜