Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果R中存在另一个潜在的空间点模式,是否可以分析该空间点模式_R_Spatial_Spatstat - Fatal编程技术网

如果R中存在另一个潜在的空间点模式,是否可以分析该空间点模式

如果R中存在另一个潜在的空间点模式,是否可以分析该空间点模式,r,spatial,spatstat,R,Spatial,Spatstat,我想分析动物显示的空间模式类型(即随机、聚集、均匀),同时考虑其可用栖息地的潜在空间模式。有问题的动物栖息在树上,因此动物spp的标准分析将始终显示聚集分布(即围绕树木聚集),但我想测试树木之间是否存在聚集,以及它们是否随机分布在整个树木中。为了提供视觉效果,我希望能够在图像中区分以下场景: (不允许使用图像,因为我不熟悉堆栈溢出,但可以通过链接使用) 这是一个可复制的数据框。这里的场景是统一栖息地(25个栖息地区域)和统一动物(每个栖息地16只动物): 库(spatstat) 数据 可以根据到

我想分析动物显示的空间模式类型(即随机、聚集、均匀),同时考虑其可用栖息地的潜在空间模式。有问题的动物栖息在树上,因此动物spp的标准分析将始终显示聚集分布(即围绕树木聚集),但我想测试树木之间是否存在聚集,以及它们是否随机分布在整个树木中。为了提供视觉效果,我希望能够在图像中区分以下场景:

(不允许使用图像,因为我不熟悉堆栈溢出,但可以通过链接使用)

这是一个可复制的数据框。这里的场景是统一栖息地(25个栖息地区域)和统一动物(每个栖息地16只动物):

库(spatstat)
数据
可以根据到目标的距离对强度进行建模
生境格局。下面是一个简单的例子,动物遵循泊松分布
具有对数随距离线性衰减的强度函数的点过程
致生境:

habitat <- ppp(x = data$x, y = data$y, window = plot.win)
库(spatstat)
资料
#>估计S.E.CI95.lo CI95.hi Ztest Zval
#>(截距)2.952048 0.07265533 2.809646 3.094450***40.63085
#>d-1.974381 0.07055831-2.112673-1.836089***-27.98226
考虑到潜在的非均匀强度 没有迹象表明该模型偏离了泊松模型 (非齐次)K函数:

绘图(Kinhom(动物,lambda=fit))
#>警告:当lambda是ppm对象时,Kinhom的行为已更改
#>(在spatstat 1.37-0及更高版本中)。请参阅帮助(Kinhom)


你不必对距离有简单的对数线性依赖关系。您还可以制作一个阈值模型,其中一个强度与栖息地的距离1相同,另一个强度在该距离之外。您可以从模型中使用的距离等衍生出各种协变量。

如果
动物
是动物的点模式,
是树的点模式(spatstat中的两个“ppp”类对象),则您可以

d <- distfun(trees)
f <- rhohat(animals, d)
plot(f)
对树的依赖性进行假设检验

habitat <- ppp(x = data$x, y = data$y, window = plot.win)
data <-data[which(data$animalcount>0),]
duplicate_rows <- function(habitat, x, y, animalcount) {
  expanded <- paste0("animal-", 1:animalcount)
  repeated_rows <- data.frame("habitat" = habitat, "x" = x, "y" = y, "animalcount" = expanded)
  repeated_rows
}
expanded_rows <- Map(f = duplicate_rows, data$habitat, data$x, data$y, data$animalcount)
animal_data <- do.call(rbind, expanded_rows)
animal_data$xan <- jitter(animal_data$x)
animal_data$yan <- jitter(animal_data$y)

animal <- ppp(x = animal_data$xan, y = animal_data$yan, window = plot.win)
an.csr <- envelope(animal, Kest, nsims = nS, savepatterns = TRUE, r = seq(0, ed, incr.dist), correction=c("Ripley"), verbose = FALSE) #CSR fit and determine the number of simulations
an.dclf <- dclf.test(an.csr, rinterval = c(0,cd), verbose = FALSE) #calculate the summary statistics of the CSR null model fit (dclf.test)
plot(an.csr, sqrt(./pi)-r~r, ylab="L(r)-r", xlab="r (meters)", xlim=c(0,ed), legend="NULL", main=paste("Animal - CSR", sep = "")) #plot 0-centered fit with the confidence bounds 
clarkevans(animal)[2] #R > 1 suggests ordering, < 1 suggests clustering
clarkevans.test(animal, "Donnelly")$p
an.csr <- envelope(animal, covariates = animal_data[,2:3], Kest, nsims = nS, savepatterns = TRUE, r = seq(0, ed, incr.dist), correction=c("Ripley"), verbose = FALSE)
an.dclf <- dclf.test(an.csr, rinterval = c(0,cd), verbose = FALSE) 
plot(an.csr, sqrt(./pi)-r~r, ylab="L(r)-r", xlab="r (meters)", xlim=c(0,ed), legend="NULL", main=paste("Animal - CSR", sep = "")) 
clarkevans(animal)[2] 
clarkevans.test(animal, "Donnelly")$p
animalppm<-ppm(animal~x+y)
an.csr <- envelope(animalppm, Kest, nsims = nS, savepatterns = TRUE, r = seq(0, ed, incr.dist), correction=c("Ripley"), verbose = FALSE) 
an.dclf <- dclf.test(an.csr, rinterval = c(0,cd), verbose = FALSE) 
plot(an.csr, sqrt(./pi)-r~r, ylab="L(r)-r", xlab="r (meters)", xlim=c(0,ed), legend="NULL", main=paste("Animal - CSR", sep = "")) 
clarkevans(animalppm)[2] #R > 1 suggests ordering, < 1 suggests clustering
clarkevans.test(animalppm, "Donnelly")$p
d <- distfun(trees)
f <- rhohat(animals, d)
plot(f)
berman.test(animals, d)