複製鏈接
請複製以下鏈接發送給好友

R語言

(計算機軟件)

鎖定
R是用於統計分析繪圖的語言和操作環境。R是屬於GNU系統的一個自由、免費、源代碼開放的軟件,它是一個用於統計計算和統計製圖的優秀工具
中文名
R語言
外文名
The R Programming Language
功    能
統計分析、繪圖
開發者
Ross Ihaka,Robert Gentleman
誕生地
新西蘭 奧克蘭大學

R語言發展歷史

R是統計領域廣泛使用的誕生於1980年左右的S語言的一個分支。可以認為R是S語言的一種實現。而S語言是由AT&T貝爾實驗室開發的一種用來進行數據探索、統計分析和作圖的解釋型語言。最初S語言的實現版本主要是S-PLUS。S-PLUS是一個商業軟件,它基於S語言,並由MathSoft公司的統計科學部進一步完善。後來新西蘭奧克蘭大學的Robert Gentleman和Ross Ihaka及其他志願人員開發了一個R系統。由“R開發核心團隊”負責開發。R可以看作貝爾實驗室(AT&T BellLaboratories)的Rick Becker、John Chambers和Allan Wilks開發的S語言的一種實現。當然,S語言也是S-Plus的基礎。所以,兩者在程序語法上可以説是幾乎一樣的,可能只是在函數方面有細微差別,程序十分容易地就能移植到一程序中,而很多一的程序只要稍加修改也能運用於R。

R語言R語言的特點

R作為一種統計分析軟件,是集統計分析與圖形顯示於一體的。它可以運行於UNIX、Windows和Macintosh的操作系統上,而且嵌入了一個非常方便實用的幫助系統,相比於其他統計分析軟件,R還有以下特點:
1.R是自由軟件。這意味着它是完全免費,開放源代碼的。可以在它的網站及其鏡像中下載任何有關的安裝程序、源代碼、程序包及其源代碼、文檔資料。標準的安裝文件自身就帶有許多模塊和內嵌統計函數,安裝好後可以直接實現許多常用的統計功能。 [1] 
2.R是一種可編程的語言。作為一個開放的統計編程環境,語法通俗易懂,很容易學會和掌握語言的語法。而且學會之後,我們可以編制自己的函數來擴展現有的語言。這也就是為什麼它的更新速度比一般統計軟件,如SPSS、SAS等快得多。大多數最新的統計方法和技術都可以在R中直接得到。 [1] 
3. 所有R的函數和數據集是保存在程序包裏面的。只有當一個包被載入時,它的內容才可以被訪問。一些常用、基本的程序包已經被收入了標準安裝文件中,隨着新的統計分析方法的出現,標準安裝文件中所包含的程序包也隨着版本的更新而不斷變化。在另外版安裝文件中,已經包含的程序包有:base—R的基礎模塊、mle—極大似然估計模塊、ts—時間序列分析模塊、mva—多元統計分析模塊、survival—生存分析模塊等等。 [1] 
4.R具有很強的互動性。除了圖形輸出是在另外的窗口處,它的輸入輸出窗口都是在同一個窗口進行的,輸入語法中如果出現錯誤會馬上在窗口中得到提示,對以前輸入過的命令有記憶功能,可以隨時再現、編輯修改以滿足用户的需要。輸出的圖形可以直接保存為JPG、BMP、PNG等圖片格式,還可以直接保存為PDF文件。另外,和其他編程語言和數據庫之間有很好的接口。 [1] 
5.如果加入R的幫助郵件列表一,每天都可能會收到幾十份關於R的郵件資訊。可以和全球一流的統計計算方面的專家討論各種問題,可以説是全世界最大、最前沿的統計學家思維的聚集地。 [1] 
R是基於S語言的一個GNU項目,所以也可以當作S語言的一種實現,通常用S語言編寫的代碼都可以不作修改的在R環境下運行。R的語法是來自Scheme。R的使用與S-PLUS有很多類似之處,這兩種語言有一定的兼容性。S-PLUS的使用手冊,只要稍加修改就可作為R的使用手冊。所以有人説:R,是S-PLUS的一個“克隆”。
但是請不要忘了:R是免費的(R is free)。R語言源代碼託管在github,具體地址可以看參考資料。 [2] 
R語言的下載可以通過CRAN的鏡像來查找。
R語言有域名為.cn的下載地址,有六個,其中兩個由Datagurn,由中國科學技術大學提供的。R語言Windows版,其中由兩個下載地點是Datagurn和USTC提供的。

R語言語言環境

