【R】行或列数目不同的两个数据框如何用rbind/cbind合并?

您所在的位置:网站首页 R语言中rbind 【R】行或列数目不同的两个数据框如何用rbind/cbind合并?

【R】行或列数目不同的两个数据框如何用rbind/cbind合并?

#【R】行或列数目不同的两个数据框如何用rbind/cbind合并?| 来源: 网络整理| 查看: 265

目录前言方法一: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