2 回答

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊
把它們放入一個(gè)list,并使用merge與Reduce
Reduce(function(x, y) merge(x, y, all=TRUE), list(df1, df2, df3))
# id v1 v2 v3
# 1 1 1 NA NA
# 2 10 4 NA NA
# 3 2 3 4 NA
# 4 43 5 NA NA
# 5 73 2 NA NA
# 6 23 NA 2 1
# 7 57 NA 3 NA
# 8 62 NA 5 2
# 9 7 NA 1 NA
# 10 96 NA 6 NA
您還可以使用這個(gè)更簡(jiǎn)潔的版本:
Reduce(function(...) merge(..., all=TRUE), list(df1, df2, df3))

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超3個(gè)贊
為Reduce
。對(duì)于這個(gè)簡(jiǎn)單的例子,這相當(dāng)于merge(merge(df1, df2, by='id', all=T), df3, by='id', all=T)
。很明顯,可以使用一個(gè)循環(huán),遍歷數(shù)據(jù)框 - 但這正是Reduce
它的作用。
- 2 回答
- 0 關(guān)注
- 607 瀏覽
添加回答
舉報(bào)