簡體   English   中英

R - spatstat:計算新點的密度

[英]R - spatstat: Calculate density for a new point

是否可以使用spatstat來估計給定ppp object 的強度 function 並考慮新點計算其值? 例如,我可以在new_point評估D嗎:

# packages
library(spatstat)

# define a random point within Window(swedishpines)
new_point <- ppp(x = 45, y = 45, window = Window(swedishpines))

# estimate density
(D <- density(swedishpines))
#> real-valued pixel image
#> 128 x 128 pixel array (ny, nx)
#> enclosing rectangle: [0, 96] x [0, 100] units (one unit = 0.1 metres)

代表 package (v1.0.0) 於 2021 年 3 月 30 日創建

我在想也許我可以superimpose()兩個ppp對象(即swedishpinesnew_point ),然后at = "points"weights = c(rep(1, points(swedishpines)), 0)處運行density設置,但我'我不確定這是否是建議的方法(我不確定在估計過程中是否忽略了附加點)。

我知道這聽起來像是一個微不足道的問題,但我閱讀了一些文檔並沒有找到答案或解決方案。

有兩種方法可以做到這一點。

第一種是簡單地獲取強度的像素圖像,並使用[提取所需位置的像素值:

D <- density(swedishpines)
v <- D[new_points]

請參閱density.ppp[.im的幫助。

另一種方法是使用densityfun

f <- densityfun(swedishpines)
v <- f(new_points)

請參閱densityfun.ppp的幫助

第一種方式效率更高,第二種方式更准確。

技術問題:如果一些新點可能位於瑞典swedishpinesnew_points之外,那么這些點的值(數學上)是未定義的。 上述兩種方法都將簡單地忽略這些點,結果向量v將比新點的數量短。 如果您需要處理這種偶然性,最簡單的方法是使用D[new_points, drop=FALSE]它返回此類位置的NA值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM