簡體   English   中英

R 中用於 netCDF 的三維數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM