大家好,我正在使用 R 中具有相同变量名称的数据框列表。接下来是列表的结构,我只包含五个元素以使其可重现,但列表中可以包含 20 多个元素:
list
$a1
ID G
00001 A
00002 A
00003 B
00004 C
00005 D
00006 A
$a2
ID G
00001 A
00002 A
00003 B
00004 C
00005 D
00006 A
00007 A
$a3
ID G
00001 A
00002 A
00003 B
00004 C
00005 D
00006 A
00007 A
00008 B
$a4
ID G
00001 A
00002 A
00003 B
00004 C
00005 D
00006 A
00007 A
00008 B
00009 C
$a5
ID G
00001 A
00002 A
00003 B
00004 C
00005 D
00006 A
00007 A
00008 B
00009 C
00010 D
其中元素的名称是a1
、a2
、a3
和。当我合并所有元素时,我的问题就开始了,因为我无法确定合并变量之间的差异。例如,我申请下一个代码来合并它:
我得到了这个a4
a5
list
Merged=Reduce(function(x, y) merge(x, y,all.x=T,by=1),list)
Merged
ID G.x G.y G.x G.y G
00001 A A A A A
00002 A A A A A
00003 B B B B B
00004 C C C C C
00005 D D D D D
00006 A A A A A
这个警告:
Warnings:
1: In merge.data.frame(x, y, all.x = T, by = 1) :
column names ‘G.x’, ‘G.y’ are duplicated in the result
2: In merge.data.frame(x, y, all.x = T, by = 1) :
column names ‘G.x’, ‘G.y’ are duplicated in the result
合并很好,但我无法区分合并变量,因为它们具有相同的名称。我想区分它们,例如第一个g.x
是 group from a1
,第一个g.y
是 group from a2
,第二个g.x
是 group from a3
,第二个g.y
是 group froma4
和g
是 group from a5
。考虑到它的来源,我想有所不同g
,我想要这样的结构:
ID G.1 G.2 G.3 G.4 G.5
00001 A A A A A
00002 A A A A A
00003 B B B B B
00004 C C C C C
00005 D D D D D
00006 A A A A A
很明显,我可以与每个数据框不同,G
或者至少我想要一些我可以做出这种改变的东西。谢谢你的帮助。