You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言如何将多个含缺失值的不同数据框合并为全年份统一数据框

R语言实现方案

前置准备

首先构造覆盖完整时间范围的基准年份表,保证最终结果不会缺失1960-2019年的任意年份:

full_years <- data.frame(Year = 1960:2019)

把所有待合并的指标数据集存入列表,方便批量处理(示例里两个数据集分别命名为lnd_km_df、lnd_prcnt_df,有更多数据集直接追加到列表即可):

df_list <- list(lnd_km_df, lnd_prcnt_df)

tidyverse 简便实现

加载依赖包后用链式操作完成合并、补全、排序:

library(tidyverse)

BIG.DF <- df_list %>% 
  # 批量合并所有指标数据集,按年份匹配
  reduce(full_join, by = "Year") %>% 
  # 关联基准年份表补全所有缺失年份
  right_join(full_years, by = "Year") %>% 
  # 按年份降序排序,和示例展示顺序一致
  arrange(desc(Year))

base R 实现

无需额外安装依赖包的实现方式:

# 合并基准表与第一个指标数据集
BIG.DF <- merge(full_years, lnd_km_df, by = "Year", all.x = TRUE)
# 依次合并剩余所有指标数据集
BIG.DF <- merge(BIG.DF, lnd_prcnt_df, by = "Year", all.x = TRUE)
# 按年份降序排序
BIG.DF <- BIG.DF[order(-BIG.DF$Year), ]

结果导出说明

最终结果里无数据的位置默认是NA,如果需要导出为空白显示的文件,导出时设置空值参数即可,比如导出CSV:

write.csv(BIG.DF, "BIG_DF.csv", na = "", row.names = FALSE)

内容的提问来源于stack exchange,提问作者user15770147

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 20:06:07