10

.nc ファイルにまとめられた気候データの毎日の観測に取り組んでいます。ラスター パッケージの stack コマンドを使用してそれらを読み取ります。各ファイル (年に対応) は、次の特性を持つ RasterStack 要素です。

class       : RasterStack 
dimensions  : 360, 720, 259200, 365  (nrow, ncol, ncell, nlayers)
resolution  : 0.5, 0.5  (x, y)
extent      : -180, 180, -90, 90  (xmin, xmax, ymin, ymax) 

各レイヤーは 1 日の値のラスターです。
毎月の値を計算するためにレイヤーを合計したいと思います。ソリューションは calc または stackApply {raster} を使用する必要があると思いますが、レイヤー x からレイヤー y に合計する方法、または合計する前に RasterStack をサブセット化する方法を見つけることができませんでした。

12 レイヤーのみのサンプル ファイルを用意しました(サイズを小さくするため)。

申し訳ありませんが、コードを提案する方法が正確にはわかりませんが、次のようなものにする必要があります。

library(raster)
setwd("myfolder")
data<-stack(mydata.nc)

datasum<- stackApply(data, ??? ,fun=sum)

ありがとうございました

4

2 に答える 2

1

長い時系列の.ncファイルの平均を計算するために、同じ問題がありましたが、stackApplyうまくいきませんでした。

を使って解決できましたcalc。したがって、次も使用できます。

#sum the layers
datasum <- calc(data,fun=function(x) { by(x, indices, sum)})
于 2020-06-25T14:18:23.730 に答える