gpt4 book ai didi

从包含带有 id 的列的数据框中删除带有 NA 的行

转载 作者:行者123 更新时间:2023-12-01 10:26:45 24 4
gpt4 key购买 nike

来自像这样的数据框:

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))

最佳答案

solution <- DF[!(rowSums(is.na(DF)) == NCOL(DF)-1),]

这应该适用于任意数量的列,假设始终有一个保证不包含任何 NA 的 ID 列。

输入:

> DF
ids y z
1 1 0 NA
2 2 10 33
3 3 NA 22
4 4 NA NA

输出:

> solution
ids y z
1 1 0 NA
2 2 10 33
3 3 NA 22

关于从包含带有 id 的列的数据框中删除带有 NA 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47075205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com