R語言之父:Ross Ihaka R語言之父:Ross Ihaka
R是一套由數據操作、計算和圖形展示功能整合而成的套件。包括:有效的數據存儲和處理功能,一套完整的數組(特別是矩陣)計算操作符,擁有完整體系的數據分析工具,為數據分析和顯示提供的強大圖形功能,一套(源自S語言)完善、簡單、有效的編程語言(包括條件、循環、自定義函數、輸入輸出功能)。
在這裏使用“環境”(environment)是為了説明R的定位是一個完善、統一的系統,而非其他數據分析軟件那樣作為一個專門、不靈活的附屬工具。

R語言功能

R是一套完整的數據處理、計算和製圖軟件系統。其功能包括:數據存儲和處理系統;數組運算工具(其向量、矩陣運算方面功能尤其強大);完整連貫的統計分析工具;優秀的統計製圖功能;簡便而強大的編程語言:可操縱數據的輸入和輸出,可實現分支、循環,用户可自定義功能。
與其説R是一種統計軟件,還不如説R是一種數學計算的環境,因為R並不是僅僅提供若干統計程序、使用者只需指定數據庫和若干參數便可進行一個統計分析。R的思想是:它可以提供一些集成的統計工具,但更大量的是它提供各種數學計算、統計計算的函數,從而使使用者能靈活機動的進行數據分析,甚至創造出符合需要的新的統計計算方法。
該語言的語法表面上類似C,但在語義上是函數設計語言(functional programming language)的變種並且和Lisp以及APL有很強的兼容性。特別的是,它允許在“語言上計算”(computing on the language)。這使得它可以把表達式作為函數的輸入參數,而這種做法對統計模擬和繪圖非常有用。
R是一個免費的自由軟件,它有UNIX、LINUX、MacOS和WINDOWS版本,都是可以免費下載和使用的。在那兒可以下載到R的安裝程序、各種外掛程序和文檔。在R的安裝程序中只包含了8個基礎模塊,其他外在模塊可以通過CRAN獲得。
R的源代碼可自由下載使用,亦有已編譯的執行檔版本可以下載,可在多種平台下運行,包括UNIX(也包括FreeBSD和Linux)、Windows和MacOS。 R主要是以命令行操作,同時有人開發了幾種圖形用户界面。
R內建多種統計學及數字分析功能。因為S的血緣,R比其他統計學或數學專用的編程語言有更強的物件導向(面向對象程序設計)功能。
R的另一強項是繪圖功能,製圖具有印刷的素質,也可加入數學符號。
雖然R主要用於統計分析或者開發統計相關的軟體,但也有人用作矩陣計算。其分析速度可媲美GNU Octave甚至商業軟件MATLAB。
R的功能能夠通過由用户撰寫的套件增強。增加的功能有特殊的統計技術、繪圖功能,以及編程界面和數據輸出/輸入功能。這些軟件包是由R語言、LaTeX、Java及最常用C語言和Fortran撰寫。下載的執行檔版本會連同一批核心功能的軟件包,而根據CRAN紀錄有過千種不同的軟件包。其中有幾款較為常用,例如用於經濟計量、財經分析、人文科學研究以及人工智能。 [3] 

R語言R語言環境

R是一套由數據操作、計算和圖形展示功能整合而成的套件。包括:有效的數據存儲和處理功能,一套完整的數組(特別是矩陣)計算操作符,擁有完整體系的數據分析工具,為數據分析和顯示提供的強大圖形功能,一套(源自S語言)完善、簡單、有效的編程語言(包括條件、循環、自定義函數、輸入輸出功能)。
在這裏使用“環境”(environment)是為了説明R的定位是一個完善、統一的系統,而非其他數據分析軟件那樣作為一個專門、不靈活的附屬工具。
R很適合被用於發展中的新方法所進行的交互式數據分析。由於R是一個動態的環境,所以新發布的版本並不總是與之前發佈的版本完全兼容。某些用户歡迎這些變化因為新技術和新方法的所帶來的好處;有些則會擔心舊的代碼不再可用。儘管R試圖成為一種真正的編程語言,但是不要認為一個由R編寫的程序可以長命百歲。

R語言R與統計

在我們對R語言環境的介紹中並沒有提到統計,不過很多人都把R作為一個統計系統來使用。我們傾向於把它當作環境,使得經典和現代統計技術在其中得到應用。一部分已經被內建在基本的R語言環境中,但是更多的是以包的形式提供的。由8個包是隨着R一同提供的(稱作標準包),其它的可以通過CRAN的成員網站獲得。
通過R可以使用絕大多數的經典或者最新的統計方法,不過用户需要花一些功夫來找出這種方法。
S(和R)與其他主流的統計系統在本質上有一個很重要的不同。在S中,統計分析通常由一系列的步驟完成,同時將交互的結果存儲在對象中。所以,儘管SAS和SPSS在一個迴歸或者判別分析中會給出豐富的輸出結果,R只是給出一個最小的輸出,而將結果保存在一個適當的對象中由R函數進行後續查詢。

