我正在尝试使用 data.table 将特定值(0 和 99)的 NA 分配给一组变量(9 个变量,从 p05_1 到 p05_9)。我没有收到任何错误,但是当我使用此代码时没有任何反应:
这里有一个简短的例子:
v_1 <- c(0,0,1,2,3,4,4,99)
v_2 <- c(1,2,2,2,3,99,1,0)
dat <- data.table(v_1,v_2)
for(n in 1:9) {
char <- sprintf('p05_%s', n)
st[eval(parse(text=char)) %in% c(0,99), eval(parse(text=char)) := NA_integer_]
}
最好的。