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
> 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