作為一個掌握和瞭解過不知道多少程式語言的老猴子,基本的 R Lang 的介紹、R 程式和 R Studio 的安裝等等我就不在這裡贅述了。我們第一節課直接從基本的概念和語法開始。
物件 Object
R Lang 是物件導向的程式設計語言。這裡的物件和其他物件導向程式設計語言有區別之處。在 R Lang 中,暫時可以認為物件即萬物,而不是類似於 Java 那樣,是一個型別的實例化產物。
在 R Lang 中,儲存資料的向量(vector)、矩陣(matrix)、陣列(array)、列表(list)、資料框架(data frames)以及執行特定運算指令的函式(function)等都可以被稱作物件。
R Lang 基本運算符號
指令提示符號
與 Python 類似,R Lang 是完整的解釋型語言,這也意味著我們可以透過向 R 發送指令去讓 R 執行一定的操作。
指令提示符號預設情況下是一個 >
,可以透過以下命令將其修改為任意的字串:
指派運算符號
R 的指派運算符號和其他程式語言擁有很大的不同。雖然我們依舊可以透過 =
這個常見的符號去將一個值指派給一個變數,然而由於 =
在 R 中尚有其他用處,因此多數 R Programmer 建議使用另一個符號 <-
,你可以透過按下鍵盤上的 option -
快捷鍵(Windows鍵盤是 Alt -
)來快速打出這個符號。
註釋符號
R Lang 中的註釋符號和 Python、Shell 等解釋型語言是相同的,都是以 #
開頭。習慣上我們把整行的註釋使用 ##
開頭,而行內註釋使用 #
開頭。
工作目錄的查詢和修改
R 專案中產生的物件或者暫時檔案,都會儲存在這個專案的工作目錄或工作路徑中。
可以透過以下指令來查看和修改工作目錄:
當我們建立了一個 R 專案(R Project),其根目錄就是當前專案的工作目錄。一般情況下,不建議隨意修改專案的工作目錄。
物件的查詢和刪除
透過 object()
或 ls()
函式來查詢當前的物件列表。
透過rm()
函式來刪除物件。
函式 Function
R Lang 中的函式同其他程式語言基本相同。需要特別說明的是 R Lang 中的引數(arguments)。R Lang 函式中的引數與 Python 類似,分為必要引數和可選引數。必要引數即必須要傳入的引數,而可選引數則非必需。呼叫函式的時候建議加上引數的名字。例如:
套件 Packages
特定的統計分析方法許多專用的函式集合成一組套件(package)。這個概念類似於很多程式設計語言的套件概念。但有所不同的是,在強物件導向設計語言中,例如 Java,套件是一系列型別的組合。而 R Lang 中的套件則更類似是一個函式庫。
套件的安裝
使用函式 install.packages()
安裝所需的套件,然後使用 library()
函式來載入它。例如安裝套件 survival
:
你可能已經察覺了,在我們 install.packages()
函式中,套件的名字是加上雙引號的,而在 library()
函式中則沒有。這說明第一個名字是一個字串,僅僅代表了這個套件的名字,而第二個則是代表了這個套件。
通常,在使用 library()
函式引入之後,我們就可以使用這個套件中的函式了。為了避免多個套件中有相同的函式名字,我們可以使用 ::
來做串連。格式是:package.name::function.name()
。例如,我們使用 ggplot2
這個套件中的 ggplot()
這個函式,我們就可以這樣寫: