作者:谢丹逝梦 | 来源:互联网 | 2022-12-24 10:05
如果我在管道中使用重新编码,我收到一个错误:
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
管道的工作原理.