我有一個映射森林圖的數據框,其中所有樹幹都有X,Y座標,胸高(cm)和存活率(0,1)(在這裏找到,名爲「MFP14_surv_forSO.csv」:https://www.dropbox.com/sh/t10b53qcobvxlzg/AACZyASgudtFLiZ79QRIjHH_a?dl=0)。使用spatstat窗口內的插值留下了一個點
我創建了一個空間點模式,然後是一個大莖幹死亡的平滑內核(im對象),作爲冠層「gappiness」(或光透入量)的代理。我認爲大莖的直徑大於9釐米,而'0'存活則表明莖幹死亡。
我想在所有樹幹上插入這種「gappiness」度量。我已經知道該模式中有幾個點位於窗口之外,因此我使用inside.owin()
來排除那些來自分析的數據框的子集。
surv14 <- read.csv("MFP14_surv_forSO.csv")
win14 <- owin(poly=list(x=c(0,250,250,225,225,0),y=c(0,0,50,50,100,100))) #specifying window extent
surv14 <- surv14[inside.owin(surv14[,1],surv14[,2], win14)==TRUE,] #removing points outside of window
death <- surv14[!is.na(surv14$diam90) & surv14$diam90>9,] #subsetting only large stems
death <- death[death$surv==0,] #subsetting only the large stems that died
death.pp <- as.ppp(death,win14) #creating point pattern from large stem death
death.fun <- Smoothfun(death.pp,sigma=10,edge=TRUE) #smoothed kernel of large stem death
im <- as.im(death.fun) #converting smoothed kernel into im object
ext <- im[surv14[,1:2]] #yields pixel values of gappiness for each stem
surv14 <- cbind(surv14,ext) #adding gappiness measure to data frame
但是,當我插,這是離開了的要點之一 - 有在surv14
4873周的觀察和僅4872插值,ext
。所以,當我嘗試使用cbind
到gappiness的措施綁定到我的數據幀,我得到了以下錯誤消息:
Error in data.frame(..., check.names = FALSE) :
arguments imply differing number of rows: 4873, 4872
我不知道如何找出哪些點它的離開了,爲什麼。任何指導將不勝感激!
我真的很感謝您的詳細回覆!這很有意義。我避免了像素逼近,直接使用'death.fun',問題得到解決。 –