r - 如何在 R 中一次重新编码具有相同映射的多个变量?
问题描述
我正在努力寻找一种更简洁的方法来一次以更精简的方式重新编码(数字到数字)多个变量。有没有比下面这段代码更简单的方法?
mhomes_min <- mhomes %>%
mutate(contrib_private_3rd_party = recode(contrib_private_3rd_party,
`1` = 1,
`2` = 49,
`3` = 100,
`4` = 200,
`5` = 500,
`6` = 1000,
`7` = 5000,
`8` = 10000,
`9` = 20000)) %>%
mutate(contrib_firm_3rd_party = recode(contrib_firm_3rd_party,
`1` = 1,
`2` = 49,
`3` = 100,
`4` = 200,
`5` = 500,
`6` = 1000,
`7` = 5000,
`8` = 10000,
`9` = 20000)) %>% ...
解决方案
我们可以使用mutate
with across
,指定要输入的列名来recode
修改across
这些列
mhomes <- mhomes %>%
mutate(across(c(contrib_private_3rd_party, contrib_firm_3rd_party),
~ recode(., `1` = 1,
`2` = 49,
`3` = 100,
`4` = 200,
`5` = 500,
`6` = 1000,
`7` = 5000,
`8` = 10000,
`9` = 20000)))
推荐阅读
- javascript - 如何使用哈希表在单链表中查找循环?
- php - Wordpress - 如何获取小部件实例的信息
- c++ - 光视图矩阵不起作用,Opengl 阴影映射
- android - 我正在使用 Firebase 和 Android Studio
- node.js - 无法使用 FileReader 从 fs 读取文件
- excel - 如何列出数据透视表中的数据透视字段?
- css - Jodit:在编辑器中启动编辑器时文本居中并且背景颜色选择消失
- java - 如何解决 Jsoup Java 中的 HTML 错误 500
- mysql - 如何在 MYSQL 列中保存数据更改
- html - 如何让我的页脚响应而不会出现故障?