r - 如果在 R 时不符合标准,如何保持单元格的原始值?
问题描述
我希望变异在所有单元格值上运行(编辑:在具有多列的 DF 中),如果它不符合 case_when 的任何标准,则保留原始数据。例如 mutate(~case_when(.=="hi" ~1, .=="hello"~2, T~(keep original value) ))
解决方案
如果您只运行case_when
1 列,则可以在TRUE ~
library(dplyr)
df %>%
mutate(cyl = case_when(col == 'hi' ~ 1,
col == 'hello' ~ 2,
TRUE ~ col))
如果您使用mutate_at
/对多个列运行此操作,across
则可以使用.
df %>%
mutate(across(c(a, b), ~case_when(.== "hi" ~ 1,
.== "hello"~2,
TRUE ~ .)))
推荐阅读
- java - 如何将 Spring 事务管理与 JDBI 3 集成?
- javascript - 想要将 DIV 下载为 IMAGE,它是画布元素
- python - 使用 openpxl 将 excel 公式应用于列需要很长时间才能执行
- python-3.x - tf.map_fn 中的张量流索引
- javascript - 回调、高阶函数、回调队列有什么区别
- notepad++ - 想要在一定数量的逗号后保留文本(记事本++)
- swift - 为什么我的 UIButton 在 segue 后仍然存在?
- java - 如何从所有按钮打印文本?
- redux - react-redux 应用程序中的操作重复
- asp.net - 42703:列 Extent1.Discriminator 不存在