標籤:

R語言第一二章學習筆記

最近對於R的學習有點耽誤了。後面抓緊。

R 的使用

R是區分大小寫的解釋性語言, 在命令符(>)後輸入並執行命令,或者一次性執行寫在腳本文件中的一組命令。

R語句由函數和賦值構成,賦值符號是>- ,注釋由符號#開頭,#後出現的任何文本都會被忽略。

書中案列:10名嬰兒的體重分布和月齡的關係。

目前對於不同函數的名稱和運用不熟悉,大多函數還不認識。

運行demo()時出現書中的案列所示的R能作出的一些圖形。

鍵入幫助函數時help.start()顯示幫助文檔首頁

用於管理R工作空間的命令示例。

注意setwd()命令中使用了正斜杠,R將反斜杠作為轉義符。工作目錄的那個文件夾要自己新建(或者使用函數dir.creat()創建),然後setwd()指向到那個文件夾。

輸入輸出示例

source("script1.R")

執行文件名為script1.R的腳本文件

> sink("myoutput",append=TRUE,split=TRUE )

> pdf("mygraphs.pdf")

> source("script2.R")

執行文件名為script2.R的腳本文件,而且文本輸出被追加到文件myoutput中,圖形輸出保存到mygraphs.pdf中。

> sink()

> dev.off()

> source("script3.R")

文件script3.R被執行,沒有文本和圖形保存帶文件中。

函數libPaths()顯示庫所在位置,函數library()顯示庫中有什麼包。

命令install.packages("包名"),可以直接下載安裝某包,不加包名將顯示CRAN鏡像站點列表。

要使用某包時,用命令library(包名)載入。一個會話中某包只需載入一次。如果某包頻繁使用可設置自動載入,在附錄B中有詳細描述。

注意1.4節後的「R語言編程中的常見錯誤」提示。

輸出用為輸入,輸出的結果重新用

以汽車數據mtcars為例,通過車身重量wt預測每加侖行駛的英里數mpg 。

im(mpg-wt, date=mtcars)

lmfit <- im(mpg-wt, date=mtcars) 在一個名為lmfit的列表中保存結果

summary(lmfit) 顯示統計概要

plot(lmfit) 生成回歸診斷圖形

cook<-cooks.distance(lmfit) 計算保存影響度量統計量

plot(cook) 繪圖

predict(lmfit,mynewdata) 預測在不同的新的車身重量對應的每加侖行駛英里數mpg。

向量

向量用來儲存數值型,字元型,邏輯性數據的一維數組,標量時只含有一個元素的向量。執行函數C()創建向量。

單個向量中的數據必須是相同的類型和模式,如同樣是數值型或者字元型或者邏輯型。

方括弧「[]」用來訪問向量中指定位置的元素。冒號「:」表示一個序列的數值。如a<-c(2:6)等價於a<-c(2,3,4,5,6)

執行書中示例

矩陣

矩陣是個二維數組,每個元素也都有相同的類型和模式,如同樣是數值型或者字元型或者邏輯型。執行函數matrix()創建矩陣。

創建個5*4的矩陣和5*5的矩陣(默認按列填充)。

的數值。如a<-c(2:6)等價於a<-c(2,3,4,5,6)

執行書中示例

創建了一個5*6的矩陣,設置按行填充。

創建一個按行填充的2*2的矩陣,並且定義了行名和列名。

自我練習,把數字2到10這9個數值創建成一個三行三列的按照行排列的矩陣,分別定義行名列名為jkl和uio。用[]中括弧分別取第三行的數值、第二列的數值、第三行第一列的數值、第一行第一列及第三列的數值。

數組

練習創建一個2*3*4的數組,並定義其行名列名,並取z[2,1,4]的數值。數組中的數據也只能是一種模式或類型。

數據框

數據框跟矩陣不同的是不同列可以包含不同模式的數據,如數值型、字元型。通過函數date.frame()創建。

操作書中糖尿病表格的示例.選取顯示1-3列。選取顯示diabetes,status兩列。使用$加列名可直接顯示當列數據,也可顯示多列的關聯列表。

在糖尿病的這個例子上使用attach(),detach()函數,通過summary()顯示出不同列的一些概況,並嘗試繪製病人編號與年齡的散點圖。

在糖尿病的這個例子上使用with()函數,在with()中要創建with()結構之外的對象使用特殊賦值符號<<- ,這個符號創建的對象被保存到with()之外的全局環境中。這裡存在一個疑問,書中在with()中敲入2個以上的賦值時,彼此之間是怎麼間隔的?我敲入時出錯了。

列表

操作書中列表示例。列表中顯示指明的某數據,用雙重方括弧[[]]。也可使用$

鍵盤輸入數據

不過書中直接在程序中嵌入數據集的示例冒號「」中的數據換行是怎麼輸入的還沒搞明白。此處留有問題待解決。

推薦閱讀:

人人都想做離經叛道的蘭徹,為何最後卻只能成為死記硬背的查圖爾?
【學習筆記】中國精算師A4經濟學(1)
智慧家長 | 不發怒的孩子,更容易長成脾氣暴躁的大人
數據分析之漫漫征途的開始
怎麼才能學好語文?有什麼方法?

TAG:學習 |