【问题标题】:Combine lists R RisMed different length组合列表 R RisMed 不同长度
【发布时间】:2013-08-02 18:00:02
【问题描述】:

我从 RISMed 包中收集了不同的列表,想知道如何组合成不同长度的列表,然后将它们转换为数据框。

列出 #1 的作者姓名:

[[1]] - First element of the list
  LastName  ForeName Initials order
1    Ellis   Peter M       PM     1
2    Verma     Sunil        S     2
3   Sehdev   Sandeep        S     3
4   Younus    Jawaid        J     4
5   Leighl Natasha B       NB     5

使用 PubMed ID 列出 #2

[[1]] - First element of the list
27998745

我设法通过 plyr 包的 ldply 函数将所有作者编译成一个数据集。但是,我想将它与 PubMed ID 合并。下面的例子:

  LastName  ForeName Initials order   PubMedID
1    Ellis   Peter M       PM     1   27998745
2    Verma     Sunil        S     2   27998745
3   Sehdev   Sandeep        S     3   27998745
4   Younus    Jawaid        J     4   27998745
5   Leighl Natasha B       NB     5   27998745

这对我拥有的所有约 5000 个 ID 都进行了。

非常感谢,

罗曼

编辑: 这很好用,但一次只能写一篇文章。 结果

mapply 函数不起作用,因为它将不同的列表(例如名字)放入不同的变量中。 PubMedID 进入一行但未列出。

【问题讨论】:

  • 您的列表 #2仅包含 PubMed ID?
  • 是的,你是对的。这是“通过”列表索引将两个表连接起来。

标签: r list


【解决方案1】:

听起来你只想cbind这两个部分在一起。

mapply(cbind, list1, PubMedID=list2)

这会依次绑定两个列表的对应元素,生成一个数据帧列表。如果您想将它们放入一个大数据框中:

rbind.fill(mapply(cbind, list1, PubMedID=list2))

【讨论】:

  • mapply(cbind, list1, PubMedID=list2) 生成一个 5 x 3 列表矩阵(如果我使用三篇文章)。
猜你喜欢
  • 1970-01-01
  • 2012-02-08
  • 1970-01-01
  • 2018-03-23
  • 2023-01-12
  • 1970-01-01
  • 1970-01-01
  • 2018-07-26
  • 2017-12-04
相关资源
最近更新 更多