我有一个栅格(矩阵),我想计算每个纬度对应的所有值的平均值
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)
给出:
所以我现在想要平均值并且在每个纬度只获得一个值,如下所示:
其中R
是栅格中显示的值(请注意它们在值方面不同)。
答案 0 :(得分:2)
您可以单独构建线的x和y值。 y值只是栅格顶部到底部的序列:
stepsize = (r@extent@ymax - r@extent@ymin) / r@nrows
yvals = seq(r@extent@ymax - stepsize / 2, r@extent@ymin, -stepsize)
x值将是栅格中每行的平均值:
xvals = rowMeans(as.matrix(r))
然后将其添加到现有的情节中:
plot(r)
lines(xvals, yvals)
或者您可以在新图表上绘制它:
plot(xvals, yvals)