dplyr
的{{1}}函数(如果有)是什么?
(即,将数据帧df[df == 2] <- 3
中所有2的值替换为3)
使用df
,我可以这样做:
dplyr
是否有诸如df %>% mutate_all(funs(ifelse(.==2, 3, .)))
之类的功能?
答案 0 :(得分:1)
在我看来,这是相当不错的:
df1 <- mtcars[1:4,1:4]
df1 %>% `[<-`(., . < 22, value = "smaller_22")
所以在您的特殊情况下:
df %>% `[<-`(., . == 2, value = 3)
答案 1 :(得分:1)
这可能有效:
df %>% mutate_all(funs(case_when(.==2 ~ 3, TRUE ~ as.numeric(.))))
(不确定为什么要让我将其更改为数字,但是仅在末尾放入.
时出现错误...)
答案 2 :(得分:1)
我们也可以使用replace
library(dplyr)
df %>%
replace(.< 22, "smaller_22")