【发布时间】:2017-11-02 12:22:18
【问题描述】:
来自如下数据框:
DF <- data.frame(ids = c(1, 2, 3), y = c(0, 10, NA), z=c(NA, 33, 22))
可以使用以下方法删除包含 NA 的行:
completeFun <- function(data, desiredCols) {
completeVec <- complete.cases(data[, desiredCols])
return(data[completeVec, ])
}
completeFun(DF, "y")
# x y z
# 1 1 0 NA
# 2 2 10 33
completeFun(DF, c("y", "z"))
如何删除所有单元格中包含 NA 的行,而不是删除包含一个 NA 的每一行。
输入示例:
DF <- data.frame(ids = c(1, 2, 3,4), y = c(0, 10, NA,NA), z=c(NA, 33, 22,NA))
预期输出示例:
DF <- data.frame(ids = c(1, 2, 3), y = c(0, 10, NA), z=c(NA, 33, 22))
【问题讨论】:
-
使用
rowSums创建逻辑向量,即DF[rowSums(is.na(DF[-1])) < 2,]
标签: r