【发布时间】:2020-12-11 17:02:15
【问题描述】:
我想提取列表中NA 元素的names。
library(tidyverse)
mlist <- lst(p1 = data.frame(a = c(1, NA)),
p2 = NA,
p3 = data.frame(b = c(NA, "test")),
p4 = NA,
p5 = c(1, 2, NA))
mlist
# $p1
# a
# 1 1
# 2 NA
# $p2
# [1] NA
# $p3
# b
# 1 <NA>
# 2 test
# $p4
# [1] NA
# $p5
# [1] 1 2 NA
我发现最简单的方法是使用base:
names(mlist)[is.na(mlist)]
#[1] "p2" "p4"
但我最初尝试使用purrr::keep 来执行此操作,但我仍然很好奇如何执行此操作。我认为这会起作用:
map(mlist, ~keep(is.na(.))) %>% names()
任何简单的解决方案?
谢谢
【问题讨论】: