r - 如何在 R 中使用 mutate_at() 来更改列?
问题描述
我想替换""
列中的所有实例:VEHICLE.TYPE.CODE
和CONTRIBUTING.FACTOR.VEHICLE
。
我的代码是:
df %>%
select(VEHICLE.TYPE.CODE.1, VEHICLE.TYPE.CODE.2,
VEHICLE.TYPE.CODE.3, VEHICLE.TYPE.CODE.4, VEHICLE.TYPE.CODE.5,
CONTRIBUTING.FACTOR.VEHICLE.1, CONTRIBUTING.FACTOR.VEHICLE.2,
CONTRIBUTING.FACTOR.VEHICLE.3, CONTRIBUTING.FACTOR.VEHICLE.4,
CONTRIBUTING.FACTOR.VEHICLE.5) %>%
mutate_at(vars(contains(" ")), funs("NONE"))
但是,这不起作用。""
不替换为"NONE"
。为什么我的代码不起作用,如何修复我的代码以进入"NONE"
我的列?
提前致谢!
解决方案
我们可以使用matches
将列名与模式匹配并用于replace
更改值。
library(dplyr)
df %>% mutate_at(vars(matches('VEHICLE.TYPE.CODE|CONTRIBUTING.FACTOR.VEHICLE')),
~replace(., . == "", "NONE"))
请注意,在将来的版本中将mutate_at
替换为,在这种情况下,语法将更改为:across
dplyr
df %>%
mutate(across(matches('VEHICLE.TYPE.CODE|CONTRIBUTING.FACTOR.VEHICLE')),
~replace(., . == "", "NONE"))
推荐阅读
- vb.net - VB.net 中是否有相当于 VB6 的 ChrB
- docker - 将 python 与在 docker 中运行的 h2o 连接,但用于 h2o 的 ipv4 更改
- javascript - UPDATE SQL TABLE 使用绑定变量或绑定参数将新值减去存储值
- c# - 从 http 上下文获取访问令牌
- android - Android Spinner - 选定值文本未正确对齐
- android - 存储访问权限在应用信息中不可见
- c# - 使用一键单击读取文本文件和xml文件C#
- algorithm - 曲面重建中如何避免填孔?
- c# - 将 varchar 值“System.Windows.Forms.ComboBox+ObjectCollection”转换为数据类型 int 时转换失败
- android - 什么相当于 xCode for Android 中的 Bundle Identifier?