在嵌套列表中查找索引位置以进行匹配

2024-06-24

我想找到嵌套列表和目标值(11)的匹配索引。

Data:

f <- list(
  list(1, 2, 3),
  list(4, 5, list(8, list(11, 12)))
)

目标值 = 11 的所需输出:

c(2, 3, 2, 1)

Printed:

 f
[[1]]
[[1]][[1]]
[1] 1

[[1]][[2]]
[1] 2

[[1]][[3]]
[1] 3


[[2]]
[[2]][[1]]
[1] 4

[[2]][[2]]
[1] 5

[[2]][[3]]
[[2]][[3]][[1]]
[1] 8

[[2]][[3]][[2]]
--->>>  [[2]][[3]][[2]][[1]]  <<<----
-->>>> [1] 11 <<<----

[[2]][[3]][[2]][[2]]
[1] 12

我尝试过的:

与 匹配unlist(data), 寻找参数which()并展望arrInd().

我会避免在 R 中运行多个 for 循环。最好在 C、C++ 中执行所有循环……在自己实现之前,我想检查是否缺少某个函数。


你可以试试melt() from reshape2:

melted_lst <- reshape2::melt(f) 
melted_lst[sort(colnames(melted_lst))][melted_lst$value == 11, ]

  L1 L2 L3 L4 value
7  2  3  2  1    11

Or with melt() from data.table(正如@IceCreamToucan 提到的):

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

在嵌套列表中查找索引位置以进行匹配 的相关文章

  • `filter()` 输入 `..1` 出现问题。与闪亮的R

    我正在尝试构建一个闪亮的应用程序 根据用户条目过滤数据帧 但是 我正在努力使用我创建的函数来执行此任务 错误Problem with filter input 1 x Input 1 must be of size 9 or 1 not s
  • C# 按特定属性比较两个大型项目列表

    我有两个大的项目列表 其类如下所示 两个列表的类型相同 public class Items public string ItemID get set public int QuantitySold get set var oldList
  • 如何使用R在csv文件中按列添加数据?

    我有向量中包含的信息 例如 sequence1 lt seq 1 20 sequence2 lt seq 21 40 我想将该数据附加到文件中 所以我使用 write table sequence1 file test csv sep ap
  • Python 和 SQLite:插入表

    具有以下表架构 tablename name varchar 100 age int sex char 1 有一个list有 3 行 每行代表一个表行 row1 laks 444 M row2 kam 445 M row3 kam 445
  • Erlang 列出超过 8 的单个数字?

    以某种奇怪的方式所有的数字都结束了8 单个 在列表中变成某种 ASCII 8 gt b 请尝试帮助我解决这个问题 String http www erlang org doc reference manual data types html
  • 将数据帧的每一列乘以向量的相应值[重复]

    这个问题在这里已经有答案了 我有以下数据框和向量 dframe lt as data frame matrix 1 9 3 vector lt c 2 3 4 我想将每一列相乘dframe通过相应的值vector 这不会做 gt vecto
  • 将最新的 R 安装路径从注册表添加到 PATH windows 7/8/10

    嗨 我是 Windows 批处理新手 我想向打电话的同事分发一个 runMe bat 文件Rscript myRfile R处理一些数据文件 但众所周知 我的同事在不同地方安装了 R 我不能指望他们知道如何将 Rscript 添加到 PAT
  • 根据列表中项目内的部分字符串查找列表中的所有索引位置

    mylist aa123 bb2322 aa354 cc332 ab334 333aa 我需要包含的所有项目的索引位置 aa 我在合并时遇到问题enumerate 部分字符串匹配 我什至不确定是否应该使用枚举 我只需要返回索引位置 0 2
  • 按组连接/粘贴列并添加到原始数据

    我有一个名称数据框 名称 按 部门 分组 Dept Date Name 30 07 DEC 02 Raphaely 30 18 MAY 03 Khoo 40 07 JUN 02 Mavris 50 01 MAY 03 Kaufling 50
  • knitr pandoc:“无法使用 pdf writer 生成 pdf 输出”

    Up front using pandoc 在knitr中 当尝试将 md或 Rmd编译为PDF时 它会抱怨 我正在简化流程可重复的研究 正如许多地方所记录的那样 我在用着pandoc and knitr并制作出色的文档 我还试图为一些不太
  • R 绘制一些 unicode 字符,但不绘制其他字符

    我们的系统管理员刚刚将我们的操作系统升级到 SLES12SP1 我重新安装了 Rv3 2 3 并尝试绘图 我用cairo pdf并尝试绘制 x 标签为的图 u0298即太阳能符号 但它不起作用 标签只是空白 例如 cairo pdf Rpl
  • R 中的离散化

    有谁知道有一个包可以实现连续变量离散化的监督学习算法 dprep 包包含类似的功能 但该包已被弃用 有任何想法吗 感谢您的帮助 您仍然可以使用dprep包 但你必须从源代码安装它 我刚刚测试过 它运行良好 不过 您或许可以看看离散化 htt
  • 将整数转换为其 ascii 值的字符串

    给定一个数字number这样它的数字被分组为长度的部分n 默认值为n是3 其中每个组代表一些ascii值 我想转换number转换为这些 ASCII 字符的字符串 例如 n number Output 3 70 F 3 6506606606
  • R ggplot结合颜色图例和不同因子长度的填充

    我正在使用不完整因子设计的数据绘制图表 由于设计的原因 我的颜色手动比例和填充手动比例的长度不同 因此 我得到了两个传说 我怎样才能删除其中之一或者更好地将它们组合起来 我看过这些问题 合并单独的大小并填充 ggplot 中的图例 http
  • 在 R 中调用“boot”时没有数据

    我有一个包含很多列的数据框 第一列包含 系统 1 系统 2 等类别 第二列包含代表 0 和 1 的数字 请看下面 例如 SYSTEM Q1 Q2 S1 0 1 S1 1 0 S2 1 1 S2 0 0 S2 1 1 我在 R 中有这段代码来
  • 如何在 C# 中将二维数组转换为二维列表

    我有一个二维字符串数组 我想把它转换成 List
  • 没有适用于“filter_”的方法应用于类“c('double', 'numeric')”的对象

    使用下面的代码 我尝试过滤我的数据集 以便仅选择 CG less14 0 和 CG High14 0 的数据集 我收到错误 没有适用于 filter 的方法应用于 c double numeric 类的对象 我的代码有问题吗 married
  • 合并结果的行数多于一个数据框

    我有两个数据框 第一个包含 9994 行 第二个包含 60431 行 我想合并两个数据框 以便合并后的数据框包含两个数据框的组合列 但只包含 9994 行 但是 合并后我得到了超过 9994 行 我怎样才能确保这种情况不会发生 df1 re
  • 使用 R 中的剪切函数对缺失值进行 NA 级别[重复]

    这个问题在这里已经有答案了 R 中的 cut 函数省略了 NA 但我想要一个缺失值的级别 这是我的 MWE set seed 12345 Y lt c rnorm n 50 mean 500 sd 1 NA Y1 lt cut log Y
  • Solr Schemaless 模式将字段创建为多值

    我在无模式模式下使用 Solr 6 1 创建集合并对示例数据建立索引后 创建的字段均设置为 MultiValued true 唯一 id 除外 问题是当使用 SolrNet 查询这些数据时 它不会将结果正确映射到模型 查询结果以数组形式返回

随机推荐