首页 > 解决方案 > 将非矩形图划分为 R 中 spatstat 包中的子图

问题描述

我的数据包含有关具有不同数量的子图及其相应物种类型(每个子图中超过 3 个物种)的信息。每个物种都有 X 和 Y 坐标。

> df
  subplot      species      X       Y
1       1     Apiaceae 268675 4487472
2       1  Ceyperaceae 268672 4487470
3       1     Vitaceae 268669 4487469
4       2  Ceyperaceae 268665 4487466
5       2     Apiaceae 268662 4487453
6       2 Magnoliaceae 268664 4487453
7       3 Magnoliaceae 268664 4487453
8       3     Apiaceae 268664 4487456
9       3     Vitaceae 268664 4487458

使用这些数据,我为一般图(大)窗口中每个子图的点创建了 ppp。

 grp <- factor(data$subplot)
 win <- ripras(data$X, data$Y)
 p.p <- ppp(data$X, data$Y, window = window, marks = grp)

现在我想将一个图分成相等的 3 x 3 子图,因为有 9 个子图。当我绘制时,遗传图不是矩形,看起来类似于 rombo 形状。

我可以使用如下所示的 quadrats() 函数,但它将我的情节划分为不相等的子情节。有些是样方,有些是我不想要的等。我希望所有的子图都是大小相等的样方(用平行于每一边的线来划分)。你能指导我吗?

 divide <-quadrats(p.patt,3,3)
 plot(divide)

谢谢!

标签: rplotsubplotspatstat

解决方案


你能把绘图画布分成 3x3,然后运行每个绘图吗?

> par(mfrow=c(3,3))
> # run code for plot 1
> # run code for plot 2
  ...
> # run code for plot 9

返回到画布类型上的一个绘图

> par(mfrow=c(1,1))

推荐阅读