正如标题所述,我试图将给定行中的所有值替换为0,如果任何变量具有NA,则使用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)
答案 0 :(得分:10)
complete.cases
似乎合适:
dat[!complete.cases(dat),] <- 0
dat
# x y z
#1 2 3 5
#2 0 0 0
#3 3 2 1
答案 1 :(得分: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