热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

dplyr::recode为什么管道会产生错误?

如何解决《dplyr::recode为什么管道会产生错误?》经验,为你挑选了1个好方法。

如果我在管道中使用重新编码,我收到一个错误:

df <-  df %>%
  recode(unit, .missing="g")

UseMethod("recode")中的错误:没有适用于"recode"的方法应用于类"c('tbl_df','tbl','data.frame')的对象"

如果我将它拉出管道,它可以正常工作:

df$unit <- recode(df$unit, .missing="g")

有什么想法吗?如果可能的话,我想留在管道里.



1> Psidom..:

相当于baseR解决方案dplyr是在里面使用它mutate:

df %>%
    mutate(unit = recode(unit, .missing="g"))

直接链接recode之后%>%将所述数据帧传递到recode作为第一个参数,它不同意recode的参数.第一个参数.x需要是一个向量; 与其他一些dplyr函数不同,recode它不会使用某些非标准的评估魔法来解释unit为具有该名称的列df.设计用于直接与管道一起使用的大多数功能都有一个数据框作为其第一个参数及其输出.您可以在此处详细了解magrittr管道的工作原理.


推荐阅读
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社区 版权所有