R中时间序列之间的空间自相关

时间:2017-05-22 03:00:54

标签: r statistics spatial correlation spdep

所以我在R中使用 spdep 包来执行此操作。我需要在其中使用localmoran函数来获得研究区域中的热点/冷点集群。

通过参考指南后,我开始工作了。

但由于数据是一个时间序列,现在我不太确定。我的数据是关于降雨的方式,在2006 - 2016年间在7个城市测量。

对于最简单的例子我可以想到我会缩小这个问题。 假设我有这个数据帧,我们称之为 test

           city1        city2        city3
day_1    1.09765      0.89634     37.09863
day_2   14.98641      0.97531      5.97451
day_3    1.97551     12.18713      7.97512

根据参考指南,我需要创建一个listw对象,我做了。

coord <- read_csv("myCSV.csv") #this is just a matrix of the x and y coordinates of the cities
coordinates(coord) <- ~ y + x
proj4string(coord) <- CRS("+init=epsg:4326")
mapview(coord)
as.data.frame(coord)

knn <- knearneigh(coord, k=2, longlat = NULL, RANN = TRUE)

nb <- knn2nb(knn, row.names = NULL, sym = TRUE)

listw <- nb2listw(nb, style="W")

localmoran函数至少接受2个参数,一个数字向量和一个listw对象。数字向量必须与listw对象的长度相同(在此缩小示例的情况下为3)。

我现在的问题是,因为它接受一个数字向量,所以我只能传递一行:

localmoran(as.numeric(test[1, ]), listw)

但这只考虑了时间序列中的第一天。我必须遍历数据以获取其他日子的localmoran索引,就像这样。

for(i in c(1:3)) {
  final <- as.data.frame(localmoran(as.numeric(test[i, ]), listw))
}

现在我将通过谈论参考指南中的示例来稍微离开。该示例仅采用一个数字向量,可能只是该变量的一个实例。但是由于我是在多个实例(天)被采取的,所以我偏离了这个例子,现在我既困惑又害怕。

再次通过谈论统计数据再次离开,因为我需要跨越整个时间跨度的localmoran的一个值,我如何将每天的localmoran值折叠成一个?平均?费舍尔的转型?等?

spdep 套餐是否会考虑时间?在R的某个地方是否有使用时间的包?

我很害怕。

感谢任何回复的人。

(请帮帮我)

0 个答案:

没有答案