R語言在氣象、水文中數據處理及結果分析、繪圖實踐技術應用
R 語言是一門由統計學家開發的用于統計計算和作圖的語言(a Statistic Language developed for Statistic by Statistician),由 S 語言發展而來,以統計分析功能見長。R 軟件是一款集成 了數據操作、統計和可視化功能的優秀的開源軟件。來自世界各地開源社區的研究者為其提供了各種 豐富的工具包,目前在官方網站注冊的 R 包已經多達 16066 個,覆蓋了各種學科和各個行業。如果要使用最新的統計算法以及匯制各種非常規的新式圖形,那么 R 幾乎是一個必選項。R 的統 計和繪圖功能都是通過 R 功能包來實現的。包就是 R 函數、數據、預編譯代碼以一種定義完善的格式 組成的集合。簡單來說,就是一堆有用的函數打包起來給你用。R 自帶了一系列默認包(包括 base、 datasets、utils、grDevices、graphics、stats 等),它們提供了種類繁多的默認函數和數據集。當然,非默認的包更是數量驚人,可說是無所不包,包治百病。R 不僅功能強大,更是簡單易學,所以目前成為了在數據分析領域最熱門的集中編程語言之一, 廣泛用于人工智能、統計學術研究在內的各個領域,鑒于 R 開源的特性和強大的功能,R 與 Python 慢慢成為了數據分析與人工智能領域最流行的語言。除了以上行業,在地學領域,R 也提供了大量的數據處理和繪圖的專門包,甚至在官網還有關于 地學空間數據、時空數據以及 R 在水文數據和模擬應用上的專題。聚焦 R 在氣象水文領域的應 用,將貫穿氣象水文分析制圖的整個流程,從多個方面來介紹 R 在氣象水文領域的使用技巧,用大量的例子來介紹一些典型的 R 包在氣象水文數據分析及圖形匯制的具體使用。
R簡介與 R 在氣象水文中的應用
R語言與 R軟件簡介
R 在各行業的應用
R 與其他語言的比較及其在數據分析與作圖上的優勢
R 在地學中的應用以及R 在氣象水文中的應用
出發之前——用什么來同時記錄我們的數據、代碼及結果——Rmd與 knitr介紹
介紹一種方便的理念——Reproducible Research和Rmd及knitr
“原始數據保平安”與R-Rmd、Python-Jupyter
Rmd 的適用范圍:筆記、PPT、互動網頁、報告、論文
Rmd知識講解:結構、用法
Rmd 導出為 PDF、Word、HTML:knitr、officedown
開始出發——R及相關開發環境的安裝、配置
R-core 軟件和 R開發環境及下載安裝
R 軟件在不同平臺的下載
Rstudio 軟件介紹
Visual Studio Code等編輯器中的R開發環境
R 包的基礎結構與包的安裝
研究區域的探索—R繪圖知識講解與區域地形和站點分布的匯制
R繪圖中的“設備”與繪圖包
R繪圖中的“設備概念”與R畫圖方法,一張圖的基本組成部分
R繪圖的基礎包,常用命令,注意事項
常見不同圖形類型的繪制
區域地形圖與區域內觀測站點分布圖的匯制
氣象數據的準備——R程序
R編程語言的語法講解與數據讀寫
一個典型 R 程序的組成部分
R中的基本數據類型及其與其他語言的差異
R中的結構與分支,R中的循環,以及不推薦R循環
文件的讀寫,典型氣象數據的讀取(站點數據、再分析數據、模式數據,txt文件、netcdf 文件)
氣象數據的探索——R 數據分析與繪圖
R數據分析的基本包以及常用氣象、氣候數據處理,圖形匯制的進階
常用數據處理包及函數:mean、rmse、sd、cor 等
統計方法:回歸分析、極值分析、主成分分析、小波分析等
氣候數據處理;氣候均一性分析;極端氣候指數的計算;SPEI 計算等
氣象水文數據降尺度與插值等
水文模型的運行——R 編程的高級知識及常見數據格式
R 與水文 變量計算、模型;掌握 R的“類”、DataFrame 、%>%管道等
R 來計算水文變量:計算Evapotranspiration的21種方法等
用R實現的水文模型:物理模型及統計模型;BigLeaf、RHMS、TOPMODEL等
R 中的“類”的概念及其應用;%>%管道概念
DataFrame 以及 R 中的基本數據
常用的數據處理函數,常見數據的讀寫地學常見數據的讀寫及處理
氣象水文結果分析——R繪圖的高階,以及一些常用氣象水文圖形的匯制
氣象水文結果的更多分析;R匯制復雜的圖形等
高質量繪圖的基本常識
特殊圖形的匯制方法:如等值線圖、3D圖、Taylor 圖
時間序列與水文過程線圖的匯制
帶地圖的圖形匯制,從基礎到交互式地圖
其他多種圖形:heatmap、相關系數矩陣圖等
最終呈現——從過程筆記到實驗報告、學術論文、網站呈現
最終結果的呈現,與R在氣象水文中的更多應用與舉例
從 Rmd 到最終的結果:網頁 html 文件、Word、PPT、PDF、矢量圖
R與Python、Fortran、Cpp 、Julia等語言的互操作
人工智能及其他
更多應用及舉例
原文