第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

合并大量data.frames

合并大量data.frames

慕田峪9158850 2019-07-26 14:57:48
合并大量data.frames 例如data.frames: df1 = data.frame(id=c('1','73','2','10','43'),v1=c(1,2,3,4,5)) <br> df2 = data.frame(id=c('7','23','57','2','62','96'),v2=c(1,2,3,4,5,6)) <br> df3 = data.frame(id=c('23','62'),v3=c(1,2)) <br>注意:id每個data.frame都是唯一的。我希望得到的矩陣看起來像1      1 NA NA 2      3  4 NA 7      NA 1 NA 10     4 NA NA 23     NA 2  1 43     5 NA NA 57     NA 3 NA 62     NA 5  2 73     2 NA NA 96     NA 6 NA在這種情況下,我只顯示3個數(shù)據(jù)集,我實際上至少有22個數(shù)據(jù)集,所以最后我想要一個nx(22 + 1)矩陣,其中n是所有22個數(shù)據(jù)集的id數(shù)。 給定2個數(shù)據(jù)集,我需要ids在第一列中獲取它們,第二列和第三列用值填充,如果沒有值,則輸入NA。
查看完整描述

2 回答

?
小怪獸愛吃肉

TA貢獻1852條經(jīng)驗 獲得超1個贊

把它們放入一個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

您還可以使用這個更簡潔的版本:


Reduce(function(...) merge(..., all=TRUE), list(df1, df2, df3))


查看完整回答
反對 回復(fù) 2019-07-26
?
DIEA

TA貢獻1820條經(jīng)驗 獲得超2個贊

Reduce。對于這個簡單的例子,這相當(dāng)于merge(merge(df1, df2, by='id', all=T), df3, by='id', all=T)。很明顯,可以使用一個循環(huán),遍歷數(shù)據(jù)框 - 但這正是Reduce它的作用。

查看完整回答
反對 回復(fù) 2019-07-26
  • 2 回答
  • 0 關(guān)注
  • 598 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號