我正在尝试使用克里金函数创建海洋样带中化学参数的垂直 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)。我怀疑我的问题的解决方案比我想象的要容易得多。
最佳答案
所以有几个问题你想回答:
spTransform
函数不会创建 SPDF,但会在投影之间进行转换。要创建 SPDF,您可以使用简单的data.frame
作为开始。将df
转换为 SPDF:coordinates(df) = c("horiz", "depth")
rgdal
的 OS X 二进制文件可以在 http://www.kyngchaos.com 找到.但我怀疑你是否需要 rgdal。spTransform
可以对经纬度数据进行操作,也可以对投影数据进行操作。但我认为您不需要 rgdal 或spTransform
,另请参见第 1 点。使用第 1 点创建 SPDF 后,您可以使用 the info at the post you mentioned继续。
关于r - 自动克里格空间数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11018038/