用dplyr无条件替换数据帧中的值

用dplyr无条件替换数据帧中的值,r,dplyr,R,Dplyr,df[df==2]的dplyr函数(如果有)是什么?我认为这是一个非常好的函数: df1 <- mtcars[1:4,1:4] df1 %>% `[<-`(., . < 22, value = "smaller_22") df1%`[%`[这可以工作: df %>% mutate_all(funs(case_when(.==2 ~ 3, TRUE ~ as.numeric(.)))) (不确定为什么它要我将其更改为数字,但只是在末尾输入就出现了错误…我们也可以使

df[df==2]的
dplyr
函数(如果有)是什么?我认为这是一个非常好的函数:

df1 <- mtcars[1:4,1:4]
df1 %>% `[<-`(., . < 22, value = "smaller_22")
df1%`[%`[这可以工作:

df %>% mutate_all(funs(case_when(.==2 ~ 3, TRUE ~ as.numeric(.))))

(不确定为什么它要我将其更改为数字,但只是在末尾输入
就出现了错误…

我们也可以使用
替换

library(dplyr)
df %>% 
   replace(.< 22, "smaller_22")
库(dplyr)
df%>%
替换(.<22,“较小的22”)

它作为
df%>%mutate\u all(recode(,'2`=3))
工作。它不是
dplyr
函数,但您可以使用
replace
df%>%mutate\u all(funs(replace(.==2,3,))
@RonakShah确实,我在问题中提出了一个类似的解决方案。但是我没有找到一个直接的
dplyr
函数。我想知道我是否遗漏了什么…
recode
是一个
dplyr
函数,我认为
recode
replace
进行所有的变异都是最重要的raightforward和
dplyr
ish尽你所能。在你看来,什么能让它更简单?@camile请看我的问题。我想知道我是否错过了一个专门为这种情况设计的函数。
[
df %>% mutate_all(funs(case_when(.==2 ~ 3, TRUE ~ as.numeric(.))))
library(dplyr)
df %>% 
   replace(.< 22, "smaller_22")