我使用 mutate 和 recode 函数的语法有什么问题?

问题描述

我正在尝试在我的数据帧 na.df 中重新编码变量 FamilyStatus。字符(“ledig”、“verheiratet”和“sonstiges”)应该用数字重新编码。 我知道,已经有很多类似的问题和答案,但没有解决我的问题,所以我在这里问。相同的代码结构适用于我的其他数据帧。但这里有什么问题?

这是我的示例数据:


head(na.df)
# A tibble: 6 x 5
  StudyID   Age FamilyStatus EducationalLevel         CycleLength
    <dbl> <dbl> <chr>        <chr>                          <dbl>
1    1016    23 ledig        Gymnasium                         28
2    1007    28 ledig        Gymnasium                         30
3    1014    23 ledig        Gymnasium                         28
4    1006    21 ledig        Gymnasium                         28
5    1050    41 ledig        Universität / Hochschule          27
6    1001    26 ledig        Gymnasium                          4


na.df.1 <- mutate(na.df,FamilyStatus = recode(FamilyStatus,"ledig"= '1',"verheiratet" = '2',"sonstiges" = '3'),EducationalLevel = recode(EducationalLevel,"Sekundar- / Realschule"= '1',"Gymnasium" = '2',"Universität / Hochschule" = '3'))


Fehler: Problem with `mutate()` input `FamilyStatus`.
x unbenutzte Argumente (ledig = "1",verheiratet = "2",sonstiges = "3")
ℹ Input `FamilyStatus` is `recode(FamilyStatus,ledig = "1",sonstiges = "3")`.
Run `rlang::last_error()` to see where the error occurred.

感谢您的帮助!

解决方法

这是否仍然为“...input FamilyStatus”提供相同的错误消息?

na.df1 <- na.df %>% 
  mutate(FamilyStatus = recode(FamilyStatus,"ledig" = 1,"verheiratet" = 2,"sonstiges" = 3
                               ))
,
dplyr::recode(na.df$FamilyStatus,ledig= "1",verheiratet="2",sonstiges="3")

这奏效了!!

编辑

这似乎是名称间距问题。