【发布时间】:2018-06-17 13:14:19
【问题描述】:
示例数据框:
library(dplyr)
n <- 5
k <- 10
my_labels <- LETTERS[1:5]
foobar <- data.frame(group = gl(n, k, labels = my_labels), x = runif(n*k), y=rnorm(n*k), z = rpois(n*k, 1), month_name = (rep(month.name[1:k], n)))
index <- sample(1:50,10)
foobar[index, c("x", "y", "z")] <- NA
foobar[foobar$group %in% c("B","E"), c("x", "y", "z")] <- NA
我想找到所有且只有那些级别的group,除month_name(当然还有group)之外的所有变量都完全丢失。在这种情况下,这些级别将是B 和E。
解决方案应使用dplyr(如果可能)。如果需要选择列,不要select只选择列x、y和z,而是取消选择不想勾选的列,例如group和month_name。这是因为在实际用例中,我有几十个变量必须检查是否缺失,只有几个变量我不想检查:当然,在示例中,为了简单起见,我只使用了三个变量。
【问题讨论】: