1. 程式人生 > >《R實戰》讀書筆記二

《R實戰》讀書筆記二

.wang col ott director pan tle outfile sink cto

第一章 R簡單介紹

本章概要

1安裝R

2理解R語言

3執行R程序

本章所介紹的內容概括例如以下。

一個典型的數據分析步驟如圖1所看到的。

技術分享

圖1:典型數據分析步驟

簡而言之,現今的數據分析要求我們從多種數據源中獲取數據、數據合並、標註、清洗和分析。而且把分析的結果進行展示,形成報告或者系統。輔助決策。R可以滿足現今數據分析的要求。

為什麽用R?

R是一個適合統計分析和畫圖的環境與語言。它是開源、免費的。獲得世界範圍社區支持。

統計分析和畫圖工具已經非常多了。比如:SPSS。SAS。Excel,Stata和Minitab等。為什麽還要用R呢?R的諸多特性,能夠回答這個問題。

1)R是免費的,大多數統計工具都是商業化的,即要花錢。

2)R是一個功能強大全面的統計分析平臺。一個典型的數據分析過程都能夠用R來完畢。

3)R具有強大的畫圖能力。

4)R是一個可以進行交互式數據分析和探索的平臺。

5)R是一個以easy且直觀的方式編寫統計方法的無與倫比的平臺。

6)R實現了非常多高級統計方法。

7)R能夠在多個系統上執行。

8)R對於不想編程的人,提供GUI,實現R所能做的事情。

獲得和安裝R

從網址http://cran.r-project.org獲得R安裝程序。

R工作

R是一個有大寫和小寫之分的解釋型語言。你能夠在命令提示符(>)每次輸入一條命令或者在一個源文件裏寫好全部命令集。

R的賦值符號是”<-“。

> x <- rnorm(5) # 向量x包括5個服從標準正態分布的隨機數

R在Windows系統的GUI如圖2所看到的。

技術分享

圖2:Windows系統下GUI

R實例一,數據集為10個嬰兒年齡(單位:月)和體重(單位:千克)。

程序清單例如以下:

> Age <- c(1, 3, 5, 2, 11, 9, 3, 9, 12, 3)

> Weight <- c(4.4, 5.3, 7.2, 5.2, 8.5, 7.3, 6.0, 10.4, 10.2, 6.1)

> mean(Weight)

[1] 7.06

> sd(Weight)

[1] 2.077498

> cor(Age, Weight)

[1] 0.9075655

> plot(Age, Weight)

關於Age與Weight的散點圖如圖3所看到的。

技術分享

圖3:10個嬰兒的Age-Weight散點圖

退出界面,運行例如以下函數。

> q()

R幫助系統非常強大,通過幫助能夠獲得R中已安裝包的函數的細節、參考和實例。R 中獲得幫助的方法。

方法一:help.start()

方法二:help("foo")或者?foo

方法三:help.search("foo")或者??foo

方法四:example("foo")

方法五:RSiteSearch("foo")

方法六:apropos("foo",mode="function")

方法七:data()

方法八:vignette()

方法九:vignette("foo")

R 工作空間是R當前工作環境和用戶定義的全部對象。

(向量、列表、數組、矩陣、數據框 和函數等)

管理R空間的一些函數。

函數一:getwd()

函數二:setwd("mydirectory")

函數三:list()

函數四:rm(objectname)

函數五:help(options)

函數六:options()

函數七:history(#)

函數八:savehistory("myfile")

函數九:loadhistory("myfile")

函數十:save.image("myfile")

函數十一:load("myfile")

函數十二:save(objectlist, file="myfile")

R實例二,數據集20個服從標準均勻分布的隨機數

> setwd("E://myproject")

>options()

>options(digits=3)

>x <- runif(20)

>summary(x)

>hist(x)

>savehistory(x)

>save.image()

>q()

R腳本輸入方法,即source("myscript.R")

文本輸出方法。即sink("myfilename")

圖形輸出方法,即pdf("xxx.pdf")或者png("xxx.png")或者jpeg("xxx.jpg")或者bmp("xxx.bmp")等。

R包

R功能之所以強大,原因之中的一個就是具有許多的功能擴展包。R包下載地址例如以下:

http://cran.r-project.org/web/packages/

為什麽要用R包。

R包是R函數、數據,可編譯代碼的聚合。

.libPaths() #顯示包安裝路徑

library() # 查看已安裝的包

search() #告知那些包已裝載和能夠使用

R軟件安裝完成後,自帶包(標準包)有base。datasets,utils。grDevices。graphics。stats和methods。

安裝包方法,即 install.packages("packagename")

更新包方法。即update.packages()

了解已安裝包的具體信息方法,即installed.packages()

載入包(前提是該包已經安裝)的方法,即library("packagename")

對新安裝包的學習和認知方法,即help(package="packagename")

批處理

適合反復性工作

形式:R CMD BATCH options infile outfile

結果重用

f分析的結果能夠保存。並作為下一次的輸入。

R實例三。數據集R自帶的mtcars。

程序清單:

>lmfit <- lm(mpg ~ wt, data=mtcars)

>summary(lmfit)

>plot(lmfit)

>predict(lmfit, mynewdata)

對待大數據集

R所處理的一切都視為對象代之,而且是把對象載入到內存中進行操作和處理。

因而,R能處理多大的數據集取決於作業環境的內存容量。

使用R進行數據分析,須要考慮兩點,一是數據的大小。二是統計分析的方法。

R可以處理GB級到TB級數據。

但特殊過程特殊處理。

R實例

秉承”學以致用、活學活用“的原則。以一個綜合實例融合上述內容。

R綜合實例,程序清單例如以下。

>help.start()

>library()

>install.package("vcd")

>help(package="vcd")

>library(vcd)

> help(Arthritis)

> Arthritis

> example(Arthritis)

>q()

執行效果如圖4所看到的。

技術分享

總結

1 )R的優勢。

2 )因R非常適合理解數據,吸引非常多用戶群(學生、研究人員、統計學者、數據分析師等)。

3?)RGUI、R安裝、R包、R程序、R幫助、R結果保存、R批處理等內容。

Resoure:

1.http://www.wangluqing.com/2014/06/r-in-action-note2/

2.《R in action》第一部分的第一章

《R實戰》讀書筆記二