如何堆叠含列子集的数据集?R语言实操问询
在R中合并列数不同的数据框并填充NA
以下是几种实现需求的方法:
方法1:使用dplyr包的bind_rows()(推荐)
这是现代R中最便捷的方式,自动匹配列名并将缺失值填充为NA:
library(dplyr) df1 <- data.frame( x = c(1,2,3), y = c('a', 'b', 'c') ) df2 <- data.frame( x = c(4,5,6) ) df12 <- bind_rows(df1, df2)
方法2:使用plyr包的rbind.fill()
这是传统解决方案,同样能自动为缺失列填充NA:
library(plyr) df12 <- rbind.fill(df1, df2)
方法3:基础R手动处理
如果不想加载额外包,可以先给缺少列的数据框补充列再合并:
df1 <- data.frame( x = c(1,2,3), y = c('a', 'b', 'c') ) df2 <- data.frame( x = c(4,5,6) ) # 为df2添加缺失的y列并填充NA df2$y <- NA df12 <- rbind(df1, df2)
内容的提问来源于stack exchange,提问作者AdamO
相关产品推荐
相关产品推荐

