1

ラスター オブジェクトを 1 行のデータだけに抽出またはサブセット化するにはどうすればよいですか? 私は世界の気温データのラスターを持っており、経度/列ごとに 1 年あたりの月平均値を計算したいと考えています。

library(ncdf4)
library(raster)

download.file("http://www.cru.uea.ac.uk/cru/data/temperature/CRUTEM.4.3.0.0.anomalies.nc"
              , destfile="CRUTEM.4.3.0.0.anomalies.nc", mode="wb")

cru.tmp <-  stack("CRUTEM.4.3.0.0.anomalies.nc")

# inspect elements
cru.tmp

# list all years
names(cru.tmp)

# plot a single year
plot(cru.tmp$X2008.01.16)

# find nrow for 67.5deg North
mylat <- rowFromY(cru.tmp, 67.5)

# extract the row
cru.tmp.67.5N <- getValuesBlock(test, row=mylat, nrows=1)

したがって、基本的には、残りの 72 個のグリッド セルのそれぞれに 12 の月平均が必要です。

4

3 に答える 3

0

データは既に にcru.tmp.67.5Nありますが、再配置が必要です:

cru.tmp.67.5N_mean <- array(NA, c(72,12,165))

colnames(cru.tmp.67.5N_mean) <- c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", 
                    "Sep", "Oct", "Nov", "Dec")
rownames(cru.tmp.67.5N_mean) <- xFromCol(cru.tmp, col=1:ncol(cru.tmp))

for (i in 1:12){
  for (j in 1:72){
    for (k in 1:165){

    month <- seq(i,length(colnames(cru.tmp.67.5N)),12)
    cru.tmp.67.5N_mean[j,i,k] <- cru.tmp.67.5N[j,month[k]]
      }
   }
}
于 2014-10-15T13:26:12.250 に答える