如何在RStudio中计算给定宏观经济数据集的通胀率与失业率
RStudio 基于现有数据集计算通胀率与失业率的实现方法
基础计算口径说明
- 失业率(Unemployment Rate):计算公式为 失业人数(UEL) / 民用劳动力总量(CLF) * 100,单位为百分比
- 通胀率(Inflation Rate):采用宏观研究通用的月度同比口径,计算公式为 (当月CPI - 上年同月CPI) / 上年同月CPI * 100,单位为百分比
注:原始数据集仅1月、4月、7月、10月有CLF统计值,其余月份CLF为NA,直接计算会导致非节点月份失业率全部缺失,需先对CLF做适配性补全,这是处理季度频率劳动力数据的常规操作。
分步操作流程
- 导入本地数据集
替换成对应文件路径,执行读取代码:# 读取本地csv格式的数据集 df <- read.csv("你的数据文件存放路径.csv") - 安装并加载所需工具包(首次运行需先安装)
# 安装插值处理缺失值的工具包 install.packages("zoo") library(zoo) - 整理数据集顺序并补全CLF缺失值
先按年份、月份排序保证时间序列逻辑正确,再用线性插值补全非节点月份的CLF值:# 按年、月升序排列数据集 df <- df[order(df$Year, df$Months), ] # 对CLF做线性插值,得到月度连续的民用劳动力总量序列 df$CLF <- na.approx(df$CLF, na.rm = FALSE) - 计算失业率衍生变量
# 生成失业率字段 df$Unemployment_Rate <- (df$UEL / df$CLF) * 100 - 计算通胀率衍生变量
取滞后12期的CPI做同比计算,最早12个月的样本因为缺少上年同期CPI数据,通胀值为NA属于正常情况:# 生成同比通胀率字段 df$Inflation_Rate <- ((df$CPI - lag(df$CPI, n = 12)) / lag(df$CPI, n = 12)) * 100
结果校验与调整
- 执行以下代码查看计算后的数据集前10行,确认衍生变量正常生成:
head(df, 10) - 如果需要保留原始CLF的非节点月份NA状态,不需要保留插值补全的CLF值,可在计算完失业率后执行代码还原:
# 把非1/4/7/10月的CLF重新设为缺失值 df[!df$Months %in% c(1,4,7,10), "CLF"] <- NA - 校验逻辑:1948年1月的失业率计算值应为
2034 / 60230 *100 ≈ 3.38%,和手动计算结果匹配即说明计算流程无错误。
内容的提问来源于stack exchange,提问作者GattMola
相关产品推荐
相关产品推荐

