[R-sig-Geo] Take mean of list of raster stacks
Thiago V. dos Santos
thi_veloso at yahoo.com.br
Wed Dec 2 15:23:01 CET 2015
Hi all,
I have a list with five raster stacks, each of them containing 9 layers:
> models.list
$CanESM2
class : RasterBrick
dimensions : 23, 19, 437, 9 (nrow, ncol, ncell, nlayers)
resolution : 0.5, 0.5 (x, y)
extent : -57.5, -48, -34, -22.5 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
data source : in memory
names : layer.1, layer.2, layer.3, layer.4, layer.5, layer.6, layer.7, layer.8, layer.9
min values : 137.51260, 103.75805, 85.07232, 114.59114, 88.59638, 82.38541, 98.64818, 91.78697, 74.57888
max values : 526.1966, 490.5268, 537.6004, 536.0648, 526.3977, 509.5332, 557.7880, 503.1330, 531.5689
$`GFDL-ESM2M`
class : RasterBrick
dimensions : 23, 19, 437, 9 (nrow, ncol, ncell, nlayers)
resolution : 0.5, 0.5 (x, y)
extent : -57.5, -48, -34, -22.5 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
data source : in memory
names : layer.1, layer.2, layer.3, layer.4, layer.5, layer.6, layer.7, layer.8, layer.9
min values : 99.87192, 84.49617, 82.04732, 91.23503, 82.46968, 78.61677, 91.31480, 84.72990, 77.58408
max values : 549.9278, 550.9575, 555.1746, 542.2581, 526.9369, 543.8348, 532.9768, 524.7191, 525.7651
$inmcm4
class : RasterBrick
dimensions : 23, 19, 437, 9 (nrow, ncol, ncell, nlayers)
resolution : 0.5, 0.5 (x, y)
extent : -57.5, -48, -34, -22.5 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
data source : in memory
names : layer.1, layer.2, layer.3, layer.4, layer.5, layer.6, layer.7, layer.8, layer.9
min values : 153.1610, 180.0696, 165.8414, 155.4981, 210.9747, 131.2129, 205.0893, 149.3376, 164.3868
max values : 548.4998, 521.2526, 532.5670, 551.9284, 561.8148, 523.1451, 534.9090, 561.0131, 551.4501
$`MRI-CGCM3`
class : RasterBrick
dimensions : 23, 19, 437, 9 (nrow, ncol, ncell, nlayers)
resolution : 0.5, 0.5 (x, y)
extent : -57.5, -48, -34, -22.5 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
data source : in memory
names : layer.1, layer.2, layer.3, layer.4, layer.5, layer.6, layer.7, layer.8, layer.9
min values : 206.9614, 205.4357, 173.1827, 139.5373, 169.0720, 172.5434, 195.4526, 160.2298, 182.6004
max values : 687.7671, 686.6686, 689.2235, 687.3547, 645.3307, 671.9138, 669.0936, 665.2333, 669.0399
$`NorESM1-M`
class : RasterBrick
dimensions : 23, 19, 437, 9 (nrow, ncol, ncell, nlayers)
resolution : 0.5, 0.5 (x, y)
extent : -57.5, -48, -34, -22.5 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
data source : in memory
names : layer.1, layer.2, layer.3, layer.4, layer.5, layer.6, layer.7, layer.8, layer.9
min values : 211.6625, 185.8265, 187.7064, 187.3369, 186.3985, 149.3203, 156.6462, 153.4485, 116.1606
max values : 605.5658, 603.2598, 569.0408, 599.4353, 589.8222, 601.7283, 617.0612, 603.3071, 645.2594
What I need to do is to come out with a single stack, also with 9 layers, that is composed by the mean of the correspondent layers of all elements in the list.
For example, the first layer of the resulting stack would be the average of the first layer of the five elements of the list.
In terms of code, it would be something like this:
1st layer of result stack <- mean (1st layer of 1st element, 1st layer of 2nd element, 1st layer of 3rd element, 1st layer of 4th element, 1st layer of 5th element)
2nd layer of result stack <- mean (2nd layer of 1st element, 2nd layer of 2nd element, 2nd layer of 3rd element, 2nd layer of 4th element, 2nd layer of 5th element)
3rd layer of result stack <- mean (3rd layer of 1st element, 3rd layer of 2nd element, 3rd layer of 3rd element, 3rd layer of 4th element, 3rd layer of 5th element)
...
8th layer of result stack <- mean (8th layer of 1st element, 8th layer of 2nd element, 8th layer of 3rd element, 8th layer of 4th element, 8th layer of 5th element)
9th layer of result stack <- mean (9th layer of 1st element, 9th layer of 2nd element, 9th layer of 3rd element, 9th layer of 4th element, 9th layer of 5th element)
Any hints on how I can accomplish that?
Greetings,
-- Thiago V. dos Santos
PhD student
Land and Atmospheric Science
University of Minnesota
More information about the R-sig-Geo
mailing list