问题描述
在 this 数据集中有一个名为 data.frame
的 Emergencies
和名为 owin
的 Region
。使用这两个对象,可以使用以下代码创建类 ppp
的对象:-
data <- ppp(x = Emergencies$X,y = Emergencies$Y,window = Region)
我想做的是看看强度是否取决于紧急情况的工作量。突发事件的工作量在Emergencies$M
列。为此,我需要创建一个 tess
对象并使用 quadrat.test
函数来检验这个假设。
但我无法创建 tess
对象,因为它只会获取 im
、owin
和图块的对象。
有人可以帮我创建这个 tess
对象吗?
提前致谢。
解决方法
曲面细分是将空间划分为多个部分(瓷砖)。有在spatstat
包从其他数据构造的镶嵌许多工具(打开tess
,并按照下链接帮助请参见)。但是 .. 不清楚您想要什么曲面细分,或者您想要将哪些信息转换为曲面细分。
您说要使用 quadrat.test
。为什么?这将执行基于平方计数的卡方检验,因此零假设是每个瓷砖中紧急情况的强度是恒定的 - 这对我来说没有意义(无论您选择什么样的瓷砖),因为这些点似乎高度集中在区域中心。
感谢您附上您的数据。数据框 Emergencies
给出了空间位置 X,Y
以及另外两个量 M
和 T
的对应值。我假设数据框的每一行对应一个紧急情况(而不是,例如,一家医院或一辆救护车)。从你的描述目前还不清楚是否可变M
表示的(a)与该紧急情况下,或(b)在该紧急情况的时候一些系统的总工作负载相关联的工作负荷。
如果它的(一),那么你要对付的是一个标记点模式,其中每个点事件的位置被称为标记额外的信息增强。这个标记点图案应该由
创建Z <- ppp(Emergencies$X,Emergencies$Y,window=Region,marks=Emergencies[,c("M","T")])
或更懒惰
Z <- as.ppp(Emergencies,W=Region)
那么你想知道这个标记点图案的强度是否取决于标记M
的值。这是我将如何做到的。首先,扔掉 T
列:
ZM <- subset(Z,select=M)
现在将 M
的值分成五个波段(例如):
ZC <- cut(ZM,breaks=c(0,100,200,500,1000,Inf))
看看他们:
plot(ZC,cols=2:6)
plot(split(ZC))
坐标是大数。为了数值稳定性,让我们将它们重新调整为可管理的值:
ZCS <- shift(rescale(ZC,1000),origin="midpoint")
现在适合一些模型:
fit1 <- ppm(ZCS ~ marks * polynom(x,y,2))
fit0 <- ppm(ZCS ~ marks + polynom(x,2))
这两个模型声明强度是空间坐标的对数二次函数。完整的模型fit1
允许强度还取决于M
的值,而加性模型fit0
表示,强度不从依赖于M
的值开常数项(需要考虑每个频段中不同数量的紧急情况)。要查看拟合强度函数,请执行 plot(predict(fit1))
等。
然后我们可以简单地进行似然比检验:
anova(fit0,fit1,test="Chi")
输出给出了一个非常显着的测试结果,表明对于不同的 M
值,强度函数是不同的。
这不是您想要的平方计数卡方检验,但似然比检验是一种更强大的检验(从技术意义上讲)。