第一章 快速入門
剛開始認識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 表明改檔案是使...