提问人:george1994 提问时间:10/18/2023 更新时间:10/18/2023 访问量:46
删除 R 中数据框中包含多个 NA 的列 [duplicate]
Delete columns that contain more than one NA in a data frame in R [duplicate]
问:
我有以下数据框:
data <- data.frame(
ID = c("Per1", "Per2", "Per3"),
Col1 = c(1, 2, NA),
Col2 = c(2, NA, NA),
Col3 = c(3, NA, 5),
Col4 = c(4, NA, NA)
)
ID Col1 Col2 Col3 Col4
1 Per1 1 2 3 4
2 Per2 2 NA NA NA
3 Per3 NA NA 5 NA
现在,我只想删除包含多个 NA 的列,即第 2 列和第 4 列,同时保留仅包含一个 NA (1&3) 的列
谢谢
答:
2赞
Jamie
10/18/2023
#1
您可以在 base R 中尝试类似的东西。
使用下面的条件,您可以返回一个向量 T/F,以仅选择具有少于 2 个 NA 的列。
data[, colSums(is.na(data)) < 2]
ID Col1 Col3
1 Per1 1 3
2 Per2 2 NA
3 Per3 NA 5
评论
data[, colSums(is.na(data)) <= 1]