使用深度名称向量作为索引替换嵌套列表

2024-07-04

采取一个简单的嵌套列表L:

L <- list(lev1 = list(lev2 = c("bit1","bit2")), other=list(yep=1))
L
#$lev1
#$lev1$lev2
#[1] "bit1" "bit2"
#
# 
#$other
#$other$yep
#[1] 1

一个向量为我想要选择的每个部分提供了一系列深度L:

sel <- c("lev1","lev2")

索引时我想要的结果是:

L[["lev1"]][["lev2"]]
#[1] "bit1" "bit2"

我可以概括使用Reduce像这样:

Reduce(`[[`, sel, init=L)
#[1] "bit1" "bit2"

现在,我想扩展这个逻辑来进行替换,如下所示:

L[["lev1"]][["lev2"]] <- "new val"

,但我真的对如何生成递归感到困惑[[选择的方式也将允许我分配给它。


为什么你不能这样做

L[[sel]] <- "new val"

好吧,如果你想走远路的话 你仍然可以使用Reduce with modifyList或者你可以使用[[<-。这是一个例子modifyList:

modifyList(L,Reduce(function(x,y)setNames(list(x),y),rev(sel),init = "new val"))
$lev1
$lev1$lev2
[1] "new val"


$other
$other$yep
[1] 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用深度名称向量作为索引替换嵌套列表 的相关文章

  • .jfindClass(as.character(driverClass)[1]) 中的错误:找不到类

    gt cassdrv lt JDBC org apache cassandra cql jdbc CassandraDriver list files C Users VRavimurugan GSIN AppData Roaming Ra
  • .jfindClass(as.character(driverClass)[1]) 中的错误:找不到类

    gt cassdrv lt JDBC org apache cassandra cql jdbc CassandraDriver list files C Users VRavimurugan GSIN AppData Roaming Ra
  • 将 Java 数组转换为 Clojure 列表或序列?

    如何将 Java 数组转换为 Clojure 序列数据结构 例如列表或其他序列 This question https stackoverflow com q 16647261 712526展示如何进行相反的操作 Clojure 文档展示了
  • Python的List是如何实现的?

    是链表还是数组 我环顾四周 只发现人们在猜测 我的C语言知识还不够好 无法看源代码 实际上 C 代码非常简单 扩展一个宏并修剪一些不相关的注释 基本结构为listobject h https github com python cpytho
  • 在限制下从 int 列表生成所有可能的组合

    我需要用 Python 来做这个 有一个给定的列表l 可能包含超过5000个整数元素 数字总和有限制 20000 或可能更高 输出应该是从列表中选取的 2 个数字的所有可能的总和 喜欢 l 1 2 3 4 5 6 7 8 9 output
  • 字符串向量的按元素串联[重复]

    这个问题在这里已经有答案了 假设我有两个字符向量 a lt c a b c b lt c 1 2 3 我如何合并它们以便我得到 ab lt c a1 b2 c3 您可以使用paste or paste0 gt a lt c a b c gt
  • 在“for”循环内创建绘图集合

    我有 15 个图需要显示 我在一个循环中迭代它们for像这样列出 Plotting that does not work plots lt c for i in colnames dataframeselect current col lt
  • 使用同一组中满足条件的第一个下一行设置列值

    我是 R 新手 这是我在 stackoverflow 上的第一个问题 我在尝试 通过引用分配给新列 对于每一行 使用同一行组中下一行的值 满足一个条件 示例数据 id code date down date up 1 1 p 2019 01
  • RSelenium:连接被拒绝错误

    我正在尝试使用最新版本的 RSelenium 连接到 Selenium 服务器 这是我使用的代码 install packages RSelenium library RSelenium remDr lt remoteDriver remo
  • R:按比例缩放 ggplot2、点阵或基本 R 图的函数

    在 R 中 我总是觉得很烦人的是 基本 R lattice 和 ggplot2 绘图都使用文本和绘图符号大小的绝对点大小 这意味着 如果您增加绘图窗口的大小以获取填充页面的图表 windows width 5 height 5 qplot
  • 如何判断一个点是否在椭圆内

    我之前发布过类似的问题 我试图确定一个点是否位于椭圆内 基本上我生成一些二元正态数据并创建一个椭圆 这是我使用的代码 library MASS set seed 1234 x1 lt NULL x2 lt NULL k lt 1 Sigma
  • 我已经严重破坏了 Cython,它的性能比纯 Python 还差。为什么?

    我对 Python 相当陌生 并且对 C 完全无知 不幸的是 因此我正在努力正确理解使用 Cython 的某些方面 在对 Python 程序进行分析并发现它只是几个循环占用大部分时间后 我决定考虑将它们转储到 Cython 中 最初 我只是
  • 创建半甜甜圈或议会席位图表

    我想在 ggplot2 中创建一个显示议会席位大小的图表 如下图所示 我的主要问题本质上是如何将圆环图转换为半圆环图 半圆弧 以上面的图片为例 我不知道从这里到哪里 df lt data frame Party c GUE NGL S D
  • 有pmin和pmax各取na.rm,为什么没有psum?

    看来 R 可能缺少一个明显的简单函数 psum 它是否以不同的名称存在 或者位于某个包中 x c 1 3 NA 5 y c 2 NA 4 1 min x y na rm TRUE ok 1 1 max x y na rm TRUE ok 1
  • 显示大于或等号

    我有一个这样生成的图 ggplot dt 2 aes x AgeGroup y Prevalence geom errorbar aes ymin lower ymax upper colour black width 2 geom poi
  • 停止 lapply 从打印到控制台

    当我使用lapply并打印到控制台 它打印出不需要的内容 i NULL虽然我希望将预期的消息打印到控制台 我试过了suppressWarnings and suppressMessages但这些并不能消除不受欢迎的罪犯 我搜索了lapply
  • cockplot:调用plot_grid后提取子图

    我在用plot grid安排两个图 library ggplot2 library cowplot d data frame x rnorm 100 y rnorm 100 g sample c a b 100 replace T p1 g
  • 计算 r 中的相对 RMSE

    为了获得预测模型和真实值的相对 RMSE 我使用了代码 ratio lt prediction1 ISEtrain rRMSE1 lt sqrt mean 1 ratio 2 但我失败了 输出为 1 Inf 我的代码有什么问题吗 谢谢 你正
  • Java JDK中有并发List吗?

    如何创建一个并发 List 实例 在其中可以按索引访问元素 JDK 有我可以使用的类或工厂方法吗 ConcurrentLinkedQueue 如果您不关心基于索引的访问 而只想要列表的插入顺序保留特性 那么您可以考虑java util co
  • 如何在R函数中使用switch语句?

    我想在 R 中的函数中使用以下语句switch 根据函数参数的值触发不同的计算 例如 在 Matlab 中 您可以通过编写来做到这一点 switch AA case 1 case 2 case 3 end 我找到了这个帖子 switch 语

随机推荐

  • 您使用哪种 IDE(如果有)构建 python GUI 项目?

    是否有任何 IDE 如 VS 支持拖放来构建 python GUI 连接到数据库等 尽管我是一个 emacs 爱好者 但我发现使用 VS 创建 GUI 更容易 仅对于 GUI 我发现 VisualWx http visualwx alter
  • 启动应用程序时反应本机 Android 错误

    V SoLoader libimagepipeline so not found on data data com learnapp lib main D SoLoader libimagepipeline so found on data
  • 如何转义 XML 中的 & 符号,以便它们在 HTML 中呈现为实体?

    我有一些 XML 文本希望在 HTML 页面中呈现 该文本包含一个 符号 我想在其实体表示中呈现它 amp 如何在源 XML 中转义这个 符号 我试过 amp 但这被解码为实际的 符号 即在 HTML 中无效 https stackover
  • 街景中标记上的 InfoWindows

    根据 Google 文档 当您在地图上创建标记时 市场也会 复制 到地图的街景版本上 但是 onClick 事件绑定不会被复制 或者至少看起来不会被复制 因此我无法在 StreetView 中打开标记上的 InfoWindow 理想情况下
  • 图像选择器在 React Native 应用程序中不起作用,为什么?

    我已经成功安装了react native image picker 对于一个新的react本机应用程序 链接它并通过info plist文件授予正确的权限来访问相机 照片等 我正在使用 React native image picker 页
  • 在实际应用或执行之前验证 yaml 中定义的 OpenShift 对象

    我在 template yaml 文件中有一个 OpenShift 模板 其中包括以下对象 部署配置 pod 服务和路由 我使用以下命令来执行 yaml oc process f template yml oc apply f 我想在实际应
  • 将 WebView 保存为 PDF 返回空白图像?

    我正在尝试弄清楚如何将 WebView 保存到 PDF 并且完全卡住了 真的很感激一些帮助吗 我在 OSX 上的 Cocoa 和 Swift 中执行此操作 这是到目前为止我的代码 import Cocoa import WebKit cla
  • 如何根据对象属性字符串过滤“ngFor”循环内的项目

    我需要过滤里面的项目ngFor循环 通过更改下拉列表中的类别 因此 当从列表中选择特定类别时 它应该只列出包含该相同类别的项目 HTML 模板
  • java中的长轮询

    我已经编写了用于长轮询的服务器端代码 我想用java写客户端程序 因此 根据长轮询 客户端发送一个由服务器帮助的请求 当事件发生时服务器响应该请求 然后客户端发送新的请求 所以我面临的麻烦是用java编写的客户端 发送请求后 如何继续检查客
  • JavaScript 开发人员不使用 Array.push() 是否有原因?

    我经常看到开发人员在 JavaScript 中使用如下所示的表达式 arr arr arr length Something arr arr length Another thing 不会push更合适吗 arr arr push Some
  • 通过 powershell 将调试器附加到多个进程

    我有几个正在运行的进程 我想通过 powershell 将它们附加到 VS 调试器 目前 我可以这样做 Get Process NServiceBus Host Debug Process 如果只有一个进程 系统会提示我选择正确的调试器 然
  • 谷歌模拟 - 我可以在同一个模拟对象上多次调用 EXPECT_CALL 吗?

    如果我打电话EXPECT CALL在同一个模拟对象上两次TEST F 会发生什么 期望是否附加到模拟对象中 或者第二次调用是否消除了第一次调用的效果 I found 后子句 https github com google googletes
  • 滚动后 ListView 未显示正确的值

    在我的应用程序中我使用的是CustomListView与ArrayAdapter显示不同国家的时间 但在 6 到 7 行之后 取决于手机屏幕尺寸 时间值会重复 根据之前的一些文章 我编写了以下代码片段来获得解决方案 但问题仍然存在 以下是我
  • 如何等待进程及其所有子进程退出?

    是否有一个等待方法 当目标进程及其所有子进程退出时会返回 看来 Process WaitForExit 只会等待目标进程 net 中有一个错误会给出您所追求的行为 WaitForExit 如果您异步读取输出 将等待所有子进程 p Start
  • vue js 2:访问已安装函数中的道具

    我的子组件中有数据道具 在已安装函数的子组件内部 我需要从 props 获取特定值并设置选择下拉值 我正在使用 vue multiselect 插件 工作正常 这是代码 module exports props Subscriptions
  • python easy_install:指定存放所需文件的目录

    我正在尝试使用 easy install 来安装 MySQL python 它几乎立即失败 mysql c 36 23 错误 my config h 没有这样的文件或目录 mysql c 38 19 错误 mysql h 没有这样的文件或目
  • Windows 窗体应用程序中异常处理的最佳实践?

    我目前正在编写我的第一个 Windows 窗体应用程序 我现在已经阅读了几本 C 书籍 因此对 C 必须处理异常的语言特性有了相对较好的了解 然而 它们都非常理论化 因此我还没有了解如何将基本概念转化为应用程序中良好的异常处理模型 有人愿意
  • 使用部署在 Tomcat 中的 Web 应用程序关闭 Tomcat

    我对我的 webapp 开发中遇到的 tomcat 操作有一些疑问 有什么办法可以从部署在tomcat中的web应用程序中关闭tomcat本身吗 tomcat 是否在一个 JVM 或单个 JVM 中运行其所有 webapps war 或者在
  • GHC 截断 Unicode 字符输出

    我无法让 GHCi 或 GHC 打印 unicode 代码点 221A 平方符号 我不认为这是我的外壳 因为我可以让 ruby 来做 irb gt puts u221A GHC GHCi 是另一个问题 ghci gt putStrLn 87
  • 使用深度名称向量作为索引替换嵌套列表

    采取一个简单的嵌套列表L L lt list lev1 list lev2 c bit1 bit2 other list yep 1 L lev1 lev1 lev2 1 bit1 bit2 other other yep 1 1 一个向量