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

如何将时间序列数据中1月行的年份列回退至前一年?

实现方案

你可以直接用dplyr的条件赋值完成需求,无需拆分数据再合并,一步到位:

library(dplyr)

# 调整1月份数据的年份归属
df_adjusted <- df %>%
  mutate(year = if_else(month == 1, year - 1, year))

代码说明

  • if_else(month == 1, year - 1, year):遍历每一行数据,当month为1时,将year值减1;其他月份保持原year值不变。这样就把当年1月的数据归到了前一年的统计范畴。

验证结果

可以通过以下代码确认调整是否正确:

# 查看原2001年1月数据调整后的年份
df_adjusted %>%
  filter(month == 1, year == 2000) %>%
  head()

# 对比调整前后1月数据的行数是否一致
nrow(df %>% filter(month == 1)) == nrow(df_adjusted %>% filter(month == 1))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 21:50:18