正如标题所述,我试图将给定行中的所有值替换为0,如果任何变量具有NA,则使用write.table输出.例如:
x y z
2 3 5
4 NA 1
3 2 1
Run Code Online (Sandbox Code Playgroud)
至
x y z
2 3 5
0 0 0
3 2 1
Run Code Online (Sandbox Code Playgroud)
目前,我的代码如下所示
myvars <- c("x", "y", "z")
newdata <- mydata[myvars]
write.table(newdata, "data.txt", col.names=FALSE, row.names=FALSE)
Run Code Online (Sandbox Code Playgroud)
the*_*ail 10
complete.cases 这里似乎合适:
dat[!complete.cases(dat),] <- 0
dat
# x y z
#1 2 3 5
#2 0 0 0
#3 3 2 1
Run Code Online (Sandbox Code Playgroud)
虽然@thelatemail的答案真的很酷,
学习一个技巧也不会有害.
这是我的解决方案:
dat[rowSums(is.na(dat))>0,]<- 0
dat
# v1 v2 v3
#1 2 3 5
#2 0 0 0
#3 3 2 1
Run Code Online (Sandbox Code Playgroud)