1基本知識html
1.1系統簡介linux
那麼R究竟是什麼?或者說,R究竟是作什麼用的?從不一樣的角度出發,對R會有不一樣的描述。web
從使用角度,R是一個有着統計分析功能及強大做圖功能的軟件,在GNU協議General Public Licence4下免費發行。數據庫
從編程角度,R語言是面向對象的統計編程語言,是由AT&T貝爾實驗室所創的S語言發展出的一種方言。編程
從計算角度,R 是一種爲統計計算和圖形顯示而設計的語言及環境。windows
從開發角度,R 是一組開源的數據操做,計算和圖形顯示工具的整合包有各類方式能夠進行編程調用。瀏覽器
從架構角度,R 是爲統計計算和圖形展現而設計的一個系統。它包括一種編程語言,高級別圖形展現函數,和其它語言的接口以及調試工具。網絡
若是必定要找到一個與R相似的軟件,那就是商業軟件Matlab。R和Matlab都是基於編程進行數據分析的工具,Matlab適用的領域更廣,而R更擅長統計分析領域。與Matlab相比,R更具有開放性:架構
R是自由軟件,Matlab是商業軟件;curl
R能夠方便的經過「包」進行擴展,R的核心只有25個包,可是有幾千個外部包能夠調用,固然你也能夠開發本身的;
R語言比Matlab的要強大;
R和其餘編程語言/數據庫之間有很好的接口;其餘語言也能夠很方便的調用R的API和結果對象。
R經常使用於統計領域。大多數人使用R就是由於它的統計功能,R的內部實現了不少經典、時髦的統計技術。
1.2系統安裝
打開瀏覽器,輸入R語言官方網址:https://www.r-project.org/
進入網站,點擊左邊視圖欄「Download」下的「CRAN」,進入鏡像頁面。
頁面按國家名稱排序鏡像網站。建議選擇國內鏡像(如清華大學、北京交通大學、廈門大學等)進入下一個頁面。
在這個頁面,根據讀者電腦操做系統的不一樣進行選擇。R語言同時支持Windows、Mac、Linux等操做系統。如微軟操做系統則選擇「Download R for Windows」,進入下一個頁面。
在這個頁面,對於首次安裝R語言程序的讀者,選擇「install R for the first time」進入到下一個頁面。
在這個頁面顯示當前R語言最新版本爲3.2.3版本,讀者選擇「Download R 3.2.3 for Windows」,下載R語言安裝程序包(exe)。
下載完成後,讀者雙擊安裝程序包(exe),選擇默認設置便可完成安裝。安裝完畢後,桌面會出現藍色大R圖標。雙擊該圖標,啓動R程序,出現以下界面則系統安裝成功。
1.3基本操做
R是一種語法很是簡單的表達式語言,基於命令(command)能夠經過交互、批處理及腳本等多種方式使用R語言。命令是表達式,也多是賦值語句。若是一條命令是表達式,它被解析後將結果顯示在屏幕上,同時釋放該命令所佔用的內存。賦值語句一樣會被解析並把值傳給變量,但結果不會顯示在屏幕上。建議讀者在入門階段認真學習命令,手動輸入,逐步學習R語言。等徹底掌握,對R語言熟練以後再使用RStudio等工具軟件進行操做。
R語言是經過大量「開箱即用」稱之爲「包」(package)的可選模塊實現其強大的統計分析功能。「包」是一系列函數、數據、代碼以R語言規範定義的格式組成的集合。這些包橫跨各個領域,提供了豐富多彩的功能,包括聚類分析、金融、機器學習、生存分析、時間序列等34類,聚集了全球各行業專業人士應用R語言的最新成果,具體內容可參見1.3.4節內容。
在進行包安裝和使用前,須要對CRAN進行設置。選擇R菜單「程序包」,彈出下拉菜單,選擇「設定CRAN鏡像…」,建議仍然選擇國內鏡像。鏡像站點設置完成後,便可開始包的安裝。
1.3.1包的安裝
包的安裝通常有三種方法。
第一種是經過R菜單選擇「程序包」下的「安裝程序包…」,彈出包列表,選擇相應程序包進行安裝。這種方法須要熟知包名。
第二種是下載相應的包壓縮文件(zip),而後經過R菜單選擇「程序包」下的「從本地zip文件安裝程序包…」,手動進行安裝。
第三種是在提示符(>)下輸入安裝包的命令,程序會自動經過鏡像站點查找包名,找到該包名後會自動進行連接、下載、安裝一系列動做。在安裝包的過程當中,如要求安裝該包依賴的相關包,程序會自動進行連接、下載、安裝,全程無需人工干預。推薦使用這種方法。
命令:install.packages(「包名」)
據官網統計,截至2017年1月,公開發布的包數量已接近10000個。對如此多的包,讀者如何找到與工做、研究相關的包呢?在聯網狀態下,讀者能夠進入官網按照「包發佈時間」或「包名」進行查閱。選擇「Table of available packages, sorted by name」進入索引頁面。也能夠經過經過R菜單選擇「幫助」下的「手冊(PDF文件)」,在彈出菜單中選擇「R Reference」進行查看。PDF索引不便於檢索,建議採用網頁檢索方式。
在這個頁面,讀者能夠打開查詢窗口,輸入關鍵英文單詞、詞組(如Ann、hydro、wave等)進行檢索,經過相應的註釋、說明,找到相應的包後,在程序窗口下輸入對應的包名進行安裝。
如經過查詢,檢索,找到一個關於研究中國有關數據的R接口包「rstatscn」,輸入安裝命令後,提示該包須要安裝curl、openssl、R六、httr這4個相依賴的包。程序自動搜尋、下載並安裝這些包後,完成「rstatscn」的安裝。
1.3.2包的使用
包安裝完成後,須要進行加載才能使用。計算機上存儲包的目錄稱爲庫(library),函數.libPaths()顯示庫所在的位置,函數library()顯示庫中全部的包,函數search()顯示已經加載並可以使用的包。
程序窗口顯示當前可用的包有:stats、graphics、datasets、methods、base等包。這些包是R語言程序運行的基礎包。在程序啓動時已經加載到內存當中。能夠經過以下命令對咱們關注的包進行查閱。
命令:library(help=「包名」)
如對stats這個包進行查閱,輸入:library(help=「stats」),回車便可彈出base這個包的詳細說明。也可經過命令help.start() 啓動「HTML幫助文件「查看相應參數、具體使用方法及範例等內容。建議使用HTML方式查閱。
包不加載,或包加載失敗,後續工做即沒法開展。肯定要使用的包名之後,使用以下命令加載該包。
命令:library(包名)
前述的stats、graphics、datasets等基礎包不須要再次加載,可直接使用。在加載一個包前必須肯定已經安裝了這個包。一次會話中,包只需加載一次。有些包會對依賴包中的參數、方法進行重構,加載這類包時會有提示信息,不影響正常使用。若是須要,能夠自定義啓動環境,修改根目錄下\etc\文件夾中的Rprofile.site配置文件,可實現程序啓動時自動加載頻繁使用的包,方便工做開展。
1.3.3 工做空間
R語言程序啓動即加載一個工做空間(workspace)。工做空間存儲當前工做環境下全部操做的命令、函數、步驟等。保存工做空間時,系統會生成.RData和.Rhistory,其中.RData以二進制的方式保存了會話中的變量值,.Rhistory以文本文件的方式保存了會話中的全部命令。
保存當前工做空間,下次啓動程序會默認打開上次關閉的工做空間,並提示「原來保存的工做空間已還原」,此時可使用ls()、ls.str()和history()函數查看以前保存的數據和命令。使用rm()和remove()函數能夠刪除工做空間中的變量。使用getwd()和setwd()函數能夠獲取/設置工做空間目錄。使用list.files()函數能夠查看當前目錄下的文件。在後續工做中,能夠經過上、下箭頭(↑、↓)快速調取已使用的命令、函數,提升效率。
針對不一樣的工做內容應建立不一樣的工做空間。
1.3.4任務視圖
打開瀏覽器,輸入鏡像網址:https://cran.r-project.org/。進入網頁後點擊左邊視圖欄「Task Views」,進入「任務視圖」頁面。
該頁蒐集整理了R語言在聚類分析、計量經濟學、生態環境分析、金融、遺傳學、並行計算、機器學習、心理學、最優化、穩健統計、生存分析、時間序列等34類大的專項任務研究狀況。每個分類下面都聚集了全球各行業專業人士應用R語言的最新成果內容。讀者可根據本身的興趣(如時間序列分析)選擇相應分類進一步瞭解有關內容。
R語言任務視圖分類表
分類任務名稱 |
主要研究內容 |
Bayesian貝葉斯推理 |
Bayesian Inference |
ChemPhys化學物理分析 |
Chemometrics and Computational Physics |
ClinicalTrials臨牀試驗 |
Clinical Trial Design, Monitoring, and Analysis |
Cluster聚類分析 |
Cluster Analysis & Finite Mixture Models |
Differential Equations |
|
Distributions機率分佈 |
Probability Distributions |
Econometrics計量經濟學 |
Econometrics |
Environmetrics生態環境分析 |
Analysis of Ecological and Environmental Data |
Design of Experiments (DoE) & Analysis of Experimental Data |
|
Finance實證金融 |
Empirical Finance |
Genetics統計遺傳學 |
Statistical Genetics |
Graphics圖形可視化 |
Graphic Displays & Dynamic Graphics & Graphic Devices & Visualization |
高性能並行計算 |
High-Performance and Parallel Computing with R |
MachineLearning機器學習 |
Machine Learning & Statistical Learning |
MedicalImaging醫學圖像 |
Medical Image Analysis |
MetaAnalysis元分析 |
Meta-Analysis |
Multivariate多變量統計 |
Multivariate Statistics |
Natural Language Processing |
|
Numerical Mathematics |
|
OfficialStatistics官方統計調查方法 |
Official Statistics & Survey Methodology |
Optimization最優化 |
Optimization and Mathematical Programming |
Pharmacokinetics藥物代謝動力學 |
Analysis of Pharmacokinetic Data |
Phylogenetics種系遺傳學 |
Phylogenetics, Especially Comparative Methods |
Psychometric Models and Methods |
|
Reproducible Research |
|
Robust穩健統計方法 |
Robust Statistical Methods |
SocialSciences社會科學 |
Statistics for the Social Sciences |
Spatial空間分析 |
Analysis of Spatial Data |
SpatioTemporal時空數據處理與分析 |
Handling and Analyzing Spatio-Temporal Data |
Survival生存分析 |
Survival Analysis |
TimeSeries時間序列 |
Time Series Analysis |
WebTechnologies網絡技術與服務 |
Web Technologies and Services |
gR圖論 |
GRaphical Models in R |
系統程序也能夠經過install.packages(「ctv」)命令自動安裝「任務視圖」,安裝成功後,加載ctv包便可查閱所有分類信息。
經過install.views()命令可一次性安裝某類(如TimeSeries)視圖下的所有可用包。
1.4 使用幫助
開源軟件一般都有很是好的幫助系統,不管對於初學者仍是熟練者都能帶來很大的幫助。R固然也不例外。R中提供的幫助主要有如下幾種:
1.4.1 HTML幫助文檔,這是最經常使用的幫助文檔,方法是輸入help.start()命令,程序會自動打開瀏覽器,連接到本地安裝的幫助文檔。包括入門文檔(Manuals)、索引(Reference)、問答(Windows FAQ)及搜索(Search Engine & Keywords)等功能。其中索引(Reference)下的包(Packages)爲本地已安裝全部R包列表。
1.4.2 命令幫助文檔,若是已經知道一個函數的名稱(好比mean),須要瞭解其所屬的包、用途、用法、參數說明、返回值、參考文獻、相關函數以及範例等,可使用以下命令:help(「mean」) (引號能夠省略),或?mean,程序會打開瀏覽器,顯示該函數的詳細文檔內容,包括定義、表達式、參數含義、值、範例等。使用help(package=「包名」)命令還能夠查看具體包的詳細內容和其餘信息。
1.4.3 參數幫助文檔,對於函數,可使用args()命令獲取函數參數。
1.4.4 搜索文檔,若是不知道函數具體用法(如mean),可使用以下命令進行搜索:??mean
程序會打開瀏覽器,列出全部mean()函數的搜索結果,這些結果說明mean()函數在不一樣包的定義、應用有多是不同的,讀者可根據搜索結果詳細閱讀有關內容。這種方法(??)等同於輸入help.search(「」)命令。
1.4.5 示例文檔,對於函數用例,還可使用example(「」)(引號能夠省略)命令執行示例。
1.4.6 演示文檔,使用demo()能夠查看示範程序,demo()會按照包分組,列出全部可用的演示文檔。輸入可演示的名稱能夠進行演示。
1.4.7 系統關鍵字和運算符幫助文檔,與函數的幫助相似,可是須要加上單引號。
1.4.8 函數文檔,使用apropos(「關鍵詞」)能夠找到全部包含「關鍵詞」的可用函數。
1.4.9 PDF文檔,使用vignette(「主題詞」)能夠列出全部包含「主題詞」的可用PDF文檔。
1.4.10官方網站搜索,前述各類幫助方法都受限於本地環境已經安裝的包。若是要搜索R中全部的資源(包,函數、數學方法等),可使用RSiteSearch(「」)命令,或者在R的官方網站搜索,輸入:https://www.r-project.org/search.html