r - 我正在尝试使用 dplyr 重命名 R 中的因子,但我得到:错误:“cbc$Gender <- recode_factor(cbc$Gender, c(0,1) =”中的意外'='
问题描述
cbc$Gender <- recode_factor(cbc$Gender, c(0,1) = c("Female", "Male"))
cbc$Florence <- recode_factor(cbc$Florence, c(0,1) = c("No", "Yes"))
解决方案
它不适用于 of 上的多个lhs
元素=
。采用
recode_factor(cbc$Gender, `0`= "Female", `1` = "Male")
[1] Female Male Female
Levels: Female Male
或者使用命名向量的拼接方法
recode_factor(cbc$Gender, !!! setNames(c("Female", "Male"), c(0, 1)))
[1] Female Male Female
Levels: Female Male
类似地,相同的选项可以在另一列中使用
但是,这甚至不需要任何recode
,因为0
,1
可以转换为索引(R
索引从 1 开始)
c("Female", "Male")[1 + cbc$Gender]
[1] "Female" "Male" "Female"
或者可以使用base R
factor
withlevels
和labels
指定
factor(cbc$Gender, levels = c(0, 1), labels = c("Female", "Male"))
数据
cbc <- data.frame(Gender = c(0, 1, 0))
推荐阅读
- php - 从 bitbucket 历史记录中删除文件夹
- c# - SQL Server UDT 和存储过程从 .Net 代码中修剪十进制数字值
- docker - Docker ps 显示我无法停止或杀死的正在运行的容器。如何停止/杀死该容器?
- javascript - 后端(java)和前端(jsp / js)之间的集成
- c# - 从应用程序洞察(Azure 门户)获取数据以将其显示在 asp.net Web 应用程序的网页上
- konvajs - Konvajs:如果它等于 fontSize,则文本高度不会出现在 stage.toJSON() 中
- web - 如何回答这个关于软件工程师的面试问题
- c# - 为什么用数字设置为 Int32 初始化 var
- android - 服务器错误响应上的 RxJava+Retrofit+Gson JsonSyntaxException
- reactjs - 如何在本机反应中通过id显示来自api的数据