r - 使用 map 和 pluck 从嵌套列表中获取值
问题描述
我有以下讨厌的嵌套列表
编辑:更新包括value_I_dont_want
mylist <- list(
list(
nested_1 = list(
nested_2 = list(
list( value_I_want = "a", value_I_dont_want = "f"),
list( value_I_want = "b", value_I_dont_want = "g")
)
)
),
list(
nested_1 = list(
nested_2 = list(
list( value_I_want = "c", value_I_dont_want = "h"),
list( value_I_want = "d", value_I_dont_want = "i"),
list( value_I_want = "e", value_I_dont_want = "j")
)
)
)
)
我想得到所有value_I_want
的
我知道我可以在 for 循环中使用以下代码
mylist[[x]]$nested_1$nested_2[[y]]$value_I_want
但我想提高我的地图技能。我了解当列表是单级时如何使用map_chr
,但我没有找到很多关于从非常嵌套的列表中提取的资源。我也知道我可以使用[[
但没有找到合适的文档?
任何帮助表示赞赏!
解决方案
如果我们需要'yay's
library(purrr)
library(dplyr)
map(mylist, ~ .x$nested_1$nested_2 %>% unlist%>% grep("^yay", ., value = TRUE))
或者使用循环后pluck
基于键'value_I_want'提取元素list
map
map(mylist, ~ .x$nested_1$nested_2 %>%
map(pluck, "value_I_want") )
推荐阅读
- matlab - 梯度下降 - 逻辑回归 - 奇怪的 thetas
- excel - 粘贴新数据时 Excel 表格公式范围错误地递增
- android-studio - 尝试运行 Android 应用程序时出现 INSTALL_FAILED_MISSING_SHARED_LIBRARY 错误
- postgresql - 在 Windows 上为 PostgreSQL 注册事件日志时出错
- bash - 如何将动态数量的参数传递给 sed 以用作过滤器
- jquery - 需要将 onblur 更改为 onclick 的说明
- java - 如何使用字符串参数 s 创建具有参数名称的新 LinkedList?
- nativescript - Nativescript,在 ios 委托中注入 Angular 服务
- javascript - 如何在没有 Jquery 的情况下使用 appendchild JavaScript 创建节点列表
- c# - UWP FolderPicker 授予对所有子路径的访问权限