2015-11-07 70 views
1

我有一个看起来像这样的数据帧:合并值r

ID1 Value1 ID2 Value2 ID3 Value3 
1 566771 1 566771 1 575619 
2 660608 2 660608 3 666272 
3 362294 4 362294 4 367169 

我希望它看起来像这样:

ID1 Value1 Value2 Value3 

如何合并,以便它得到与ID1匹配的ID对应的值?

谢谢。

回答

0

也许

names(df)[seq(1, ncol(df), by=2)] <- "ID" 
Reduce(function(...) merge(..., all.x=TRUE), lapply(seq(1, ncol(df), by=2), function(x) df[x:(x+1)])) 
# ID Value1 Value2 Value3 
# 1 1 566771 566771 575619 
# 2 2 660608 660608  NA 
# 3 3 362294  NA 666272