【问题标题】:how to convert a list of nx3 matrices into a list of spatial patterns如何将 nx3 矩阵列表转换为空间模式列表
【发布时间】:2020-01-15 08:56:53
【问题描述】:

我有一个包含 n x 3 矩阵的列表。其中第一列是 X 坐标,第二列是 Y 坐标,第三列是一个值(1 和 0)。如何遍历此列表以输出空间模式列表。

我尝试使用 as.ppp 和通用矩形窗口直接转换它。但是,输出是无限点,而不仅仅是 1 的位置

这是列表中的一个矩阵的示例: x坐标 y坐标值 [1,] 1 301 0 [2,] 1 302 0 [3,] 2 302 1 [4,] 1 303 0 [5,] 2 303 0 [6,] 3 303 0 [7,] 1 304 0 [8,] 2 304 0 [9,] 3 304 0

enter code here
```r
ww <- owin(c(0,640), c(0,640))
x=lapply(matrix,function(matrix) {as.ppp(matrix,ww)})

【问题讨论】:

    标签: r spatial spatstat


    【解决方案1】:

    您只需对矩阵进行子集化以仅保留第三列为 1 的行。我假设您调用的第一个变量 matrix 是矩阵列表。我将在下面将其称为matrixlist。如果单个 n x 3 矩阵被称为m,您会找到第 3 列为 1 的行,m[,3]==1。之后您只需要保留第 1 列和第 2 列。所有这些加起来就是:

    x = lapply(matrixlist, function(m) {as.ppp(m[m[,3]==1, 1:2], ww)})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-23
      • 2011-01-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多