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

六,加載示例數據集

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)

 

參考文檔:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM