如何检查 r 中每列是否至少有一个案例?
How to check if there is at least one case per column in r?
我有一个数据框列表,我需要了解每个数据框中是否有一列全部由 NA 填充。所以我需要一个像 complete.cases 这样的函数,但是对于列来说,它会告诉我每列是否至少有一个答案。我该怎么做?
下面是一个简化的例子(这里可能不会有NA列,只是为了让你明白):
mylist <- list()
for (i in 1:10){
temp <- data.frame(V1 <- rnorm(10),
V2 <- rnorm(10),
V3 <- rnorm(10))
temp[temp<0] <- NA
mylist[[i]] <- temp
}
您可以结合使用 sapply
/lapply
和 colSums
。
any_column_with_all_NA <- sapply(mylist, function(x) any(colSums(!is.na(x)) == 0))
这将是 return 逻辑值 (TRUE
/FALSE
) 如果数据框中的任何列都包含 NA
。
我有一个数据框列表,我需要了解每个数据框中是否有一列全部由 NA 填充。所以我需要一个像 complete.cases 这样的函数,但是对于列来说,它会告诉我每列是否至少有一个答案。我该怎么做?
下面是一个简化的例子(这里可能不会有NA列,只是为了让你明白):
mylist <- list()
for (i in 1:10){
temp <- data.frame(V1 <- rnorm(10),
V2 <- rnorm(10),
V3 <- rnorm(10))
temp[temp<0] <- NA
mylist[[i]] <- temp
}
您可以结合使用 sapply
/lapply
和 colSums
。
any_column_with_all_NA <- sapply(mylist, function(x) any(colSums(!is.na(x)) == 0))
这将是 return 逻辑值 (TRUE
/FALSE
) 如果数据框中的任何列都包含 NA
。