天天看點

R實戰 開篇:介紹R的使用

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菜單擷取幫助:

R實戰 開篇:介紹R的使用

六,加載示例資料集

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/

本文版權歸作者和部落格園所有,歡迎轉載,但未經作者同意,必須保留此段聲明,且在文章頁面醒目位置顯示原文連接配接,否則保留追究法律責任的權利。