如何从 R 中的列表列表中提取元素?

2024-06-30

我有一堆列表,其中包含列表(广义线性模型输出)。我想编写一个函数,该函数将从每个列表中提取多个元素,然后将结果组合到数据框中。

我想提取modelset[[1]]$likelihood & modelset[[1]]$fixef, modelset[[2]]$likelihood & modelset[[2]]$fixef等,并将结果合并到数据框中。

有人可以告诉我如何做到这一点吗?

如果我的问题令人困惑,我深表歉意:我想要做的事情超出了我有限的编程理解范围。

有关我的列表的更多信息:

modelset: Large list (16 elements, 7.3Mb)
    :List of 29
    ..$ fixef           : Named num [1:2] -1.236 -0.611
    .. ..- attr(*, "names")= chr [1:2] "(Intercept)" "SMIstd"
    ..$ likelihood      :List of 4
    .. ..$ hlik: num 238
    .. ..$ pvh : num 256
    .. ..$ pbvh: num 260
    .. ..$ cAIC: num 567

    ...etc  

为了优雅地解决这个问题,您需要了解可以使用['…']代替$…访问列表元素(但您将得到一个列表而不是单个元素)。

所以如果你想获取元素likelihood and fixef, 你可以写:

modelset[[1]][c('likelihood', 'fixef')]

现在您想对中的每个元素执行此操作modelset。就是这样lapply http://stat.ethz.ch/R-manual/R-devel/library/base/html/lapply.html does:

lapply(modelset, function (x) x[c('likelihood', 'fixef')])

这可行,但不太像 R。

