如何通过在 R 中的空白处填充 NA 来组合两个数据帧?
要通过在空的地方填充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