[英]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
對象(即swedishpines
和new_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
的幫助
第一種方式效率更高,第二種方式更准確。
技術問題:如果一些新點可能位於瑞典swedishpines
的new_points
之外,那么這些點的值(數學上)是未定義的。 上述兩種方法都將簡單地忽略這些點,結果向量v
將比新點的數量短。 如果您需要處理這種偶然性,最簡單的方法是使用D[new_points, drop=FALSE]
它返回此類位置的NA
值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.