2017-04-11 90 views
0

我希望你能幫我解決一段時間以來的問題。我需要爲MaxEnt創建一個偏差文件,爲此我使用了本教程:https://scottrinnan.wordpress.com/2015/08/31/how-to-construct-a-bias-file-with-r-for-use-in-maxent-modeling/並將其更改爲我自己的情況。然而,我現在卡住了...R中的核密度函數給出了不等的x和y分辨率

我需要使用kde2d函數來創建一個2D核心密度估計,然後將其轉換爲柵格。但是,創建的柵格對於x和y具有不同的分辨率。這是一個問題,因爲我必須在MaxEnt中使用它,它不會接受不等的x和y分辨率。

這是我做過什麼:

biasraster <- raster("file.tif") #load raster with all the occurrences 
presences <-which(values(biasraster)==1) 
pres.locs<- coordinates(biasraster)[presences,] 
dens <-kde2d(pres.locs[,1],pres.locs[,2],n=c(nrow(biasraster),ncol(biasraster))) #2d kernel density function on the biasraster 
dens.ras<-raster(dens) #create raster from kde2d function 

的biasraster的原始分辨率爲0.00833333爲x和y,但dens.ras分辨率已更改爲0.0104052,0.00833333(X,Y)(所以y分辨率是正確的)。從問題中可以看出,在編碼方面,我是一個完全noob的人(在r中)。我一直在試圖弄清楚一週左右該做些什麼,但我找不到任何似乎可行的答案,所以我希望這裏有人能幫助我。

+0

如果沒有示例文件,可以猜測索引會降低其中一個方向的範圍,從而導致不同的分辨率。也許試着在'MASS :: kde2d'中指定'h ='參數。 – nya

回答

0

我有同樣的問題。我只能用解決這個問題:

dens.ras < - 重採樣(dens.ras,climdat,方法= 「雙線性」)了#make偏見climdat

相同的分辨率文件,但additionaly,我也需要削減dens.ras。

densmod < -crop(dens.ras,程度(climdat))

有了這些額外的步驟,我的偏見文件運行良好。

+0

是的,這工作完美!非常感謝! – Nadja

相關問題