首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dplyr::recode为什么管道产生错误?

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

Stack Overflow用户
提问于 2018-03-16 19:40:38
回答 1查看 5.4K关注 0票数 15

如果在管道中使用recode,则会得到一个错误:

代码语言:javascript
复制
df <-  df %>%
  recode(unit, .missing="g")

UseMethod中的错误(“recode”):对类c(‘tbl_df’、'tbl‘、’data.frame‘)的对象没有适用的'recode’方法

如果我把它从管子里拔出来,它就能工作得很好:

代码语言:javascript
复制
df$unit <- recode(df$unit, .missing="g")

知道为什么吗?如果可能的话,我想呆在管道里。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-16 19:44:07

dplyr中的dplyr解决方案等价的是在mutate中使用它。

代码语言:javascript
复制
df %>%
    mutate(unit = recode(unit, .missing="g"))

直接链接recode后的%>%将数据帧作为第一个参数传递给recode,这与recode的参数不一致。第一个参数.x需要是一个向量;与其他一些dplyr函数不同,recode不使用某种非标准的计算魔术将unit解释为df中的列。大多数为直接使用管道而设计的函数都有一个数据框架作为它们的第一个参数和它们的输出。您可以阅读更多关于magrittr以及管道如何工作的这里

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49328370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档