我是r的新手,我一直在努力做到以下几点。如果一个值(在下面的示例中为“ y”)等于0,我想将某些值(“ x1”和“ x2”)更改为NA,而其他值保持不变(“ x3”)。示例:
df <- data.frame(y=c(1,0,1,1,0,0,1,0,1,0), x1=c(NA,3,4,7,NA,8,2,NA,3,7), x2=c(1,NA,4,7,5,6,NA,2,3,1), x3=c(9,5,2,4,7,2,5,8,2,2))
我希望输出为:
y x1 x2 x3
1 1 NA 1 9
2 0 NA NA 5
3 1 4 4 2
4 1 7 7 4
5 0 NA NA 7
6 0 NA NA 2
7 1 2 NA 5
8 0 NA NA 8
9 1 3 3 2
10 0 NA NA 2
答案 0 :(得分:2)
我们可以使用$(function () { ... });
中的$(document).ready(function() { ... });
mutate_at
答案 1 :(得分:1)
要在第二列和第三列中进行替换,可以使用
df[df$y == 0, 2:3] <- NA
或者,按名称指定列
df[df$y == 0, c("x1", "x2")] <- NA
或者,我们可以使用library(data.table)
setDT(df)[y==0, c('x1','x2') := NA]