1

正如标题所述,如果任何变量具有 NA,我将尝试用 0 替换给定行中的所有值,并使用 write.table 输出。例如:

x  y  z
2  3  5
4  NA 1
3  2  1

x  y  z
2  3  5
0  0  0
3  2  1

目前我的代码如下所示

myvars <- c("x", "y", "z")
newdata <- mydata[myvars]
write.table(newdata, "data.txt", col.names=FALSE, row.names=FALSE)
4

2 回答 2

10

complete.cases在这里似乎很合适:

dat[!complete.cases(dat),] <- 0
dat
#  x y z
#1 2 3 5
#2 0 0 0
#3 3 2 1
于 2015-07-01T02:11:41.873 回答
5

虽然@thelatemail 的回答真的很酷,

多学一招也无妨。

这是我的解决方案:

dat[rowSums(is.na(dat))>0,]<- 0
dat
#  v1 v2 v3
#1 2  3  5
#2 0  0  0
#3 3  2  1
于 2015-07-01T02:30:22.973 回答