问题标签 [gstat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6396 浏览

r - 如何使用 R 中的 gstat 拟合带有半变异函数的模型?

我有一个 csv 文件文件,其中包含 3 月 1 日下午 12 点的大气 PM10 浓度数据。请下载。我想在 R 中使用 gstat 包绘制半变异函数。我尝试在 R 中编写这些代码。但是有了这些数据,我无法拟合模型。

实际上我是 R 和统计学的初学者。所以,我什至对变异函数也一无所知。我有一些疑问:

a)当我将数据绘制为半变异函数时,它看起来与典型的半变异函数不同!为什么会这样?我应该对我的数据做任何其他事情,比如转换吗?

b)我怎样才能用这些数据拟合模型?我尝试过不同的模型,如“Sph”、“Exp”,但它们看起来像线性的!为什么?

c)我如何理解我应该在vgm()函数中使用什么初始值?

d) 我如何理解该模型与数据正确匹配?

e)对于使用克里金法,我应该绘制什么样的半变异函数?只有全向半变异函数?或者我应该绘制方向半变异函数?

f)我如何解释半变异函数?我的意思是我实际上能理解半变异函数的数据吗?

提前致谢。

0 投票
1 回答
218 浏览

r - 问题是在 R 中投影 LON/LAT 数据

我有一个数据框,其中包含韩国首尔(首都)空气中 PM10 的浓度。请看一下。我想从这个数据集中绘制半变异函数。由于这里的 LAT/LON 数据是度数,所以我对这些数据进行了投影。我以这种方式预测数据:

投影后我得到了seoul311,如下所示

Q1:我发现投影后,LON/LAT 的值与之前的数据帧显示的值几乎相同。我的问题是这个proj4string(seoul311) = "+proj=longlat +datum=WGS84"命令的实际功能是什么。在这里,LON/LAT(degree) 转换为 km/m 或类似的东西?

我尝试使用 rgdal 包编写另一个代码,如下所示:

投影后我得到了seoul3112,如下所示

Q2。在这里,我可以看到 LON/LAT 值转换为某个较大的值!这些值的含义是什么?米/公里或类似的东西?在上面的代码中,北意味着什么?北半球?

Q3。正如我之前提到的,我想在韩国首尔(utm zone 52)绘制半变异函数。那么,我应该使用哪种投影规则?我应该考虑utm区吗?我什么时候应该考虑utm区?

我对投影数据有很多困惑。你能详细回答我的三个问题吗?

0 投票
1 回答
133 浏览

r - 在 R 中绘制变异函数时,z~1 和 z~LON+LAT 有什么区别?

从上面的以下代码和输出中,我可以发现log(zinc)~1log(zinc)~x+y返回 v 和 v1 的不同伽马值。这两种操作的基本区别是什么?

help(variogram)告诉我“定义响应向量和(可能的)回归量的公式,在没有回归量的情况下,使用例如 z~1;”。但是,我没有清楚地理解这句话!谁能详细告诉我应该何时使用z~1或何时使用z~LON+LAT

0 投票
1 回答
1629 浏览

r - 在 R 中进行克里金之前,我应该绘制哪种变异函数?

我有一个名为 seoul3112 的 csv 文件,其中包含 PM10 浓度。请下载。.我试图绘制样本变异函数并在其上拟合模型。

#分配一个CRS并重新投影

#绘制半变异函数

#模型拟合

写完这些代码后,我得到了一个像这样的半变异函数。

在此处输入图像描述

由于我是地统计学的新手,所以我很困惑我的上述变异函数是否适合我的数据集。因为,在典型的变异函数中,半方差值在门槛处变成水平的。但是这个变异函数是向上的!我应该在我的代码中做一些更正吗?

另一件事是,实际上我的最终目标是对我的数据集(seoul3112)进行克里金插值。我不明白,对于进行克里金,这个样本变异函数就足够了,还是我应该绘制方向变异函数或其他任何东西?谁能详细解释一下?

