專案

一般

配置概況

任務 #608 » RainfallToSPI.R.txt

筆記 - 徐嘉璯, 2025-09-09 09:37

 
RainfallToSPI.R

#1. 設定所需的時間:
* TDP.d1:每一旬的第一天

#2. 按照測站分割資料:
* STN.rain:對dataframe資料進行時,刪除第一個欄位後,還是dataframe
* N.days:對dataframe資料進行時,存下第一個欄位,形成array
* lapply() 回傳 list,而 sapply() 會簡化成向量
* rain.date:紀錄每個測站的資料時間點,如果不連續則代表有遺失值

#3. TDP rainfalls:
* 比對真實資料SSS和連續時間(Day.ini~Day.fin):
SSS中的DR(Daily Rain)[可能為不連續資料] --> Rain.Daily(list dtype)[必為連續性資料,但可能有NA值]

#3A yearlyTDPs:TDP.class:旬編號(從起始日2021/1/1-2025/12/31)

#3B TDP calculation:
* TDP.Station:計算每個測站每一旬的雨量加總
* 水文年:5上~4下
* HYR.TDP.Station:每個測站的旬雨量用矩陣紀錄,欄位是旬次(13~36, 1~12,也就是水文年),每一列表示不同年的資料
* STN_ID:刪除測站名稱中的空白

# Updating TDP rainfalls:
* Mayrain10_OLD.rds:
* 過去資料,格式和HYR.TDP.Station相同,有資料的時間是1992~2020,2021只有五月的旬資料
* 測站只有295個,HYR.TDP.Station測站有313個
* 配對不到的測站名稱:"C0A9A0" "C0M830" "C0R420"
* 將配對得到的測站資料更新,配對不到的並上NA讓每個測站的資料維度一致

* Clustering:
* "group295.csv"已紀錄測站分群(8群)
* 計算每一群在不同旬中的平均雨量值,算平均時忽略NA值
* 同一群的測站的雨量若有NA值,則使用對應的平均取代

================================
資料特殊處理:
1. 雨量為負,轉換成0[default]/雨量為負或NA,轉換成0:轉換成旬累積雨量後,前者資料較少。在顯示水文年矩陣時,可能因為當旬中有位記錄到的雨量,就沒有資料了。
2. 測站複製:
zzz[[40]]=zzz[[43]] # Replace the Dazhi station by the Neihu station
zzz[[123]]=zzz[[250]] # Replace the Shanmei station by the Longmei station
zzz[[146]]=zzz[[261]] # Replace the MuDan station by the Shihmen-Shan station
zzz[[148]]=zzz[[263]] # Replace the MuDan-Chishan by the Shou-Ka station
(1-1/2)