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

复现气候研究R代码时prism包报'exdir'不存在错误求助

解决PRISM包解压报错:'exdir' does not exist

问题原因

你调用get_prism_dailys时设置了keepZip=FALSE,这个参数会触发包自动下载并解压PRISM数据,但prism_set_dl_dir指定的目标目录(paste0(dir$prism,"/daily/",var))如果不存在,PRISM包不会自动创建该目录,导致内部调用的解压函数找不到目标路径而报错。

修复方案

在设置PRISM下载目录前,手动创建对应的多级目录,使用dir.create()并添加recursive=TRUE参数确保父目录不存在时也能逐层创建:

修改后的代码:

lapply(c("tmin","tmax"), function(var){
  print(var)
  
  # 提前创建目标目录,recursive=TRUE支持多级目录创建
  target_dir <- paste0(dir$prism,"/daily/",var)
  dir.create(target_dir, recursive = TRUE, showWarnings = FALSE)
  
  # 设置PRISM下载目录
  prism_set_dl_dir(target_dir)
  
  # 下载并解压文件
  get_prism_dailys(type = var, minDate = "1981-01-01", maxDate = "2020-12-31", keepZip=FALSE)
})

补充说明

  • showWarnings=FALSE用于避免目录已存在时弹出警告,不影响核心功能;
  • 请确认dir$prism是一个已存在的有效路径,否则父目录创建失败仍会导致报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 20:35:37