将非矩形图划分为R中spatstat包中的子图

问题描述 投票:0回答:2

我的数据包含有关不同数字的子图及其相应的物种类型的信息(每个子图中超过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()函数,但它将我的情节划分为不相等的子图。有些是quadrat,有些是traingle等,我不想要。我希望所有的子图都是相同大小的样本(将它除以每行的并行)。你能指导我吗?

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

谢谢!

r plot subplot spatstat
2个回答
0
投票

你可以将情节画布分成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))

0
投票

这是关于spatstat包的问题。

您可以使用函数quantess将窗口划分为相等面积的图块。如果您希望切片边界为垂直线,并且您想要7个切片,请使用

B <- quantess(Window(p.patt), "x", 7)

其中p.patt是你的点模式。

© www.soinside.com 2019 - 2024. All rights reserved.