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

如何基于Zajci地区PM10月度数据创建2017年5月前后的虚拟变量

解决虚拟变量创建问题

你的代码在处理yearmonth类型的索引时,使用mdy()转换属于多余操作且会引发错误。直接利用yearmonth类型的比较特性就能快速创建符合需求的虚拟变量,以下是修正后的代码:

# 读取并处理数据(保留原有步骤)
ZAQ <- read_excel("rmit/FQA/ZAQ.xlsx", col_types = c("date", "numeric", "numeric")) 
ZAQ <- ZAQ |> 
  mutate(date = date(Day)) |> 
  mutate(month = yearmonth(Day)) |> 
  mutate(year = year(Day))
ZAQ1 <- aggregate(Pm10 ~ month + year, ZAQ, mean)
ZAQ2 <- as_tsibble(ZAQ1, index = month)

# 创建虚拟变量:2017年5月之前取值为0,之后取值为1
# 若需将2017年5月归为0,只需把>=替换为>
ZAQ2 <- ZAQ2 |> 
  mutate(data_trat = as.numeric(month >= yearmonth("2017-05")))

关键说明:

  • yearmonth("2017-05")生成与数据中month列类型一致的年月索引,可直接用于比较
  • 逻辑表达式month >= yearmonth("2017-05")返回TRUE/FALSE,通过as.numeric()转换后即可得到1/0格式的虚拟变量

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 22:44:55