R語言R與視窗系統

使用R最便捷的方式是在一個運行視窗系統的圖形工作站上。這份指南就是為擁有這項便利的用户準備的。儘管我們絕大部分的內容都是來講R環境的一般應用,我們還是會時不時的提到R在Xwindow系統下的應用。
與操作系統的直接互動對多數用户來説都是必要的。在這份指南中我們主要討論在UNIX系統下的互動,所以Windows下的R用户需要做出一些小的調整。
對工作站的定製是一項直接而有效但又單調乏味的過程,在這裏我們並不會作更深入的討論。如果您在這方面遇到了困難可以向你身邊的專家尋求幫助。

R語言R包及其使用

R語言R包介紹

R語言的使用,很大程度上是藉助各種各樣的R包的輔助,從某種程度上講,R包就是針對於R的插件,不同的插件滿足不同的需求,截至2013年3月6日,CRAN已經收錄了各類包4338個。例如用於經濟計量、財經分析、人文科學研究以及人工智能。

R語言安裝包

1、通過選擇菜單:
程序包->安裝程序包->在彈出的對話框中,選擇你要安裝的包,然後確定。
2、使用命令
install.packages("package_name","dir")
package_name:是指定要安裝的包名,請注意大小寫。
dir:包安裝的路徑。默認情況下是安裝在..\library 文件夾中的。可以通過本參數來進行修改,來選擇安裝的文件夾。
3、本地來安裝
如果你已經下載的相應的包的壓縮文件,則可以在本地來進行安裝。請注意在windows、unix、macOS操作系統下安裝文件的後綴名是不一樣的:
1)linux環境編譯運行:tar.gz文件
2)windows 環境編譯運行 :.zip文件
3)MacOS環境編譯運行:.tgz文件

R語言加載包

包安裝後,如果要使用包的功能。必須先把包加載到內存中(默認情況下,R啓動後默認加載基本包),加載包命令:
Library(“包名”)
Require(“包名”)

R語言查看包的相關信息

1、查看包幫忙
library(help="package_name")
主要內容包括:例如:包名、作者、版本、更新時間、功能描述、開源協議、存儲位置、主要的函數
help(package = "package_name")
主要內容包括:包的內置所有函數,是更為詳細的幫助文檔
2、查看當前環境哪些包加載
find.package() 或者 .path.package()
3、移除包出內存
detach()
4、把其它包的數據加載到內存中
data(dsname, package="package_name")
5、查看這個包裏的包有數據
data( package="package_name")
6、列出所有安裝的包
library()

R語言CRAN

CRAN為Comprehensive R Archive Network(R綜合典藏網)的簡稱。它除了收藏了R的執行檔下載版、源代碼和説明文件,也收錄了各種用户撰寫的軟件包。現時,全球有超過一百個CRAN鏡像站。

R語言安裝

以下簡述R FOR WINDOWS的安裝和使用:
貝爾實驗室美國總部 貝爾實驗室美國總部
下可以找到R的各個版本的安裝程序和源代碼。點擊進入:Windows (95 and later),再點擊:base,下載SetupR.exe,約18兆,此便是R FOR WINDOWS的安裝程序。雙擊SetupR.exe,按照提示一步步安裝即可。
安裝完成後,程序會創建R程序組並在桌面上創建R主程序的快捷方式(也可以在安裝過程中選擇不要創建)。通過快捷方式運行R,便可調出R的主窗口。
類似於許多以編程方式為主要工作方式的軟件,R的界面簡單而樸素,只有不多的幾個菜單和快捷按鈕。快捷按鈕下面的窗口便是命令輸入窗口,它也是部分運算結果的輸出窗口,有些運算結果則會輸出在新建的窗口中。
主窗口上方的一些文字是剛運行R時出現的一些説明和指引。文字下的:> 符號便是R的命令提示符,在其後可輸出命令;>後的矩形是光標。R一般是採用交互方式工作的,在命令提示符後輸入命令,回車後便會輸出結果。
在R樸素的界面下,是豐富而複雜的運算功能。
參考資料
  • 1.    楊中慶 .基於R語言的空間統計分析研究與應用 :暨南大學 ,2006
  • 2.    R語言源代碼  .github[引用日期2013-09-19]
  • 3.    R語言   .開源社區網[引用日期2012-08-14]