如何在 R 中通过在空白处填充 NA 来合并两个数据框?\
r programmingserver side programmingprogramming更新于 2025/4/9 3:22:17
要通过在空白处填充 NA 来合并两个数据框,我们可以使用 plyr 包的 rbind_fill 函数。
例如,如果我们有两个数据框,即 DF1 和 DF2,它们有一些共同的列和一些不共同的列,那么我们可以使用下面给出的命令 − 来合并它们。
rbind.fill(DF1,DF2)
示例
以下代码片段创建了一个示例数据框 −
df1<-mtcars[1:20,c("mpg","hp","gear")] df1
输出
创建以下数据框 (df1) −
mpg hp gear Mazda RX4 21.0 110 4 Mazda RX4 Wag 21.0 110 4 Datsun 710 22.8 93 4 Hornet 4 Drive 21.4 110 3 Hornet Sportabout 18.7 175 3 Valiant 18.1 105 3 Duster 360 14.3 245 3 Merc 240D 24.4 62 4 Merc 230 22.8 95 4 Merc 280 19.2 123 4 Merc 280C 17.8 123 4 Merc 450SE 16.4 180 3 Merc 450SL 17.3 180 3 Merc 450SLC 15.2 180 3 Cadillac Fleetwood 10.4 205 3 Lincoln Continental 10.4 215 3 Chrysler Imperial 14.7 230 3 Fiat 128 32.4 66 4 Honda Civic 30.4 52 4 Toyota Corolla 33.9 65 4
以下代码片段创建了一个示例数据框 −
df2<-mtcars[21:32,c("mpg","disp","gear")] df2
创建了以下数据框 (df2) −
mpg disp gear Toyota Corona 21.5 120.1 3 Dodge Challenger 15.5 318.0 3 AMC Javelin 15.2 304.0 3 Camaro Z28 13.3 350.0 3 Pontiac Firebird 19.2 400.0 3 Fiat X1-9 27.3 79.0 4 Porsche 914-2 26.0 120.3 5 Lotus Europa 30.4 95.1 5 Ford Pantera L 15.8 351.0 5 Ferrari Dino 19.7 145.0 5 Maserati Bora 15.0 301.0 5 Volvo 142E 21.4 121.0 4
现在,为了加载 plyr 包并合并数据框 df1 和 df2,请将以下代码添加到上面的代码片段中 −
library(plyr) df<-rbind.fill(df1,df2) df
输出
如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −
mpg hp gear disp 1 21.0 110 4 NA 2 21.0 110 4 NA 3 22.8 93 4 NA 4 21.4 110 3 NA 5 18.7 175 3 NA 6 18.1 105 3 NA 7 14.3 245 3 NA 8 24.4 62 4 NA 9 22.8 95 4 NA 10 19.2 123 4 NA 11 17.8 123 4 NA 12 16.4 180 3 NA 13 17.3 180 3 NA 14 15.2 180 3 NA 15 10.4 205 3 NA 16 10.4 215 3 NA 17 14.7 230 3 NA 18 32.4 66 4 NA 19 30.4 52 4 NA 20 33.9 65 4 NA 21 21.5 NA 3 120.1 22 15.5 NA 3 318.0 23 15.2 NA 3 304.0 24 13.3 NA 3 350.0 25 19.2 NA 3 400.0 26 27.3 NA 4 79.0 27 26.0 NA 5 120.3 28 30.4 NA 5 95.1 29 15.8 NA 5 351.0 30 19.7 NA 5 145.0 31 15.0 NA 5 301.0 32 21.4 NA 4 121.0