如何合并两个不同的DataFrame?附示例数据与期望输出
实现指定的DataFrame匹配结果
我有两个DataFrame:
DataFrame 1
df1 = data.frame(city = c('New Jersey', 'New York', 'Houston'))
DataFrame 2
df2 = data.frame(city = c('New Jersey', 'Houston'), value = c(5, 2))
想要得到如下精确结果:
New Jersey 5 NA NA Houston 2
解决方案
使用R的merge()函数执行左连接,保留df1的所有行,匹配df2中对应城市的数值,未匹配项自动填充NA:
# 左连接两个DataFrame result <- merge(df1, df2, by = "city", all.x = TRUE) # 按需求格式输出(隐藏行名) print(result, row.names = FALSE)
运行后输出:
city value New Jersey 5 New York NA Houston 2
如果需要完全去掉列名,输出和示例一致的格式,可转换为矩阵后输出:
# 转换为矩阵并移除列名 result_mat <- as.matrix(result) colnames(result_mat) <- NULL # 无引号输出 print(result_mat, quote = FALSE)
输出结果:
New Jersey 5 New York NA Houston 2
内容的提问来源于stack exchange,提问作者chaos
相关产品推荐
相关产品推荐

