首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中使用gstat或automap包时重复数据

在R中使用gstat或automap包时重复数据
EN

Stack Overflow用户
提问于 2016-02-04 18:20:33
回答 3查看 806关注 0票数 1

我试图用普通的克里格来预测动物将发生的数据,使用R中的gstat或automap软件包,基于预测变量,我有许多(超过100个)重复的坐标点,这些坐标点我不能扔掉,因为这些站多年来多次取样。每次我为普通克里格运行下面的代码时,我都会得到一个LDL错误,这是由于重复点造成的。有人知道如何在不丢弃数据的情况下解决这个问题吗?我已经尝试过自动程序包中的代码,该程序包应该对副本进行更正,但我无法做到这一点。谢谢你的帮助!

代码语言:javascript
复制
coordinates(fish) <- ~ LONGITUDE+LATITUDE
x.range <- range(fish@coords[,1])
y.range <- range(fish@coords[,2])
grd <- expand.grid(x=seq(from=x.range[1], to=x.range[2], by=3), y=seq(from=y.range[1], to=y.range[2], by=3))
coordinates(grd) <- ~ x+y
plot(grd, pch=16, cex=.5)
gridded(grd) <- TRUE

library(gstat)
zerodist(fish) ###146 duplicate points
v <- variogram(log(WATER_TEMP) ~1, fish, na.rm=TRUE)
plot(v)
vgm()
f <- vgm(1, "Sph", 300, 0.5)
print(f)
v.fit <- fit.variogram(v,f)
plot(v, model=v.fit) ####In fit.variogram(v, d) : Warning: singular model in variogram fit

krg <- krige(log(WATER_TEMP) ~ 1, fish, grd, v.fit) 
## [using ordinary kriging]
##"chfactor.c", line 131: singular matrix in function LDLfactor()Error in predict.gstat(g, newdata = newdata, block = block, nsim = nsim,: LDLfactor

##automap code for correcting for duplicates
fish.dup = rbind(fish, fish[1,]) # Create duplicate
coordinates(fish.dup) = ~LONGITUDE + LATITUDE 
kr = autoKrige(WATER_TEMP, fish.dup, grd)
###Error in inherits(formula, "SpatialPointsDataFrame"):object 'WATER_TEMP' not found
###somehow my predictor variables are no longer available when in a Spatial Points Data Frame??
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-02-05 12:45:11

对于重复的观察,automap有一个非常简单的修正,那就是丢弃它们。因此,automap并没有真正解决您的问题。我看到了一些选择:

  • 扔掉重复的东西。
  • 稍微扰乱副本的坐标,使它们不再位于完全相同的位置上。
  • 使用时空克里格执行gstat

关于你的具体问题,请使你的例子可重复性。我能猜到的是,rbindfish对象并没有做你期望的事情.

票数 0
EN

Stack Overflow用户

发布于 2016-02-05 15:19:07

automap::autoKrige期望一个公式作为第一个参数,尝试

代码语言:javascript
复制
kr = autoKrige(WATER_TEMP~1, fish.dup, grd)
票数 1
EN

Stack Overflow用户

发布于 2016-03-02 13:35:27

或者,您可以使用函数jitterDupCoords of geoR包。https://cran.r-project.org/web/packages/geoR/geoR.pdf

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35208652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档