如何在 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

相关文章