通过函数参数访问 R 列表元素

2024-04-19

我有一个 R 列表,如下所示

> str(prices)
List of 4
 $ ID   : int 102894616
 $ delay: int 8
 $ 47973      :List of 12
  ..$ id       : int 47973
  ..$ index        : int 2
  ..$ matched: num 5817
 $ 47972      :List of 12
..

显然,我可以通过例如访问任何元素价格$"47973"$id。

但是,我如何编写一个参数化对该列表的访问的函数?例如带有签名的访问函数:

access <- function(index1, index2) { .. }

可以如下使用:

> access("47973", "matched")
5817

这看起来很微不足道,但我无法编写这样的函数。感谢您的指点。


Using '[['代替'$'似乎有效:

prices <- list(
    `47973` = list( id = 1, matched = 2))

access <- function(index1, index2) prices[[index1]][[index2]]
access("47973","matched")

至于为什么这有效而不是:access <- function(index1, index2) prices$index1$index2(我认为这是你尝试过的?)这是因为这里index1 and index2不予评价。也就是说,它在列表中搜索名为的元素index1而不是这个对象的计算结果。

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

通过函数参数访问 R 列表元素 的相关文章

  • 如何在 k 均值中使用欧氏距离以外的不同距离公式

    我正在处理纬度经度数据 我必须根据两点之间的距离进行聚类 现在两个不同点之间的距离是 ACOS SIN lat1 SIN lat2 COS lat1 COS lat2 COS lon2 lon1 6371 我想在 R 中使用 k 均值 有什
  • geom_line:如何仅连接几个点

    我有这个数据框和这个图 df lt data frame Groupe rep c A B 4 Period gl 4 2 8 c t0 t1 t2 t3 t4 rate c 0 83 0 96 0 75 0 93 0 67 0 82 0
  • rpart 绘图文本较短

    我正在使用prp函数从rpart plot包来绘制一棵树 对于像状态这样的分类数据 它给出了一个非常长的变量列表 并且使其可读性较差 如果超过一定长度 有什么方法可以将文本换行为两行或更多行吗 这是一个将长分割标签包装在多个标签上的示例 线
  • R中向后历史搜索

    通常在我的机器中 我可以通过键入我想要向后搜索的命令的所需第一个字符来向后搜索 R 的历史记录 然后使用 PageUp 或 PageDown 键浏览 R 历史记录中的所有条目 我现在在远程集群中以访客身份工作 此选项在本机上不可用 有谁知道
  • 将 POSIXct 日期值更改为每周的第一天

    我想计算平均值Dist每周使用这些数据 如下 同时保留使用POSIXct时间课 df lt structure list IndID structure c 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L
  • 在 R 中使用 NA 计算栅格数据的变异函数

    Summary 我有一个包含 NA 值的栅格数据集 并且想要计算它的变异函数 忽略 NA 我怎样才能做到这一点 我有一个图像 已使用以下命令加载到 R 中readGDAL函数 存储为im 为了使其可重复 结果dput图像上可在https g
  • 在 R 中连接/匹配数据帧

    我有两个数据框 第一列有两列 x是水深 y是每个深度的温度 第二个也有两列 x也是水深 但与第一个表中的深度不同 第二栏z是盐度 我想通过以下方式连接两个表x 通过增加z到第一张桌子 我已经学会了如何使用 key 来连接表tidyr 但只有
  • 使用 dplyr 按行用以前的值填充缺失值

    我正在使用 R 中的一个数据框 该数据框跨行有一些缺失值 数据框是下一个 dput添加到最后 df id V1 V2 V3 V4 1 01 1 1 1 NA 2 02 2 1 NA NA 3 03 3 1 NA NA 4 04 4 1 2
  • 如何在闪亮的仪表板侧栏中手动展开子菜单

    我正在尝试手动展开闪亮仪表板侧边栏中的子菜单 这updateTabItems该功能仅适用于普通菜单 不适用于嵌套菜单 这是基本示例 修改自updateTabItems文档 来显示问题 如果我单击 切换选项卡 它会切换菜单 但不会展开具有子菜
  • 带尖括号 (<>) 的方法

    方法名称中是否可以有尖括号 例如 class Foo ind1 Int ind2 Int var v new Foo 1 2 v 1 3 updates ind1 v lt 1 gt 4 updates ind2 真实情况显然比这更复杂 我
  • 展平具有复杂嵌套结构的列表

    我有一个具有以下示例结构的列表 gt dput test structure list id 1 var1 2 var3 4 section1 structure list var1 1 var2 2 var3 3 Names c var1
  • for 循环语法,其中包含 if 语句

    使用 if 语句编写 for 循环的普遍共识是什么 for int i 0 i lt hi i if some invalid condition continue if another invalid condition continue
  • JAGS 中的柯西先验

    我正在使用 rJAGS 构建多级贝叶斯模型 并且我想为我的几个参数指定柯西先验 有没有办法在 JAGS 中做到这一点 或者我需要切换到 STAN 吗 我的 JAGS 模型如下 我想更换dnorm柯西分布 但 JAGS 找不到标准R柯西分布
  • 递归地更改R中嵌套列表中的名称

    我在 R 中的嵌套列表结构中有数据 我想使用查找表来更改名称 无论它们在结构中的位置 例子 build up an example x lt as list c a NA x 1 lt vector list 4 names x 1 lt
  • R data.table 计算行数,直到达到值

    我想在 data table 中返回一个新列 该列显示在达到低于当前值 Temp 的值之前有多少行 library data table set seed 123 DT lt data table Temp runif 10 0 20 这就
  • 用任意数量的空格分割字符串

    我有以下字符串 1 10012 CAB UNCH CAB 我想按间隙分割该字符串 但间隙的空格数量是可变的 有没有办法使用strsplit 函数来分割这个字符串并返回一个包含 8 个元素的向量 该向量已删除所有间隙 一行代码是首选 只需使用
  • R:函数中使用的 ggplot2 未反映字体大小变量的变化

    我经常需要将多个不同大小的相同 ggplot2 图表输出到 png 文件 通过使用输出高度和宽度 以像素为单位 的变量 可以轻松生成每个 png 文件的大小 对于 ggplot2 部分 我使用字体大小和某些其他元素的变量 并设置一个简单的循
  • R从列表中删除子列表中的项目[重复]

    这个问题在这里已经有答案了 我有一个清单 L lt c a b c d e 我还有这个列表的一个子集 L1 lt c b d e 我正在尝试创建一个不包含子集列表的新列表 我努力了 L L in L1 L L in L1 L L in L1
  • 根据另一个输入限制闪亮的应用程序输入

    我有一个基本的闪亮应用程序可以评估A B library shiny ui lt fluidPage numericInput inputId A label A value 5 step 1 sliderInput inputId B l
  • Rvest 从 select 中提取选项值和文本

    Rvest 选择选项 我认为用可重现的示例来解释是最简单的 网站 http www verema com vinos portada http www verema com vinos portada我想获取葡萄酒的类型 Tipos de

随机推荐