#ncfile 讀出是一個多維矩陣,你用temp[1:4]當然只會讀出4筆 以下供參
#你可以針對每一次 (1:4)都畫一次,在這裡我不確定你要的操作,我取平均
#OB
library(ncdf4)
#library(magrittr)
#library(lubridate)
#library(units)
infile <- "D:/Env/air/air.2m.mon.mean.nc"
nx0 <- nc_open(infile)
print(nx0)
air <- ncvar_get(nx0, "air")
latx0<- ncvar_get(nx0, "lat")
lngx0<- ncvar_get(nx0, "lon")
#time<- ncvar_get(nx0, "time")
#tattr <- ncatt_get(nx0, "time") #get attributes
#units(time) <- make_unit(tattr$units)
#datex<- as.POSIXct(time) %>% as.Date(origin="1800-01-01 00:00") #:0.0")
#lvl <- ncvar_get(nx0, "level")
mair <- apply(air[,,1:4],c(1,2),function(x) mean(x-273.15, na.rm=T))
zt=matrix(mair,ncol=length(latx0),nrow=length(lngx0),byrow=F)
image(x=lngx0-180,y=rev(latx0),z=zt[,ncol(zt):1],
col = colorRamps::blue2red(128)) #rainbow(128)[50:128])
※ 引述《AndrewShi (沒有妳的我)》之銘言:
: ※ 引述《AndrewShi (沒有妳的我)》之銘言:
: : [問題類型]:
: : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
: : [軟體熟悉度]:
: : 入門(寫過其他程式,只是對語法不熟悉)
: : [問題敘述]:
: : 這是一個全球溫度的資料(nc檔),時間總共有467筆,我想利用R畫出前4筆的全球溫度圖
: : ,所以 寫了一個簡單的while迴圈,但到了要image的時候就跑出了這個error,所以想請問大大
: : 們這個error是什麼意思,以及我該如何解決??謝謝~
: : [程式範例]:
: : https://i.imgur.com/JlqAFxw.jpg
: : https://i.imgur.com/fLzCmiC.jpg
: 以下為資料來源與程式碼:
: 資料來源:
: https://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanalysis2.pressure.html
: Air Temperature - Monthly Mean - 按圖示