首页 > 解决方案 > 当嵌套列表中缺少元素时,使用 map 返回 NA

问题描述

我有一个嵌套列表:

test <- list(
  one = list(text = "String", number = "1"),
  two = list(text = "String"),
  three = list(text = "String", number = "3")
)

我可以map_chr(test, "text")用来返回每个文本值,但我将如何map_chr(test, "number")开始工作并返回:

one  two  three
"1"  NA   "3"

标签: rlistpurrr

解决方案


你可以做:

map_chr(test, ~ pluck(., "number", .default = NA_character_))

  one   two three 
  "1"    NA   "3" 

或直接(@aosmith 建议):

map_chr(test, "number", .default = NA_character_)

推荐阅读