展平列表并将列表键推送到第二级向量

2023-12-21

我想这很简单,但我似乎无法弄清楚。 我需要展平第二级结构并将列表名称/键推送到与其他向量处于同一级别的向量。目前的结构myList is

$ 13454:List of 30
  ..$ subjectId        : num 187
  ..$ procedureId      : num 3
  ..$ procedureSampleId: num 3
  ..$ timestamp        : chr "2017-04-21T17:15:10.911Z"
  ..$ n001             : num -999
  ..$ n002             : num -999
  ..$ gender           : num 1
  ..$ age              : num 18

 $ 13455:List of 30
  ..$ subjectId        : num 188
  ..$ procedureId      : num 3
  ..$ procedureSampleId: num 3
  ..$ timestamp        : chr "2017-04-21T17:15:10.913Z"
  ..$ n001             : num -999
  ..$ n002             : num -999      
  ..$ gender           : num -999
  ..$ age              : num 28

而这是我正在寻找的结构

 $ ID               : chr  '13455' '13455'
 $ subjectId        : num 187 188
 $ procedureId:     : num  3 3

等等

我试图通过以下方式实现这一目标:

  myList2 <- sapply(names(myList), function(y){
    y <- unlist(c('ID' = y, myList[[y]]), use.names = TRUE)
  })

但我最终得到了我需要的完全转置结果。我可以去t(myList2)但我想了解如何正确地做到这一点。谢谢你!

编辑:可重现的数据:

myList <- list('13454' = list('subjectId' = 187, 'procedureId' = 3, 'procedureSampleId' = 3, 'timestamp' = "2017-04-21T17:15:10.911Z", 'n001' = -999, 'n002' = -999, 'gender' = 1, 'age' = 18), '13455' = list('subjectId' = 188, 'procedureId' = 3, 'procedureSampleId' = 3, 'timestamp' = "2017-04-21T17:15:10.913Z", 'n001' = -999, 'n002' = -999, 'gender' = -999, 'age' = 28))

myList可以使用以下方法将其转换为 data.framelapply() and rbindlist()来自data.table包裹:

result <- data.table::rbindlist(lapply(myList, as.data.frame), idcol = "ID")
result[["ID"]] <- names(myList)
result
#      ID subjectId procedureId procedureSampleId                timestamp n001 n002 gender age
#1: 13454       187           3                 3 2017-04-21T17:15:10.911Z -999 -999      1  18
#2: 13455       188           3                 3 2017-04-21T17:15:10.913Z -999 -999   -999  28

Edit:这可以更加简化:

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

