2015-01-15 65 views
0

不幸的是,由於我沒有足夠的聲望(並且無法對該主題發表評論),我不得不對一個已經存在的問題提出一個簡單的問題。我在R計算光柵鑲嵌,並堅持這個過程:How can I create raster mosaic using list of rasters?(非常感謝!)。從計算光柵馬賽克中排除NAs

我唯一的問題是,我想計算它使用中位數或平均值排除我的NAs。 我很抱歉,但我沒把它列入到現有代碼:

b1_listargs <- b1_unstack 
b1_listargs$fun <- mean 
b1_mosaic <- do.call(mosaic, b1_listargs) 

據我瞭解,從上面它不會自動排除的NAS功能。因此,給定meanc(4,4,4,4,NA)我的計算結果將會變成NA - 這對我來說不是有用的輸出...

感謝您的幫助!

回答

0

看看這個頁面:http://stat.ethz.ch/R-manual/R-devel/library/graphics/html/mosaicplot.html

這表明,有省略的NA的理由。

+0

我不想繪製馬賽克,但生成它。由於我有很多層,我堅持上面的代碼。根據上面的鏈接,一個簡單的'mosaic(b1_unstack,fun = mean,na.rm = TRUE)'是不可能的,因爲'b1_unstack'是一個列表,並且mosaic命令不再接受列表。這就是爲什麼我必須堅持這個代碼示例,並想以某種方式包含'na.rm = T'。 – user2978751

+0

你是否嘗試過在自己的行中簡單地做na.omit(yourmosaic)? – NealC

+0

據我瞭解,該過程的馬賽克是從其他一些層計算。我可以使用'mean'和'median'這樣的函數來獲取馬賽克的值(由許多其他圖層派生)。我的目標是排除這個計算過程中已經存在的NAs(NA的「mean」與不含NA的「mean」不同)。我認爲你的功能只適用於刪除已有的/計算的馬賽克的NA。 – user2978751

0

我知道這個問題是有點老了,但我在同樣的情況,我會嘗試:

,其中「A」是我的光柵

A$fun <- mean 
Mosaic <- do.call(mosaic, list(A,na.rm=T)) 

這應該忽略缺失的列表計算重疊柵格之間的平均值時的值。