我想将年龄过大(年龄 >90)的参与者排除在分析之外。通常我会这样做:
df <- data.frame(age=c(1,10, 100), x= 1:3, y= 1:3)
df[df$age > 90, ] <- NA
我不知道如何用 dplyr 做到这一点。如果我们想替换一个变量,我们可以使用
library(dplyr)
df <- data.frame(age=c(1,10, 100), x= 1:3, y= 1:3)
df %>%
mutate(age= replace(age, age> 90, NA))
所以我想我可以使用
df %>%
mutate_all(function(i) replace(i, age> 90, NA))
我也尝试过mutate_if,mutate_at但没有成功。在阅读了关于 SO 的问题后,我认为“问题”是在我的情况下,我需要使用 dplyr 逐行更改值。