我想在data.frame中插入一个新列,当行中至少有一个缺失值时,该值为TRUE,否则为FALSE.
对于这个问题,apply是一个完美的用例:
tab <- data.frame(a = 1:10, b = c(NA, letters[2:10]), c = c(LETTERS[1:9], NA))
tab$missing <- apply(tab, 1, function(x) any(is.na(x)))
Run Code Online (Sandbox Code Playgroud)
但是,我加载了严格的包,并得到了这个错误:apply() coerces X to a matrix so is dangerous to use with data frames.Please use lapply() instead.
我知道我可以安全地忽略这个错误,但是,我想知道是否有一种方法可以使用其中一个tidyverse包以简单的方式对其进行编码.我尝试使用dplyr失败了:
tab %>%
rowwise() %>%
mutate(missing = any(is.na(.), na.rm = TRUE))
Run Code Online (Sandbox Code Playgroud)