r - 自动克里格空间数据

标签 r ggplot2 spatial-interpolation automap

我正在尝试使用克里金函数创建海洋样带中化学参数的垂直 map ,但我很难开始。

我的数据是这样的:

horiz=rep(1:5, 5)
depth=runif(25)
value = horiz+runif(25)/5
df <- data.frame(horiz, depth, value)

automap 包中的 autoKrige 函数看起来应该为我完成这项工作,但它需要一个类 SpatialPointsDataFrame 的对象。据我所知,rgdal 包中的函数 spTransform 创建了 SpatialPointsDataFrame 对象,但存在两个问题:

  • aren't available 的 OSX 二进制文件来自 CRAN,而我在 OXS 10.7 上运行的 RStudio 副本似乎无法安装,并且

  • 此函数似乎适用于纬度/经度数据和校正地球曲率的距离值。由于我处理的是垂直平面(和短距离,数百米的比例),我不想修正我的距离。

在 R here 中对克里金法进行了精彩的讨论,但由于上面列出的问题,我不太明白如何将它应用于我的具体问题。

我想要一个矩阵或数据框来描述一个点网格,其中包含我的化学参数的插值,然后我可以绘制它(最好使用 ggplot2)。我怀疑我的问题的解决方案比我想象的要容易得多。

最佳答案

所以有几个问题你想回答:

  1. spTransform 函数不会创建 SPDF,但会在投影之间进行转换。要创建 SPDF,您可以使用简单的 data.frame 作为开始。将 df 转换为 SPDF:

    coordinates(df) = c("horiz", "depth")
    
  2. rgdal 的 OS X 二进制文件可以在 http://www.kyngchaos.com 找到.但我怀疑你是否需要 rgdal。

  3. spTransform 可以对经纬度数据进行操作,也可以对投影数据进行操作。但我认为您不需要 rgdal 或 spTransform,另请参见第 1 点。

  4. 使用第 1 点创建 SPDF 后,您可以使用 the info at the post you mentioned继续。

关于r - 自动克里格空间数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11018038/

相关文章:

通过子集删除列会引发一元无效参数错误

regex - 从向量中删除字符串

r - 更改 ggplot 上的 geom_bar 宽度

python - OpenCV 重映射插值错误?

r - 为 R 中的克里金法扩展我的插值网格

r - 如何使用 gstat 预测进行普通克里金法

javascript - 如何在 Shiny 的仪表板侧栏中手动展开子菜单

R:计算每列满足条件的次数并且行名出现在列表中

R错误 "could not find function ' multiplot'“使用Cookbook示例

python - 为什么 stat_density (R; ggplot2) 和 gaussian_kde (Python; scipy) 不同?