《R實戰》讀書筆記二
第一章 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實戰》讀書筆記二