如何解决使用光栅化功能时遇到问题
我在R中是个新手,所以希望大家能在这一步中为我提供帮助,因为我很执迷。
我有一张桌子,上面有监测点(坐标)和每个监测点的水质指数。我正在尝试使用rasterize函数从此表创建一个栅格:
rasterize(x,raster,field,fun=mean,backgroud=0,update=TRUE)
x = 带有坐标的数据框
raster = 是根据参考栅格中的范围,nrows,ncols等创建的。
field = 是使用水质指数数据创建的向量。每个值都属于x表的一个点。
fun = mean = 我需要同一单元格中所有点的均值。
background = 0 来完成没有字段值的单元格。
update = TRUE ,因此单元格中的值将使用矢量值进行更新
运行此命令后,我得到了一个地图,该地图的扩展名是rigth,但没有数据(全为空白),还有下一个摘要(有时我得到的是NA或2而不是5,不知道为什么):>
Min. 5
1st Qu. 5
Median 5
3rd Qu. 5
Max. 5
NA's 215695154
我认为问题出在函数上,但是我不确定。我尝试如下更改功能,但结果相同。
na.rm=mean(na.omit(v))
raster.wq=rasterize(xy,v,fun=function(v,na.rm)mean(v),update=TRUE)
非常感谢您。 干杯。
解决方法
下次包含 minimal reproducible exampe。但是,您必须在函数中包含 ...
参数,如 rasterize
文档中所述:
如果 x 表示点,则 fun 必须接受 na.rm 参数,无论是显式还是通过“点”。
所以你可以这样做:
library(raster)
#generate data
r <- raster(ncols=36,nrows=18)
n <- 1000
set.seed(123)
x <- runif(n) * 360 - 180
y <- runif(n) * 180 - 90
z <- sample(1:1000,n)
xy <- cbind(x,y)
#rasterize
s <- rasterize(xy,r,z,fun=function(x,...)mean(x,na.rm=T),backgroud=0,update=TRUE)
plot(s)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。