[英]Three-dimensional array in R for netCDF
我需要在 R 中創建一個三維數組,其中包含分辨率為 538x907 像素的柵格數據。 我在一個月內每個小時都有這個光柵,所以一月份有 744 個光柵文件。 我必須通過 R 更改一些值,然后想將它們匯總回可以由包 ncdf4 處理的數組。 因此,我需要創建一個看起來像prectdata[1:538, 1:907, 1:744]
的三維數組(第一和第二個用於光柵的 x 和 y 維度,第三個用於時間維度)。 我如何將 744 個柵格矩陣連接到 ncdf4 包的三維數組?
raster
包有一個名為as.array
的函數,它應該做你想做的事:
library(raster)
# single raster
r <- raster(matrix(runif(538*907),nrow =538))
# stack them
rstack <- do.call(stack,lapply(1:744,function(x) r))
# structure
> rstack
class : RasterStack
dimensions : 538, 907, 487966, 744 (nrow, ncol, ncell, nlayers)
resolution : 0.001102536, 0.001858736 (x, y)
extent : 0, 1, 0, 1 (xmin, xmax, ymin, ymax)
coord. ref. : NA
# convert to array
arr <- as.array(rstack)
# check dimensions
> dim(arr)
[1] 538 907 744
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.