2014-06-29 13 views
1

我想在spatstat上使用Kest函數的一些幫助。我正在計算我的模擬數據的de Ripley的K值。當我嘗試運行功能將R給我一些錯誤,上面寫着:在spatstat上Ripley的K函數上的錯誤

Error: 7 segments do not lie entirely inside the window.

但是,當我繪製地圖,所有的點完美展現觀察窗內。 我使用如下代碼:

library(spatstat) 
library(sp) 
library(maptools) 

pemt.area <- readShapePoly("Fragment/Fragment_SIRGAS.shp") 
pemt.area <- as(pemt.area, "owin") 
plot(pemt.area) 

tree.simu <- read.table("simulation.txt", h=T) 
tree.simu 
tree.simu.ppp<- ppp(x=tree.simu$X,y=tree.simu$Y,window=pemt.area) 
plot(tree.simu.ppp) 

ripley <- Kest(tree.simu.ppp, correction="isotropic", domain=pemt.area, var.approx=TRUE, ratio=TRUE) 
plot(ripley, main = "K function") 

我tryed查找的小插曲,但我對解決這個問題沒有成功。

以下鏈接包含數據文件。如果您需要別的東西,請告訴我:https://drive.google.com/folderview?id=0B_cWshGkkAzjbHBnemNuMzh1Q1k&usp=sharing

謝謝,我真的很感謝你的幫助!

+0

就像在@ carl-witthoft的回答中,我可以無誤地運行所有代碼。您能否提供有關R和spatstat的操作系統和版本的信息? PS:如果他們解決了你的問題,請記住接受答案(對不起,我不知何故錯過了這個答案被接受,但這個評論仍然回答你以前的問題,我試圖回答)。 –

回答

1

這與Kestppp無關。

請注意,該錯誤消息是關於而不是

這是spatstat函數psp的錯誤消息,它創建了線段的空間模式。該錯誤表示多邊形數據不符合要求。在致電readShapePolyas.owin時最有可能發生。要追蹤它,您可以在錯誤報告後立即鍵入traceback(),這將顯示錯誤發生的位置。

首先,更新所有軟件包將是明智之舉。

1

我無法重現您的問題。這是我生成的K圖。 Kfunc.jpg

在我的情況:OSX,R 3.1.0。我所能建議的是確保你的軟件包是最新的,並仔細檢查你使用的文件是否與鏈接中的文件相同。

+1

我相信早期版本的spatstat如果任何點位於窗口之外,將無法制作點圖案 - 但現在它只是給出警告和外部點數。可能的快速解決方法是擴大窗口,例如'BiggerWindow < - 擴大(pemt.area,100)'如果面積以米爲單位,則會產生100米的緩衝區。但請注意,這將改變邊緣校正和密度估計值 - 請謹慎使用。 –

相關問題