R语言raster包extract函数参数大小写变更问题咨询
问题解答:raster包extract函数参数大小写变更原因
- 确实是版本更新导致的参数名变化。raster包在3.0.0版本的重大更新中,将
extract()函数的聚合函数参数从小写的fun改为了大写的Fun。 - 旧版本(3.0.0之前)的
extract()使用fun指定聚合函数(比如mean),但3.0.0及以后的版本中,这个参数名正式改为Fun,如果继续传fun会被视为无效参数,导致脚本报错。 - 如果你需要兼容新旧版本,可以通过以下方式处理:
- 检查当前raster包版本:
packageVersion("raster") - 条件判断参数名:
if (packageVersion("raster") >= "3.0.0") { extract(subset, countries, Fun = mean, na.rm = TRUE) } else { extract(subset, countries, fun = mean, na.rm = TRUE) }
- 检查当前raster包版本:
- 建议直接统一使用新版本的
Fun参数名,同时更新脚本中所有相关调用,避免后续版本兼容问题。
内容的提问来源于stack exchange,提问作者Felipe Marín Rivera
相关产品推荐
相关产品推荐

