我是 R 的新手,并试图将序数变量重新编码为数值。我有一个名为“Founders_previous_company_employee_count”的变量,它有 3 个不同的条目作为输入(“小”、“中”、“大”),我将其分别记录为 1、2、3 个值。
我尝试使用以下代码使用 plyr 包中的重估函数

startupfull$employee_count_code<-as.numeric(revalue(startupfull$Founders_previous_company_employee_count,c("Small"=1, "Medium"=2, "Large"=3)))

这工作正常。
但是,我尝试在 dplyr 包中使用重新编码功能,但收到错误消息。

代码:
startupfull$prevcomp_empcount_code <-  as.numeric(recode(startupfull$Founders_previous_company_employee_count,c("Small"=1, "Medium"=2, "Large"=3)))



我在这里做错了什么?

最佳答案

这将更适合作为对上述 Aramis7d 答案的评论,但我没有足够的声誉来发表评论。

如果有人在阅读这些答案后仍然感到困惑(就像我一样),忽略以下事实,即按照 joel.wilson 的建议,最好使用 as.numeric() 和 factor() 来完成重新编码为数字的事实,通用解决方案也将如果重新编码为非数字值是为了 ,那么在使用 dplyr 的 recode() 时,只需避免将一组重新编码对包装在 c() 中即可。

也就是说,而不是这样:

    startupfull$prevcomp_empcount_code <-
    as.numeric(recode(startupfull$Founders_previous_company_employee_count,
                    c("Small"=1, "Medium"=2, "Large"=3)))

只需这样做:
    startupfull$prevcomp_empcount_code <-
    as.numeric(recode(startupfull$Founders_previous_company_employee_count,
                      "Small"=1, "Medium"=2, "Large"=3))

关于R: dplyr- 使用重新编码功能时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40584939/

10-12 17:09