0 投票
1 回答
1192 浏览

r - 如何在 R 中有效地从单个数据集中绘制多个半变异函数?

我有一个名为 seoul1to7 的数据框,其中包含 2012 年 3 月 1 日至 3 月 7 日的每小时 PM10 浓度数据。请下载。在此数据集中,时间采用 yyyymmddhr 格式。例如,2012030101 表示 2012 年 3 月 1 日凌晨 1 点

数据看起来像:

我的最终目标是每小时绘制半变异函数。例如,对于 2012 年 3 月 1 日上午 1 点(2012030101),有 107 个 PM10 数据。我想绘制 2012030101 到 2012030723 的半变异函数(总共 7*24 半变异函数)。我在 R 中写了一些代码:

起初,我尝试通过函数制作我想要的(7 * 24)数据帧,subset()然后我想为每个数据帧绘制半变异函数。例如,我seoul311通过以下代码绘制了(对于 2012030101)的半变异函数:

但我知道我的代码效率很低!我正在写(7 * 24)次subset(seoul1to7, time==2012030101)这段代码。然后再次(7 * 24)次绘制半变异函数的代码!我认为这是非常不合适的方式。

那么,如何从我的数据集中非常有效地绘制这些(7*24)半变异函数seoul1to7(通过使用循环或任何其他函数)?如果您需要任何进一步的信息,请告诉我。

0 投票
1 回答
576 浏览

r - R Gstat 在网格上计算半变异函数

我已经使用gstat包生成了一个 3D 无条件正态分数模拟,现在想检查变异函数的再现。如何指定网格上变异函数的计算?

此时我收到如下错误

任何使用网格数据计算变异函数的指导或示例都值得赞赏(请注意,模拟需要一段时间才能运行,因为有 100 万个节点)

0 投票
1 回答
117 浏览

r - 在 R 中的栅格类中自定义反距离预测

我想修改以下代码,以便对于超出定义的最大距离的所有值,我可以使用属于同一土壤顺序类别的点的平均值。有什么建议吗?

在此处输入图像描述

0 投票
1 回答
522 浏览

r - R:变异函数拟合不佳,克里金结果不佳

我尝试在雅加达湾进行克里金法。我有一组具有适当坐标和属性(pH、盐度、...)的测量点

为了进行克里金法,我首先需要为我的变异函数找到一个模型。当我使用“变异函数”函数时,输出并不完美,但应该没问题,但是当我尝试拟合变异函数时,我收到一条警告消息:In fit.variogram(ph.vgm, model = vgm(0.12, " Sph", 0.1, 0.01)) :警告:变异函数拟合中的奇异模型,我有一个奇异模型。

在这里,我阅读了与变异函数计算相关的奇异模型。我可以做点什么让它变得更好吗?

我怎样才能更好地拟合我的变异函数?为什么我只能在测量点周围获得小圆圈?我想拥有带有预测值的完整地图。

我还尝试了更不灵活的“automap”库,我没有获得好的结果。

0 投票
0 回答
185 浏览

r - 本地克里金法在带有完整数据的“krigeST”中报告错误(“STFDF”)

我一直在使用包中的krigeST函数gstat,并尝试使用全套基于 SpatialPolygons 的数据 (STFDF) 进行本地克里金法。

当我尝试以下

问题似乎是在 krigeST.local 中,some_STFDF_with_SpatialPolygons_in_sp被强制转换为SFIDF. 在那里,有一个班级不允许的子集步骤SpatialPolygons,因为 中有重复的术语from@index[, 1]

我想尝试不可分离的时空变异函数,因此不使用局部克里金法并不是一个真正的选择。有解决此问题的方法吗?

谢谢。

0 投票
0 回答
60 浏览

gstat - 如何在半变异函数中找到窗台处的 DEM 高程值

由于半变异函数给出了 DEM 的半方差和滞后距离。我想知道使用五球面模型在什么 DEM 高度处,门槛值变平。