[問題] 迴圈問題
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
各位大大好,小弟我想要將台灣多年的降雨觀測資料去計算一些降雨指標,而我所用
的觀測資料將台灣範圍的經緯度切成60x81格,而我所要計算的降雨指標也需要一格一格
網格點去計算(無法所有網格點同時計算),因此必須寫迴圈,但這個降雨指標在單一格網
格點上一年會算出一個值,所以我會再將多年的值求平均,以代表這個網格點長時間平均
的降雨指標值,之後再將每格網格點的值放入一個矩陣中,以利最後我能畫圖。下面是我所寫的程式碼,希望大大們能提供指點,謝謝,降雨觀測資料可從這裡取得
:http://0rz.tw/JI056。
[程式範例]:
library(ncdf4)
library(climdex.pcic)
#讀檔.變數
memory.limit(size=50000)
TCCIP_file <- "C:\\Users\\TOM\\Desktop\\R(資料庫)\\TCCIP觀測資料
\\Daily\\pr_day_tccip5kmV2_1960-2015.nc"
TCCIP_data <- nc_open(TCCIP_file)
print(TCCIP_data)
obs_lon <- ncvar_get(TCCIP_data,"lon")
obs_lat <- ncvar_get(TCCIP_data,"lat")
obs_time <- ncvar_get(TCCIP_data,"time")
obs_time <- seq(as.POSIXct("1960-01-01"), as.POSIXct("2015-12-31"), by="day")
obs_pr <- ncvar_get(TCCIP_data,"pr")
#obs_pr <- ncvar_get(TCCIP_data,"pr",start=c(25,25,1),count=c(1,1,20454))
dim(obs_pr)
#降雨指標之計算
#5.rnnmm(Annual count of days when PRCP>1mm)
obs_pr.dates <- as.PCICt(obs_time,cal="365_day",origin="1960-01-01")
rnnmm.mean <- matrix(NA_real_,nrow=60,ncol=81)
for(i in c(1:60)){
for(j in c(1:81)){
obs_pr <- ncvar_get(TCCIP_data,"pr",start=c(i,j,1),count=c(1,1,20454))
#把要計算降雨指標的資料和時間放入
obs <- climdexInput.raw(tmax = NULL, tmin = NULL,prec=obs_pr,tmax.dates = NULL
,tmin.dates = NULL, prec.dates=obs_pr.dates,base.range=c(1960,2015),northern.h
emisphere=TRUE)
#計算資料的降雨指標值
rnnmm <- climdex.rnnmm(obs)
#將多年的降雨指標值取平均
rnnmm.mean <- mean(rnnmm)
}
}
View(rnnmm.mean)
[環境敘述]:
[關鍵字]:
for迴圈 降雨指標 經緯度
--
→
01/25 08:33,
5年前
, 1F
01/25 08:33, 1F
→
01/25 08:36,
5年前
, 2F
01/25 08:36, 2F
→
01/25 08:36,
5年前
, 3F
01/25 08:36, 3F
→
01/26 01:23,
5年前
, 4F
01/26 01:23, 4F
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.194.25
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1548316570.A.867.html
→
01/24 17:02,
5年前
, 5F
01/24 17:02, 5F
→
01/24 17:03,
5年前
, 6F
01/24 17:03, 6F
→
01/24 17:04,
5年前
, 7F
01/24 17:04, 7F
→
01/24 17:04,
5年前
, 8F
01/24 17:04, 8F
→
01/24 17:05,
5年前
, 9F
01/24 17:05, 9F
→
01/24 17:06,
5年前
, 10F
01/24 17:06, 10F
→
01/24 17:07,
5年前
, 11F
01/24 17:07, 11F
→
01/25 00:54,
5年前
, 12F
01/25 00:54, 12F
→
01/26 01:28,
5年前
, 13F
01/26 01:28, 13F
推
01/26 07:22,
5年前
, 14F
01/26 07:22, 14F
→
01/26 13:59,
5年前
, 15F
01/26 13:59, 15F
推
01/26 14:55[程式範例]:, , 16F
01/26 14:55[程式範例]:, 16F
※ 編輯: AndrewShi (180.217.114.34), 01/26/2019 16:50:03
※ 編輯: AndrewShi (180.217.114.34), 01/26/2019 17:02:59
※ 編輯: AndrewShi (180.217.114.34), 01/26/2019 17:05:05
→
01/26 17:11,
5年前
, 17F
01/26 17:11, 17F
※ 編輯: AndrewShi (180.217.114.34), 01/26/2019 17:15:38
→
01/26 21:13,
5年前
, 18F
01/26 21:13, 18F
※ 編輯: AndrewShi (180.217.114.34), 01/26/2019 22:39:43
→
01/26 22:52,
5年前
, 19F
01/26 22:52, 19F
→
01/26 22:53,
5年前
, 20F
01/26 22:53, 20F
→
01/26 22:54,
5年前
, 21F
01/26 22:54, 21F
→
01/26 22:55,
5年前
, 22F
01/26 22:55, 22F
→
01/27 01:19,
5年前
, 23F
01/27 01:19, 23F
→
01/27 01:21,
5年前
, 24F
01/27 01:21, 24F
→
01/27 01:22,
5年前
, 25F
01/27 01:22, 25F
→
01/27 11:25,
5年前
, 26F
01/27 11:25, 26F
→
01/27 11:26,
5年前
, 27F
01/27 11:26, 27F
→
01/27 13:22,
5年前
, 28F
01/27 13:22, 28F
→
01/27 21:55,
5年前
, 29F
01/27 21:55, 29F
→
01/27 21:56,
5年前
, 30F
01/27 21:56, 30F
→
01/27 21:59,
5年前
, 31F
01/27 21:59, 31F
→
01/27 22:00,
5年前
, 32F
01/27 22:00, 32F
→
01/27 22:01,
5年前
, 33F
01/27 22:01, 33F
→
01/27 22:02,
5年前
, 34F
01/27 22:02, 34F
→
01/27 22:06,
5年前
, 35F
01/27 22:06, 35F
→
01/27 22:35,
5年前
, 36F
01/27 22:35, 36F
→
01/27 22:38,
5年前
, 37F
01/27 22:38, 37F
→
01/27 22:38,
5年前
, 38F
01/27 22:38, 38F
→
01/27 22:41,
5年前
, 39F
01/27 22:41, 39F
→
01/28 01:01,
5年前
, 40F
01/28 01:01, 40F
→
01/28 01:03,
5年前
, 41F
01/28 01:03, 41F
→
01/28 01:06,
5年前
, 42F
01/28 01:06, 42F
→
01/28 01:07,
5年前
, 43F
01/28 01:07, 43F
→
01/28 01:08,
5年前
, 44F
01/28 01:08, 44F
→
01/28 01:12,
5年前
, 45F
01/28 01:12, 45F
→
01/28 01:15,
5年前
, 46F
01/28 01:15, 46F
→
01/28 01:16,
5年前
, 47F
01/28 01:16, 47F
→
01/28 01:16,
5年前
, 48F
01/28 01:16, 48F
→
01/28 01:17,
5年前
, 49F
01/28 01:17, 49F
→
01/28 01:18,
5年前
, 50F
01/28 01:18, 50F
→
01/28 01:20,
5年前
, 51F
01/28 01:20, 51F
→
01/28 01:21,
5年前
, 52F
01/28 01:21, 52F
→
01/28 01:22,
5年前
, 53F
01/28 01:22, 53F
→
01/28 16:49,
5年前
, 54F
01/28 16:49, 54F
→
01/28 16:49,
5年前
, 55F
01/28 16:49, 55F
→
01/28 16:52,
5年前
, 56F
01/28 16:52, 56F
→
01/28 16:54,
5年前
, 57F
01/28 16:54, 57F
→
01/28 16:55,
5年前
, 58F
01/28 16:55, 58F
→
01/28 17:27,
5年前
, 59F
01/28 17:27, 59F
→
01/28 17:29,
5年前
, 60F
01/28 17:29, 60F
→
01/28 17:30,
5年前
, 61F
01/28 17:30, 61F
→
01/28 21:03,
5年前
, 62F
01/28 21:03, 62F
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章