2013-08-01 100 views
0

我收集了RISMed軟件包中的不同列表,並希望知道如何組合不同長度的列表,然後將它們轉換爲數據框。組合列表R 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 

列表#2考研的ID

[[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。

非常感謝,

羅曼

編輯: 這工作得很好,但在一段時間一文。 結果< - cbind(List1 [[2]],PubMedID = List2 [[2]])

該mapply函數不起作用,因爲它將不同的列表(例如名字)放入不同的變量中。 PubMedID進入一行但未列出。

+0

您的列表#2包含_only_ PubMed ID? –

+0

是的,你是對的。這是兩個表格之間的「通過」列表的連接。 – Romain

回答

0

聽起來好像你只想把cbind這兩個部分放在一起。

mapply(cbind, list1, PubMedID=list2) 

這連續地將這兩個列表的相應元素聯繫起來,產生一個數據幀列表。如果您想將它們放入一個大數據框中:

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

mapply(cbind,list1,PubMedID = list2)生成列表矩陣5 x 3(如果我使用三篇文章)。 – Romain