2014-07-21 72 views
0

我有一個柵格(矩陣),我想計算所有值的平均值對應於每個緯度如何計算每行對應的平均值?

library (raster) 
r <- raster(nrows=10, ncols=10) 
r <- setValues(r, 1:ncell(r)) 
extent(r) = extent(c(xmn=-180,xmx=180,ymn=-90,ymx=90)) 
plot(r) 

給出: enter image description here

所以我現在想要做的平均值,只得到一個值,在每個緯度,是這樣的:

enter image description here

其中R是presen值在這裏你可以看到柵格(請注意它們的值不同)。

+1

您想將它繪製在柵格頂部還是繪製新圖? –

+0

謝謝@DavidRobinson。他們都請 – hyat

回答

2

您可以單獨構建線條的x值和y值。 y值也只是從頂部到光柵底部的序列:

stepsize = ([email protected]@ymax - [email protected]@ymin)/[email protected] 
yvals = seq([email protected]@ymax - stepsize/2, [email protected]@ymin, -stepsize) 

的x值會在你的柵格每行的意思是:

xvals = rowMeans(as.matrix(r)) 

然後你添加到您現有的情節:

plot(r) 
lines(xvals, yvals) 

,或者你可以繪製它放在一個新的圖:

plot(xvals, yvals) 
+0

一個小評論。繪製的線應該有相反的斜坡?你嘗試過嗎? – hyat

+0

@hyat糾正(顯然我最初看到並糾正了在我的代碼,但沒有在我的答案) –