你看,在 R 中,几乎一切是一个函数。[…]正在调用一个名为的函数[(但是由于[是R的特殊符号,in需要用反引号引起来:`[`)。所以你可以这样写:

lapply(modelset, function (x) `[`(x, c('likelihood', 'fixef')))

哇,这根本不可读。但是,我们现在可以删除匿名包装function (x),因为在内部我们只是调用另一个函数,并将额外的参数移动到最后一个参数lapply:

lapply(modelset, `[`, c('likelihood', 'fixef'))

这是有效的并且是优雅的 R 代码。


让我们退后一步,重新审视我们在这里所做的事情。实际上,我们有一个如下所示的表达式:

lapply(some_list, function (x) f(x, y))

这个调用可以写成

lapply(some_list, f, y)

我们正是这样做的,somelist = modelset, f = `[` and y = c('likelihood', 'fixef').

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

如何从 R 中的列表列表中提取元素? 的相关文章

  • 如何从 R 中的列表列表中提取元素?

    我有一堆列表 其中包含列表 广义线性模型输出 我想编写一个函数 该函数将从每个列表中提取多个元素 然后将结果组合到数据框中 我想提取modelset 1 likelihood modelset 1 fixef modelset 2 like
  • multidplyr :将函数分配给集群

    参见下面的工作解决方案 我想使用 multidplyr 并行化函数 calculs R f lt function x return x 1 main R library dplyr library multidplyr source ca
  • R:读取多个Excel文件,提取第一个工作表名称,并创建新列

    我有多个 Excel 文件 并且它们具有唯一的工作表名称 在我的情况下是文件创建日期 我批量阅读它们 需要将工作表名称分配给新列 id 中的每个文件 我知道如何制作数字 id 或 id 文件名 但找不到将工作表名称获取为 id 的方法 li
  • R - 数据框列中唯一值的数量

    对于数据框df 我需要找到的唯一值some col 尝试了以下方法 length unique df some col 但这并没有给出预期的结果 然而length unique some vector 对向量进行处理并给出预期结果 创建 d
  • 如何防止用户调整 clistctrl(报表视图)的列宽?

    如何防止用户调整 clistctrl 报表视图 的列宽 你必须覆盖OnNotify方法来捕获标头的 TRACK 消息 这是一个解决方案 防止列大小调整 http www codeguru com cpp controls listview
  • 绘图中的文本错误 | Jupyter-R

    我正在尝试在通过 Anaconda 安装的 Jupyter 笔记本上使用 R 中的 ggplot2 绘制一个带有一些数据的简单散点图 以下是我使用的代码 ggplot data df1 1 1000 geom point mapping a
  • 如何引用基于 data.frame 中的变量的列表?

    我有一张简单的桌子emp id and job code 我想返回正确的payout基于job code 我已经用嵌套的 ifelse 来解决这个问题 但是如果我有更多怎么办job code s library dplyr set seed
  • update() 具有局部协变量的函数内的模型

    我需要从函数内部更新回归模型 理想情况下 该函数应该适用于任何类型的模型 lm glm multinom clm 更准确地说 我需要添加函数内部定义的一个或多个协变量 这是一个例子 MyUpdate lt function model ra
  • 用 R 求解非平方线性系统

    如何用 R 求解非平方线性系统 A X B 系统无解或有无穷多个解的情况 例子 A matrix c 0 1 2 3 5 3 1 2 5 2 1 1 3 4 T B matrix c 17 28 11 3 1 T A 1 2 3 4 1 0
  • 绘制 VGLM 多项 Logistic 回归(置信区间为 95%)

    我想绘制多项逻辑回归的预测值vglm 函数在VGAM包裹 重要的是我使用VGAM因为我正在尝试复制同事在 Stata 中进行的分析 这是我使用此函数 包实现的 数据的子集 structure list caretime3 c 0 2 2 0
  • RStudio/ R 上的 Tensorflow 设置 |中央操作系统

    在过去的 5 天里 我试图让 Keras Tensorflow 包在 R 中工作 我使用 RStudio 进行安装并使用conda miniconda virtualenv但最后每次都会崩溃 安装库不应该是一场噩梦 尤其是当我们谈论 R 时
  • R 中的 Python 链接式数据整理

    我是 Python 新手 来自 R 环境 我喜欢 R 的一件事是能够编写代码 在一个可读的代码块中对数据进行多种转换 但对我来说 在 Python 中找到这种风格的代码非常困难 我想知道你们中的一些人是否可以指导在哪里可以找到有关该特定风格
  • 如何将嵌套模块与传单地图一起使用

    我正在尝试使用shiny模块来构建一个应用程序leaflet地图 然而 当我运行下面的代码时 地图无法正确渲染 它呈灰色 我希望发生的是user从侧面板中选择城市 并显示地图的相关部分 问题末尾有一个使用标准闪亮来说明的示例 我认为用户输入
  • R 中的继承

    关于R 有人可以向我解释一下 关于对象继承 如果我有S4对象X 其中包含Y 如果Y有一个初始值设定项 当X是时 如何从X的初始值设定项内调用该初始值设定项建 第一次通过 还不够好 这里有两个类 A lt setClass A represe
  • 在 dplyr 中重命名列时进行整洁的评估

    我正在尝试使用动态重命名数据框中的单个列rename 与整齐的评价语法发布于dplyr v0 7 0 https blog rstudio com 2017 06 13 dplyr 0 7 0 来自 rename帮助页面上 我找到了以下示例
  • R:需要用正则表达式替换不可见/重音字符

    我正在处理从具有不同区域设置的几台不同机器生成的文件 因此我最终得到了一列数据框 其中同一单词具有不同的文字 C RDOBA C RDOBA C RDOBA 我想将所有这些转换为CORDOBA 我试过做 t lt gsub O t igno
  • as.POSIXlt 忽略 tz 参数

    非常基本 只是不明白 tz 论点是为了什么 如果不是为了这个 dateIWantToConvert lt as Date 2013 06 01 the format of my starting object as POSIXlt date
  • 从 R 运行 XQuery 的方法

    我知道 R 中的 xml2 包可以对 XML 文档运行 XPath 查询 我想知道是否有一种方法 一个包 可以在XQuery https www w3 org TR xquery 来自 R 的语言 None
  • 与 Pandas DataFrame 列表列的比较

    我有一个像这样的数据框 df col1 col2 a 1 2 b 3 4 c 3 9 我想根据匹配的输入数组获取行 因此如果我有数组 1 2 我可以获得 col1 col2 a 1 2 当我尝试使用此公式执行此操作时 它不起作用 df lo
  • 将 10 个字母平均分配给 200 个字母

    我有 10 个字母 a b c d e f g hi j 和 200 个从 1 到 200 的数字 具有不同数量的实例 例如五个 1 三个 2 等总共 200 个数字 我想为每个数字分配一个字母 以便每个字母具有相同的频率 因此 在本例中

随机推荐

  • 在 gitlab CI/CD 中验证 gcloud 服务帐户

    我正在使用 gcloud service key json 从 gitlab ci yml 文件将服务部署到 gcloud 我收到这个错误 google cloud sdk bin gcloud auth activate service
  • 如何在 Application.Run(form1) 执行时隐藏 form1?

    我有一个运行的 form1Application Run 我想隐藏这个表单 我需要它隐藏 因为我在后台运行一些东西 所以它们必须执行 并打开另一个表单进行登录 我尝试的方法是在我的 form1 构造函数中执行命令this Hide 如果登录
  • 暴露 Firestore 中的项目 ID 是否存在安全漏洞?

    我在 Firestore 中有几个项目 当客户端在浏览器中访问每个项目时 我通过 URL 参数从 Firestore 传递项目的 id 例如http id 4ZDOiynoK25j2ikJlbZq访问其数据 即使我对数据库使用了一些安全规则
  • QML ListView 方法positionViewAtEnd() 的作用恰恰相反

    我要疯了 我在 ScrollView 中有一个 ListView 连接到继承 QAbstractListModel 的模型 当对象添加到模型中时 ListView 使用委托来显示它们 到目前为止 一切都很好 但我真的希望视图保持滚动到底部
  • 使用线程时的套接字问题

    闲暇时我一直在做一个python游戏 遇到了一个问题 我正在使用基本线程模块来处理套接字 当我使用一个客户端连接到服务器文件时 它工作正常 但更重要的是 在第一个之后的任何连接都会冻结服务器和第一个客户端 这是服务器的代码 import s
  • 如何在 Ansible 中从另一个角色中调用一个角色?

    我的剧本列出了角色列表 roles common postgres nginx supervisord role deploy app app name myapp role deploy app app name otherapp 我还有
  • 在 perl 中比较两个字符串,无论大小写如何

    无论如何 无论大小写如何 都可以比较两个字符串吗 例如 steve eq STevE lt these would match SHOE eq shoe 你明白了图片 是的 使用uc 大写函数 参见http perldoc perl org
  • 工具提示气球在 5 秒后消失

    我将属性 AutoPopDelay 设置为 60000 但每次我将鼠标悬停在关联元素上时 即使鼠标指针在元素上保持静止 气球也只会保持打开状态 5 秒 关于可能导致这种情况的原因有什么想法吗 编辑 我正在使用 WinForms 稍微使用一下
  • 像 SQLite 一样区分大小写和不区分大小写

    在 SQLite 中 可以使用以下命令更改 LIKE 区分大小写的行为 PRAGMA case sensitive like ON PRAGMA case sensitive like OFF 然而 在我的情况下 我想执行一个查询 其中一部
  • 如何将列表中的每个元素除以 int?

    我只想将列表中的每个元素除以一个 int myList 10 20 30 40 50 60 70 80 90 myInt 10 newList myList myInt 这是错误 TypeError unsupported operand
  • 为什么 Laravel 即使在本地环境也会重定向到 https?

    我正在开发 Laravel 5 5 版本 我有一个需要域才能执行的应用程序 这就是为什么 我在我的中添加了以下条目 etc hosts文件 以便我可以使用以下域打开我的应用程序仪表板 应用程序 dev or api application
  • Docker apache镜像,将日志存储在主机中?

    我使用 Docker 构建 Apache 映像 然后使用 docker compose 运行它 我设置了 Apache access log 和 error log 并希望将它们存储在容器外部 目前 我使用卷 但它将数据存储在容器和主机中
  • 添加触发器到转换

    如何在 Enterprise Architect 中的状态机转换的 属性 约束 触发器 区域添加触发器 报价是您在 EA 中手动到达那里的方式 我尝试过的 下面 这实际上导致触发器被添加到状态机 但我需要将其链接到特定的转换 多变的状态机属
  • Heroku 无法获取 /

    我是 Heroku 的新手 相信我正在按照 Heroku 网站上概述的所有步骤通过 node js 进行部署 https devcenter heroku com articles getting started with nodejs h
  • angular-file-saver 使用 FileSaver 下载 base64 文件

    我正在尝试使用 Angular file saver 下载一个 base64 文件 我可以在没有 Angular file saver 的情况下仅使用以下 html 标记来完成此操作 a target blank Download Sing
  • 在 Xpath 中使用 OR 条件来标识相同的元素

    我有这样的逻辑 首先单击 下一步 按钮获取当前页面的标题 再次获取标题 如果两个标题相同 则意味着导航尚未移动到下一页 则再次单击 下一步 但是 我的问题是标题元素的 Xpath 不同 相同的标题元素有两个 Xpath 一个是某些页面 另一
  • 模板复制构造函数

    给出以下代码 Foo 有复制构造函数吗 将 Foo 与 STL 容器一起使用安全吗 class Foo public Foo template
  • 为什么 g++ 4.0 版本的 map::erase(map:: iterator) 不返回迭代器?

    我正在将一个中型 C 项目从 Visual Studio 2005 移植到 MacOS XCode GCC 4 0 我刚刚偶然发现的差异之一与从地图中删除元素有关 在 Visual Studio 中 我可以擦除迭代器指定的元素 并将返回值分
  • 多个收件人的 SMIME 解密

    我打算用 JAVA 开发一个基于 SMIME 的应用程序 在某些领域 我需要对 SMIME 加密 解密进行更多说明 我了解在单个收件人的情况下如何对消息进行加密和解密 如果只有一个收件人 用于加密消息内容的随机生成的会话密钥 然后 该随机会
  • 如何从 R 中的列表列表中提取元素?

    我有一堆列表 其中包含列表 广义线性模型输出 我想编写一个函数 该函数将从每个列表中提取多个元素 然后将结果组合到数据框中 我想提取modelset 1 likelihood modelset 1 fixef modelset 2 like