假设我的数据看起来像这样(包含更多列)
set.seed(112116)
df <- data.frame(x1 = sample(c(LETTERS, -1:-10), 100, replace = T),
x2 = sample(c(letters, -1:-10), 100, replace = T),
x3 = sample(c(1:30, -1:-10), 100, replace = T))
我想用NA替换所有负数。我可以像这样一个接一个地做:
df <- df %>% mutate(x1 = replace(x1, which(x1<0), NA),
x2 = replace(x2, which(x2<0), NA),
x3 = replace(x3, which(x3<0), NA))
但我希望有一种方法可以为我的数据中的所有列执行此操作
答案 0 :(得分:7)
尝试使用mutate_each
df %>%
mutate_each(funs(replace(., .<0, NA)))