【发布时间】:2019-08-18 12:51:16
【问题描述】:
我想知道(对于每一行)我的数据中的任何 NA 属于哪些列。目标是创建一个新列/变量,列出数据显示为 NA 的列的名称,对于该特定行,最好使用 dplyr。
使用这个模拟数据,
data = tibble(var_1 = c(NA, 4, 5, 6, 7), var_2 = c(4, 5, 6, 7, 8), var_3 = c(NA, NA, NA, 3, 5))
我想创建 missing_col 列:
var_1 var_2 var_3 missing_col
1 NA 4 NA "var_1", "var_3"
2 4 5 NA "var_3"
3 5 6 NA "var_3"
4 6 7 3 NA
5 7 8 5 NA
到目前为止,我的方法是将 rowwise() 函数与 mutate 以及嵌套的 select_if() 和函数结合使用。但是,到目前为止,我尝试过的所有功能都不允许我单独考虑每一行(而不是整列)。下面我介绍了我的方法的一般结构。
data %>%
rowwise() %>%
mutate(missing_col = select_if(function(x) ... )) %>%
names()
任何有关适当功能的指导将不胜感激。
【问题讨论】: