热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

R:使用管道%>%和pkg::fo会导致错误“。::base中的错误:未使用的参数”

如何解决《R:使用管道%>%和pkg::fo会导致错误“。::base中的错误:未使用的参数”》经验,为你挑选了1个好方法。



1> MrFlick..:

发生的事情是magrittr对要插入先前值的确切函数感到困惑。当你刚做

c(1,2) %>%
  mean

magrittr可以很容易地看到这mean是一个指向均值函数的符号。但是当您这样做时base::mean,事情会变得有些棘手,因为::它也是R中的一个函数。让我们比较一下R base::meanbase::mean()R 之间的区别,即它们如何转换为函数调用。

as.list(quote(base::mean))
# [[1]]
# `::`    
# [[2]]
# base    
# [[3]]
# mean

as.list(quote(base::mean()))
#  [[1]]
# base::mean

您可以看到这些解析不同。当您仅键入base::meanR时,将::首先看到该函数,并尝试在其中传递数字。基本上是要打电话

`::`(., base, mean)

这没什么意义,这可以为您提供特定的错误消息

但是,如果您显式添加(),R可以看到您正在尝试调用从返回的函数,base::mean因此它将参数添加到正确的位置。所以你可以做

c(1,2) %>%
  base::mean()

要么

c(1,2) %>%
    (base::mean)


推荐阅读
author-avatar
广告公司英子
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有