展平列表并将列表键推送到第二级向量 的相关文章

  • R 中的离散化

    有谁知道有一个包可以实现连续变量离散化的监督学习算法 dprep 包包含类似的功能 但该包已被弃用 有任何想法吗 感谢您的帮助 您仍然可以使用dprep包 但你必须从源代码安装它 我刚刚测试过 它运行良好 不过 您或许可以看看离散化 htt
  • 求R中3列中每一行的最大值

    我需要计算 3 列中每行的最大值 一个表可以是 x c 1 2 3 4 5 y c 2 3 3 1 1 z c 4 3 2 1 1 df lt data frame x y z 我需要得到 x y z max 1 1 2 4 4 2 2 3
  • R ggplot结合颜色图例和不同因子长度的填充

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

    我有一个美国邮政编码列表 我必须计算所有邮政编码点之间的距离 它是一个 6k 邮政编码长列表 每个实体都有邮政编码 城市 州 纬度 经度 面积和人口 所以 我必须计算所有点之间的距离 即 6000C2 组合 这是我的数据示例 我已经在 SA
  • 没有适用于“filter_”的方法应用于类“c('double', 'numeric')”的对象

    使用下面的代码 我尝试过滤我的数据集 以便仅选择 CG less14 0 和 CG High14 0 的数据集 我收到错误 没有适用于 filter 的方法应用于 c double numeric 类的对象 我的代码有问题吗 married
  • 有没有办法获取 JList 中的所有元素?

    我想知道是否有一种方法可以检索已添加到 JList 的所有元素的列表 例如 我希望 JList 从自定义单元格渲染器返回字符串或 JLabels 的数组或列表 您可以使用getModel http docs oracle com javas
  • 如何循环遍历列表中除最后一项之外的所有项? [复制]

    这个问题在这里已经有答案了 Using a for循环 如何循环遍历列表中除最后一项之外的所有项 我想遍历一个列表 检查每个项目与后面的项目 我可以在不使用索引的情况下做到这一点吗 for x in y 1 If y是一个生成器 那么上面的
  • 使用 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
  • 如何在其他脚本中包含(源)R 脚本

    我创建了一个实用程序 R 脚本 util R 我想从项目中的其他脚本中使用它 确保此脚本定义的函数可在我的其他脚本中运行的正确方法是什么 我正在寻找类似的东西require函数 仅在尚未加载的情况下加载包 我不想打电话source util
  • R 在列中按分隔符分割字符串

    我有一个包含几行的文件 例如 A B C awer ttp net Code 554 abcd ttp net Code 747 asdf ttp net Part 554 xyz ttp net Part 747 我想使用 R 仅拆分表的
  • 加入列表中除最后 x 之外的所有内容

    我有一个列表 想要加入除最后 2 个条目之外的所有条目 IE x 1 2 3 4 print join x from 0 until 3 那么输出将是1 2 我怎样才能做到这一点 Use slicing https docs python
  • 如何使用核心 R 操作/访问“dist”类实例的元素?

    R 中的基本 公共类称为 dist 并且是对称距离矩阵的相对有效的表示 不像一个 matrix 对象 但是 似乎不支持操纵 dist 使用索引对实例 操作员 例如 以下代码不返回任何内容 NULL 或出现错误 First create an
  • 每行和每列都有条件的随机值(0 和 1)[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 您好 我正在尝试在 R 中创建一个 600 行和 18 列的数据框 但是 每行 18 列中只能随机有 3 个 1 例如 A E F 列
  • 张量流:RStudio 中的 [NOT FOUND] 错误

    我尝试在中运行以下代码RStudio library tensorflow x data lt runif 100 min 0 max 1 y data lt x data 0 1 0 3 W lt tf Variable tf rando
  • 照片与 r 中的图形对齐

    首先我想我需要在powerpoint中手动完成它 然后我想如果有解决方案的话可以尝试使用R 这是我的示例数据 set seed 123 myd lt expand grid cat LETTERS 1 5 cond c F T phase
  • 将嵌套 for 循环转换为 R 中的并行循环

    下面您可以在 R 中找到一段代码 我想将其转换为使用多个 CPU 作为并行进程运行 我尝试使用foreach包 但并没有走得太远 考虑到我有 3 级嵌套循环 我找不到一个很好的例子如何让它工作 我们将非常感谢您的帮助 下面的代码示例 我做了
  • 如何在 R 中计算带有变量的表达式?

    我希望这段代码能够设置plt等于 10 gt var plt gt eval paste0 var lt 10 1 plt lt 10 但相反 它返回一个字符串 I tried eval as expression paste0 var l
  • 绘图中的文本错误 | Jupyter-R

    我正在尝试在通过 Anaconda 安装的 Jupyter 笔记本上使用 R 中的 ggplot2 绘制一个带有一些数据的简单散点图 以下是我使用的代码 ggplot data df1 1 1000 geom point mapping a
  • tmap 仅在 sf 几何列中绘制第一个多边形

    tmap 仅绘制 sf 几何列中的第一个多边形 但是plot 得到他们全部 一些 github 问题tmap https github com mtennekes tmap issues 360 and leaflet https gith
  • 如何引用基于 data.frame 中的变量的列表?

    我有一张简单的桌子emp id and job code 我想返回正确的payout基于job code 我已经用嵌套的 ifelse 来解决这个问题 但是如果我有更多怎么办job code s library dplyr set seed

随机推荐