[問題] 迴圈問題(ncdf檔)
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
各位大大好,小弟我目前有2個矩陣(原始為list)的數值資料,其中一個為時間的
index(第幾筆),另一個為各別分配的權重,我要做的事是將這2個矩陣的資訊套用在一筆
降雨資料(netcdf檔)上,由下圖的2個矩陣(時間index.權重)的資訊為例,也就是我要將
原始的降雨資料的第一天(筆)以第1天的降雨值(每個網格點)x0.8334249,加上第9830天的
降雨值x0.12252973來取代,以此類推。
而小弟我目前卡在不知道該怎麼把矩陣對應的關係(第1天的第1個時間index乘上第一
個權重)放入迴圈中,下面的程式碼中是以analog.indices表示時間的index,weights表
示權重,可能程式碼的邏輯非常怪異,我上網查或許用apply系列的指令較適合,但我也
較少用apply系列的指令,因此較不熟悉,還煩請大大們指點和較詳細的說明,也非常歡
迎引導式教學,謝謝。
2個矩陣以及降雨的資料放在此:http://0rz.tw/JI056
https://imgur.com/Q4rRKi9
(時間index)
https://imgur.com/YJFXtr5
(權重)
[程式範例]:
library(ncdf4)
library(data.table)
memory.limit(size=50000)
analog.indices <- A[[1]]
analog.indices <- matrix(unlist(analog.indices), nrow=length(analog.indices),
byrow=T)
weights <- A[[2]]
weights <- matrix(unlist(weights), nrow=length(weights), byrow=T)
HIRAM_WRF_data <- nc_open("C:\\Users\\TOM\\Desktop\\R(資料庫)\\WRF(動力降尺度
資料)\\T2WHIRAM_c384_amip\\197901-200512_pr_axis_time_domain.nc")
print(HIRAM_WRF_data)
hiram_wrf_lon <- ncvar_get(HIRAM_WRF_data,"lon")
hiram_wrf_lat <- ncvar_get(HIRAM_WRF_data,"lat")
hiram_wrf_time <- ncvar_get(HIRAM_WRF_data,"time")
hiram_wrf_pr <- ncvar_get(HIRAM_WRF_data,"pr")
pr <- array(NA,dim=c(length(hiram_wrf_lon),length(hiram_wrf_lat),2))
for(i in analog.indices[1,i]){
for(w in weights[1,w]){
if(i==w){
pr[,,1:2] <-
ncvar_get(HIRAM_WRF_data,"pr",start=c(1,1,i),count=c(41,77,1))*w
}
}
}
View(pr[,,1])
[環境敘述]:
[關鍵字]:
迴圈 ncdf檔
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.100.204
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1557399136.A.E08.html
→
05/09 19:08,
5年前
, 1F
05/09 19:08, 1F
→
05/09 19:11,
5年前
, 2F
05/09 19:11, 2F
推
05/09 19:40,
5年前
, 3F
05/09 19:40, 3F
→
05/09 20:41,
5年前
, 4F
05/09 20:41, 4F
→
05/09 20:41,
5年前
, 5F
05/09 20:41, 5F
→
05/09 20:41,
5年前
, 6F
05/09 20:41, 6F
→
05/09 20:49,
5年前
, 7F
05/09 20:49, 7F
→
05/09 20:49,
5年前
, 8F
05/09 20:49, 8F
→
05/09 20:49,
5年前
, 9F
05/09 20:49, 9F
→
05/09 20:49,
5年前
, 10F
05/09 20:49, 10F
→
05/09 20:49,
5年前
, 11F
05/09 20:49, 11F
→
05/09 21:28,
5年前
, 12F
05/09 21:28, 12F
→
05/09 22:15,
5年前
, 13F
05/09 22:15, 13F
→
05/09 22:15,
5年前
, 14F
05/09 22:15, 14F
→
05/09 22:15,
5年前
, 15F
05/09 22:15, 15F
→
05/09 23:31,
5年前
, 16F
05/09 23:31, 16F
→
05/10 01:20,
5年前
, 17F
05/10 01:20, 17F
→
05/10 01:20,
5年前
, 18F
05/10 01:20, 18F
→
05/10 01:21,
5年前
, 19F
05/10 01:21, 19F
→
05/10 01:21,
5年前
, 20F
05/10 01:21, 20F
→
05/10 01:21,
5年前
, 21F
05/10 01:21, 21F
→
05/10 01:21,
5年前
, 22F
05/10 01:21, 22F
→
05/10 08:38,
5年前
, 23F
05/10 08:38, 23F
→
05/10 08:39,
5年前
, 24F
05/10 08:39, 24F
→
05/10 08:39,
5年前
, 25F
05/10 08:39, 25F
→
05/10 08:40,
5年前
, 26F
05/10 08:40, 26F
→
05/10 09:06,
5年前
, 27F
05/10 09:06, 27F
→
05/10 11:11,
5年前
, 28F
05/10 11:11, 28F
→
05/10 11:11,
5年前
, 29F
05/10 11:11, 29F
→
05/10 11:11,
5年前
, 30F
05/10 11:11, 30F
推
05/10 11:18,
5年前
, 31F
05/10 11:18, 31F
→
05/10 13:20,
5年前
, 32F
05/10 13:20, 32F
→
05/10 13:20,
5年前
, 33F
05/10 13:20, 33F
→
05/10 13:20,
5年前
, 34F
05/10 13:20, 34F
→
05/10 13:20,
5年前
, 35F
05/10 13:20, 35F
→
05/10 13:36,
5年前
, 36F
05/10 13:36, 36F
→
05/10 13:36,
5年前
, 37F
05/10 13:36, 37F
→
05/10 13:38,
5年前
, 38F
05/10 13:38, 38F
→
05/10 13:40,
5年前
, 39F
05/10 13:40, 39F
→
05/10 15:16,
5年前
, 40F
05/10 15:16, 40F
→
05/10 15:16,
5年前
, 41F
05/10 15:16, 41F
→
05/10 15:16,
5年前
, 42F
05/10 15:16, 42F
→
05/10 15:19,
5年前
, 43F
05/10 15:19, 43F
→
05/10 15:19,
5年前
, 44F
05/10 15:19, 44F
→
05/10 15:19,
5年前
, 45F
05/10 15:19, 45F
→
05/10 15:19,
5年前
, 46F
05/10 15:19, 46F
→
05/10 16:19,
5年前
, 47F
05/10 16:19, 47F
→
05/10 18:04,
5年前
, 48F
05/10 18:04, 48F
→
05/10 18:04,
5年前
, 49F
05/10 18:04, 49F
→
05/10 18:04,
5年前
, 50F
05/10 18:04, 50F
→
05/10 18:04,
5年前
, 51F
05/10 18:04, 51F
→
05/10 18:06,
5年前
, 52F
05/10 18:06, 52F
→
05/10 18:08,
5年前
, 53F
05/10 18:08, 53F
→
05/10 23:38,
5年前
, 54F
05/10 23:38, 54F
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章