【问题标题】:Spatial contiguity: Coding Queen Contiguity for a dummy variable in R空间连续性:在 R 中为虚拟变量编码 Queen Contiguity
【发布时间】:2014-07-30 11:49:26
【问题描述】:

我有以网格为基本单位的空间时间序列数据。我现在需要为连续网格中发生的事件(由虚拟对象表示)创建一个年度度量。

例如,在这里,根据皇后邻接规则,该值将是 1/8=0,125。

0 0 1
0 x 0
0 0 0

我有 ID 变量、坐标以及数据中每个网格的行号和列号,但我不知道如何计算我的度量。

【问题讨论】:

  • 说实话,我发现的关于这个问题的信息很少,因此,甚至没有起点。我已经尝试使用 GeoDa 进行此操作,但是,您可以为皇后邻接创建的空间权重矩阵只是基于邻接的 - 并且不允许取决于相邻网格中的变量值。其次,我尝试使用多个插件在 Stata 中创建空间权重矩阵,但结果会超过 Stata 的最大矩阵大小 11000。因此,我切换到 R 来创建一个变量捕获空间滞后并在 Stata 中使用它。
  • 如果您编写一些代码来模拟您正在使用的数据类型,那将非常有帮助。数据是否非常稀疏(与网格大小相比事件很少)?另外,您需要计算网格中每个点的连续性,还是只计算几个点?
  • 数据基于 PRIO Grid 数据集,涉及撒哈拉以南非洲地区(见file.prio.no/ReplicationData/PRIO-GRID/…)。对于每个多边形,数据中有 20 年,总计大约 130000 个观测值(即 6500 个网格)。我对相对有限的冲突发生感兴趣。我不关心网格中每个点的连续性,只关心直接连续的网格,如上面的示例所示(x 是我感兴趣的观察结果,必须计算它的“空间滞后”变量对于数据中的每个年度网格)。
  • 空间滞后不是已经包含在PRIO-GRID数据集中作为'conflag1'了吗?尽管此滞后仅包括同一国家/地区内的连续小区。否则this 可能会提供一些指导。
  • 谢谢你——第二部分看起来非常有帮助。 PRIO-GRID 数据集包括一个 conflag 变量(甚至更高阶),但这对我没有帮助,因为我编写了自己的、空间上更受限制的指标。

标签: r time-series spatial


【解决方案1】:

如果您正在处理栅格数据,您可以使用raster 包计算焦点统计数据。

例如:

library(raster)

# Create fake binary data
r <- raster(matrix(rbinom(100, 1, 0.2), 10))

# Focal mean of the (binary) values of the 8-cell (fewer at grid's edges)
#  neighbourhood of each cell.
r_focal <- focal(r, matrix(c(1, 1, 1, 1, 0, 1, 1, 1, 1), 3), mean, 
                 pad=TRUE, na.rm=TRUE)

输入输出如下:

plot(stack(r, r_focal), axes=FALSE, main='')

更多详情请见?focal

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-02
    • 1970-01-01
    • 2014-07-31
    • 1970-01-01
    • 2015-08-02
    • 1970-01-01
    • 2017-01-08
    相关资源
    最近更新 更多