我有一个类似的问题this one https://stackoverflow.com/questions/6684695/r-replace-na-with-item-from-vector,但我的数据集有点大:50 列,其中 1 列作为 UID,其他列包含其中之一TRUE
or NA
,我想改变所有NA
to FALSE
,但我不想使用显式循环。
Can plyr
做这件事吗?谢谢。
更新#1
感谢您的快速回复,但是如果我的数据集如下所示怎么办:
df <- data.frame(
id = c(rep(1:19),NA),
x1 = sample(c(NA,TRUE), 20, replace = TRUE),
x2 = sample(c(NA,TRUE), 20, replace = TRUE)
)
我只想X1
and X2
需要处理,请问如何处理?
如果你想替换一部分变量,你仍然可以使用is.na(*) <-
技巧,如下:
df[c("x1", "x2")][is.na(df[c("x1", "x2")])] <- FALSE
IMO 使用临时变量使逻辑更容易遵循:
vars.to.replace <- c("x1", "x2")
df2 <- df[vars.to.replace]
df2[is.na(df2)] <- FALSE
df[vars.to.replace] <- df2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)