【R】行或列数目不同的两个数据框如何用rbind/cbind合并? |
您所在的位置:网站首页 › R语言中rbind › 【R】行或列数目不同的两个数据框如何用rbind/cbind合并? |
目录前言方法一:dplyr的bind_rows方法二:plyr的rbind.fill
前言
通常我们用rbind和cbind合并相同行列的数据框。当两个数据框具有不同行列数目时,直接用会报错。 > df1 df2 rbind(df1,df2) Error in match.names(clabs, names(xi)) : 名字同原来已有的名字不相对rbind/cbind对于行列名称一定要相同,顺序可不同,例如: > df1 df2 rbind(df1,df2) b a 1 1 6 2 2 7 3 3 8 4 4 9 5 5 10 6 16 11 7 17 12 8 18 13 9 19 14 10 20 15那么怎么强行合并,即相同部分合并,不同部分用NA取代? 方法一:dplyr的bind_rows > df1 df2 dplyr::bind_rows(df1, df2) b a c 1 1 6 2 2 7 3 3 8 4 4 9 5 5 10 6 16 11 A 7 17 12 B 8 18 13 C 9 19 14 D 10 20 15 E 方法二:plyr的rbind.fill > plyr::rbind.fill(df1,df2) b a c 1 1 6 2 2 7 3 3 8 4 4 9 5 5 10 6 16 11 A 7 17 12 B 8 18 13 C 9 19 14 D 10 20 15 E可以看到,行列名可以不同,顺序和rbind一样,无关紧要。但最好还是相同顺序吧。 https://stackoverflow.com/questions/3402371/combine-two-data-frames-by-rows-rbind-when-they-have-different-sets-of-columns 本文来自博客园,作者:生物信息与育种,转载请注明原文链接:https://www.cnblogs.com/miyuanbiotech/p/14746075.html。若要及时了解动态信息,请关注同名微信公众号:生物信息与育种。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |