R是專門用于資料分析和統計的腳本語言,廣泛應用在每一個需要統計和資料分析的領域。使用R做資料模組化、資料統計和分析是一個發現未知和驚喜的旅程,前提,你必須邁出第一步,去學習R語言。R是一種解釋型語言,這意味着代碼在運作之前不需要編譯,在學習R語言時,首先需要安裝R,通路網站 https://www.r-project.org/,下載下傳适合作業系統的R安裝包,我下載下傳的是用于Windows作業系統中的 R 3.4.2 版本;其次,一款好用的IDE,是學習路上的好助手,我推薦使用RStudio,這是一款專門用于R開發的開源內建開發環境(IDE),官方下載下傳位址是:RStudio,RStudion內建了控制台程式(終端),本文通過控制台介紹R的使用。
R是一種區分大小寫的解釋性語言,R語句的分隔符是分号“;”,或換行符,當語句結束時,可以不使用分号“;”,R語言會自動識别語句結束的位置。R語言隻支援單行注釋,注釋由符号#開頭,目前行出現在#之後的任何文本都會被R解釋器忽略。R腳本的一次執行叫做一個會話(Session),可以通過函數quit()退出目前的會話,
quit(save = "default", status = 0, runLast = TRUE)
q(save = "default", status = 0, runLast = TRUE)
在目前會話中建立的任何R對象(資料、函數、圖形等)都儲存在記憶體中。建立的變量都需要存儲到到環境中,即環境是存儲變量的地方,通常情況下,不需要直接跟環境打交道,R會自動建立環境來存儲變量,例如,當配置設定一個變量時,該變量會自動存儲到全局環境中,當調用函數時,R自動建立一個環境,用于存儲與該函數相關的變量。
一,管理工作空間
工作空間(WorkSpace)是目前R的工作環境,存儲着使用者定義的所有對象(向量,矩陣,函數,資料框,清單,函數等)。在一個R會話結束時,使用者可以把目前的工作空間儲存導一個鏡像(image)檔案中,并在下次啟動R時自動載入。
1,儲存工作空間
把工作空間儲存到鏡像檔案中,擴充名預設是.RData。
save.image("myfile")
2,載入工作空間
從鏡像檔案中讀取資料,把工作空間讀取到目前的會話中
load("myfile")
3,列出目前工作空間的對象
在目前工作空間中建立的變量都存儲在記憶體中,ls()和objects() 用于列出指定環境中的對象:
ls(pattern)
參數 pattern是正規表達式,隻有名稱比對該pattern的變量才會傳回。缺失該參數(ls()),表示傳回目前環境中的所有變量名。
4,移除目前工作空間的對象
rm()和 remove() 用于移除工作空間中的對象,這兩個函數的定義和作用是一樣的:
rm (..., list = character(), pos = -1,
envir = as.environment(pos), inherits = FALSE)
移除目前工作空間中的所有記憶體變量:
rm(list=ls())
5,空間空間選項
例如,空間小數位數為2,
digits: controls the number of digits to print when printing numeric values.
options(digits=2)
二,工作目錄
工作目錄(Working Directory)是R用來讀取檔案和儲存結果的預設目錄,如果需要讀取一個不在目前工作目錄下的檔案,則需要在調用語句中寫明完整的路徑。
1,檢視目前的工作目錄
getwd()
2,設定目前的工作目錄
setwd("mydirectory")
在Windows系統中,R将反斜杠(\)視為一個轉移字元,setwd("c:\myfile")會報錯,兩個反斜杠"\\"代表一個反斜杠,正确的寫法是:
setwd("c:/myfile")
setwd("c:\\myfile")
三,輸入和輸出
使用者可以執行寫在一個腳本檔案中的指令,并可以直接把結果輸出到不同的目标檔案中。
1,執行腳本檔案
函數source("file"),在目前會話中執行一個R腳本,如果檔案名中不包括路徑,R會到目前的工作目錄中查找腳本檔案。R引擎執行腳本檔案之後,把結果儲存到記憶體中,需要重定向輸出,才能看到輸出的文本或圖形。
source("myfile")
2,重定向檔案輸出
函數sink("file")把輸入重定向到檔案中,預設情況下,如果檔案已經存在,則它的内容會被覆寫。使用參數append=TRUE可以把輸出的資料追加到檔案的末尾,而不是覆寫。參數split=TRUE,指定把輸出同時發送到螢幕和檔案中,不加參數調用指令sink(),将僅向螢幕傳回輸出結果。
sink("file")
3,重定向圖形輸出
用于儲存圖形輸出的常用函數有如下三個:
bmp("file.bmp")
jpeg("file.jpg")
pdf("file.pdf")
最後使用dev.off()把圖形輸出,傳回到終端。
四,控制台操作
在控制台(Console)中輸入的任何指令,都被記錄下來,使用者可以通過上/下方向鍵檢視(上翻/下翻)已輸入的指令。
當輸入的指令很多時,可以通過快捷鍵 Ctrl+L 可以清空控制台,但不會清空指令的曆史記錄。
五,擷取幫助
help("function")函數用于檢視函數的幫助,引号可以省略,也直接使用?fun來擷取幫助:
help("q")
?q
如果使用RStudio,可以直接通過Help菜單擷取幫助:
六,加載示例資料集
step1,使用data()函數列出目前已經加載包中所有的所有可用示例資料集,例如
->data()
step2,把示例資料集載入到目前的會話中,也就是把dataset_name對應的對象加載到目前會話中,使用者可以直接在會話中通過dataset_name直接引用:
>data("dataset_name")
>data(dataset_name)
當對系統資料集進行編輯之後,想要恢複(restore)該資料集,做法是删除該資料集:
rm(dataset.name)
這是因為R環境的處理方式決定的,R_GlobalEnv 環境(“全局變量環境”)把全局變量隐藏在庫中,但它們不會被覆寫。 當GlobalEnv環境中的變量名稱被清除後,該庫将再次成為評估該變量名稱的預設結果。
七,調整畫布裝置
在Windows作業系統中,執行以下代碼調整畫布的大小:
win.graph(width=4.875, height=2.5,pointsize=8)
參考文檔:
作者:悅光陰
出處:http://www.cnblogs.com/ljhdo/
本文版權歸作者和部落格園所有,歡迎轉載,但未經作者同意,必須保留此段聲明,且在文章頁面醒目位置顯示原文連接配接,否則保留追究法律責任的權利。