如何将 nx3 矩阵列表转换为空间模式列表

how to convert a list of nx3 matrices into a list of spatial patterns

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

我尝试使用 as.ppp 和通用矩形 window 直接转换它。但是,输出是无限点,而不仅仅是 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)})

您只需要对矩阵进行子集化以仅保留第三列为 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)})