R語言程式設計藝術學習筆記 第一章

2021-08-14 23:21:05 字數 3932 閱讀 6901

第一章   快速入門

剛開始認識r語言,最重要是了解r語言中資料結構(當然,安裝和啟動我略掉了,大家記得安好rstudio)。

1.向量

向量包括字元型向量和數值型向量,注意向量裡面元素只能由一種組成,不能混合

例如:x<-c(1,2,3)數值型;x<-c("a","b","c")字元型

索引主要用於尋找某個具體的元素,r語言中用x[1]指向x中的第乙個元素,以此類推。

2.字串

y<-"abc"

> y

[1] "abc"

> mode(y)

[1] "character"

使用mode()函式可以判斷變數具體型別

3.矩陣

這裡的矩陣就是指高代中的矩陣,其實矩陣也是向量,和向量不同的是,矩陣的索引是x[a,b],a代表某行,b代表某列,使用matrix()函式建立矩陣,注意矩陣按列排序。

> x<-matrix(c(1:4),nrow=2,ncol=2)

> x

[,1] [,2]

[1,] 1 3

[2,] 2 4

> x[1,2]

[1] 3

4.列表

列表生成用list(),列表和向量不同之處,列表中元素既支援數值型,也支援字元型,可以通過$符號來訪問列表中具體的元件;

> x<-list(u=2,v="a")

> x

$u[1] 2

$v[1] "a"

這裡因為定義了列表中兩個元件,所以可以用$來分別訪問。

5.資料框

data.frame()用於生成資料框,資料框本質是列表,其中元素既支援數值型,也支援字元型

> x<-data.frame(list(kids=c("jack","tom"),ages=c(12,10)))

> x

kids ages

1 jack 12

2 tom 10

> x$kids

[1] jack tom

levels: jack tom

> x$ages

[1] 12 10

例項包含建立資料框以及訪問列表中元素的方法。

6.每章案例

每章案例,偏數學類,比較經典綜合,本章是考試成績的回歸分析

examsquiz<-read.table("examsquiz.txt",header=false)    #我沒找到源資料,通過在工作目錄中新增txt文件讀入#

> class(examsquiz) #檢視資料型別#

[1] "data.frame"

> head(examsquiz) #讀取資料#

v1 v2 v3

1 2.0 3.0 4.0

2 3.3 2.0 3.7

3 4.0 4.3 4.0

4 2.3 0.0 3.3

5 2.3 1.0 3.3

6 3.3 3.7 4.0

> lma<-lm(examsquiz[,2]~examsquiz[,1]) #建立乙個線性回歸模型函式是lm(),取examsquiz中第二列和第一列擬合線性模型,其中第二列代表因變數,第一列代表自變數#

> summary(lma) #對模型擬合結果進行概括性分析#

call:

lm(formula = examsquiz[, 2] ~ examsquiz[, 1])

residuals:

1 2 3 4 5 6

1.8522 -0.9261 0.4164 -1.5582 -0.5582 0.7739

coefficients:

estimate std. error t value pr(>|t|)

(intercept) -1.5880 2.3608 -0.673 0.538

examsquiz[, 1] 1.3679 0.7992 1.712 0.162

residual standard error: 1.396 on 4 degrees of freedom

multiple r-squared: 0.4228, adjusted r-squared: 0.2785 #r的平方值只有0.42,低相關性,模型擬合效果差#

f-statistic: 2.93 on 1 and 4 df, p-value: 0.1621

> lmb<-lm(examsquiz[, 2] ~ examsquiz[, 1]+examsquiz[,3]) #重新擬合,分析第2列與第1列和第3列間的線性相關性#

> summary(lmb)

call:

lm(formula = examsquiz[, 2] ~ examsquiz[, 1] + examsquiz[, 3])

residuals:

1 2 3 4 5 6

-0.01558 -0.48725 0.26938 -0.39559 0.60441 0.02464

coefficients:

estimate std. error t value pr(>|t|)

(intercept) -13.8409 2.6026 -5.318 0.0130 *

examsquiz[, 1] 0.5075 0.3470 1.463 0.2397

examsquiz[, 3] 3.9604 0.7904 5.010 0.0153 *

---signif. codes: 0 『***』 0.001 『**』 0.01 『*』 0.05 『.』 0.1 『 』 1

residual standard error: 0.5268 on 3 degrees of freedom

multiple r-squared: 0.9384, adjusted r-squared: 0.8973

#r的平方值為0.94,高度擬合,模型擬合效果好,證明第二列值受2 個自變數影響#

f-statistic: 22.84 on 2 and 3 df, p-value: 0.01529

7.獲取幫助的辦法

1.直接使用help()函式,如:help(seq),help("plot")

2.使用?

8.獲取案例的辦法

獲取案例可以幫助直接快速學習,很方便,

如:example("plot")

plot(cars)  #比如可以直接使用在某個資料集上,畫圖#

plot(table(rpois(100, 5)), type = "h", col = "red", lwd = 10,main = "rpois(100, lambda = 5)")

#複雜點可以編輯連線點型別,線條顏色,圖形寬度,主標題等等#
結束語第一章是快速入門,所有內容都是點到即止,書中後續章節會深入講解,我也會持續更新~~敬請期待~

R語言的學習(第一章)

r語言的學習 第一章 1.3r運算子 1.3.6轉換運算 作業功能 命令執行指令碼命令 ctrl enter 清空命令控制台 ctrl l 列舉物件 ls 刪除物件 rm x 刪除所有變數 rm list ls 多行注釋 ctrl shift c 1.2.1例子 r語句由函式和賦值構成。r使用 而不...

程式設計珠璣學習筆記 第一章

def fast generate n,k random list x i for i in range 0,n for i in range 0,k t int random n i i x i x t x t x i return random list這是乙個o k 效率的巧妙演算法,我自己的...

第一章學習筆記

看c primer已經好幾遍了,但是還是有很多基礎的問題,總是那樣容易忘記,這次看的時候,決定好好的寫寫讀書筆記 希望能夠認真的堅持下去。incluede的兩種不同格式 include some file 表明檔案是乙個標準工程,查詢先檢查預定義的目錄。include my file 表明改檔案是使...