1 R語言基本知識

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

DifferentialEquations微分方程

Differential Equations

Distributions機率分佈

Probability Distributions

Econometrics計量經濟學

Econometrics

Environmetrics生態環境分析

Analysis of Ecological and Environmental Data

ExperimentalDesign試驗設計

Design of Experiments (DoE) & Analysis of Experimental Data

Finance實證金融

Empirical Finance

Genetics統計遺傳學

Statistical Genetics

Graphics圖形可視化

Graphic Displays & Dynamic Graphics & Graphic Devices & Visualization

HighPerformanceComputing

高性能並行計算

High-Performance and Parallel Computing with R

MachineLearning機器學習

Machine Learning & Statistical Learning

MedicalImaging醫學圖像

Medical Image Analysis

MetaAnalysis元分析

Meta-Analysis

Multivariate多變量統計

Multivariate Statistics

NaturalLanguageProcessing天然語言處理

Natural Language Processing

NumericalMathematics數值分析

Numerical Mathematics

OfficialStatistics官方統計調查方法

Official Statistics & Survey Methodology

Optimization最優化

Optimization and Mathematical Programming

Pharmacokinetics藥物代謝動力學

Analysis of Pharmacokinetic Data

Phylogenetics種系遺傳學

Phylogenetics, Especially Comparative Methods

Psychometrics心理學

Psychometric Models and Methods

ReproducibleResearch 可重複性研究

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

相關文章
相關標籤/搜索