如何使用NULL值展平列表?

时间:2017-07-14 14:12:47

标签: r purrr

我试图压扁此列表,但由于NULL而无法正常工作。我希望在展平列表时成为NA。我使用下面的代码

list('hi','hello', NULL) %>% purrr::flatten_chr()

检索错误

  

错误:无法将元素3从NULL强制转换为字符

我想在purrr中找到一个解决方案,因为我在展平列表之前和之后将其用于其他一些操作。

2 个答案:

答案 0 :(得分:6)

它不是purrr,但确实有效:

a <- list('hi','hello', NULL)
> sapply(a,function(x) ifelse(is.null(x),NA,x))
[1] "hi"    "hello" NA   

答案 1 :(得分:2)

list('hi','hello', NULL) %>% 
lapply(function(x) ifelse(is.null(x), NA, x)) %>% 
purrr::flatten_chr()

也许这适合你?首先替换NULL,然后展平。希望这会有所帮助。