假设我有 2004-2016 年期间在四个气象站采集的降雨数据。我将数据输入数据库以在 R 中检索。我的目标是获取该时期每一天的数据,并反复使用这些值进行克里格法。
所以现在我的数据看起来像这样,每一行对应一个点,按顺序排列的列是:lat、long 和雨量数据。
我遵循了本教程:https ://rpubs.com/nabilabd/118172 ,以帮助我入门。所以这是我到目前为止的代码:
day_1 <- dbGetQuery(con, "SELECT lat, long, rainfall_data FROM schema.sample")
coordinates(day_1) <- ~lat+long
day_1.vgm <- variogram(rainfall_data~1, day_1)...
我的问题从最后一段代码开始,每次我运行它时,我得到的只是一个空(空)结果(如在 RStudio 中看到的)。我什至无法进入下一步,即:
day_1.fit <- fit.variogram(day_1.vgm, model=vgm(1, "Sph", 900, 1))
因为当我这样做时,它会引发一个错误,内容如下:
fit.variogram(day1.vgm, model = vgm(1, "Sph", 900, 1)) 中的错误:对象应属于 gstatVariogram 或 variogramCloud 类
我知道数据集非常缺乏,只有 4 分,我知道这会导致一些非常糟糕的结果,但它是我得到的,所以我坚持使用它。但无论数据集大小如何,这都应该有效,除非我遗漏了什么。
如果我的 Java 水平一般,那么 R 对我来说是一门完全陌生的语言(尽管并非不可能学习),而统计学远非我的技能清单(我是 IT 人员而不是统计学家)。
我做错了什么,谁能给我指路?请帮忙。谢谢。
编辑:数据如下所示:
lat long rainfall_data
7.16 124.21 0.25
8.6 123.35 1
8.43 124.28 125.6
8.15 125.08 4.3