[英]How to use multiple extract methods for raster NA values
我对 r 和编码很陌生,我很感激任何帮助。
我有两个数据集:一个带有度数加热周的栅格对象(累积海面温度的遥感测量)。 一组坐标记录发生珊瑚白化的地方。
我已经使用以下raster::extract(mydata, coords, method="simple")
成功提取了每个坐标处的 DHW 值: raster::extract(mydata, coords, method="simple")
但是,有许多 NA 值。 我相信这是因为许多坐标靠近海岸并且主要占据填埋的像素。
我想使用methods="bilinear"
为 NA 单元插入值,为非 NA 单元插入methods="simple"
。 我希望输出是一个对象。
我写了以下函数:
if(is.na(dhw_raster[])){
raster::extract(dhw_raster, coords, method="bilinear")
} else {
raster::extract(dhw_raster, coords, method="simple")
}
}````
However, it returns only the method="simple" values, and this warning:
In if (is.na(dhw_raster[])) { :
the condition has length > 1 and only the first element will be used
Any advice would be great :)
你可能可以做这样的事情
x <- raster::extract(mydata, coords, method="simple")
y <- raster::extract(mydata, coords, method="bilinear")
现在用y
的值替换x
的缺失值(然后使用x
)
i <- is.na(x)
x[i] <- y[i]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.