因子
因子最大的作用就是用來分類,計(jì)算頻數(shù)和頻率。
變量分類
- 名義型變量(例如廣東,深圳等,彼此獨(dú)立,沒有順序)
- 有序型變量 (例如病情狀況good,better,best)
- 連續(xù)型變量(例如1,5,7,8等數(shù)值為連續(xù)的數(shù)量變化)
名義型變量和連續(xù)型變量在R中為因子(factor),這些分類變量的可能值稱為一個(gè)水平(level),例如good,better,best都稱為一個(gè)level。
由這些水平值構(gòu)成的向量稱為因子。
- 因子作用
計(jì)算頻數(shù)
獨(dú)立性檢驗(yàn)
相關(guān)性檢驗(yàn)
方差分析
主成分分析
因子分析
在許多繪圖函數(shù)中,輸入的數(shù)據(jù)也必須是因子。
table()統(tǒng)計(jì)頻數(shù)
例如mtcars
> mtcars
> mtcars$cyl ##去除cyl這一列作為因子數(shù)據(jù)
[1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
> table(mtcars$cyl) ##統(tǒng)計(jì)頻數(shù)
4 6 8
11 7 14 ##cyl這一列可以作為因子類型,其中4,6,8為因子的level。
- 可以利用factor()函數(shù)將向量轉(zhuǎn)換為因子,或者說用factor()函數(shù)來定義因子。
> f <- factor(c('red','blue','yellow','grey','red'))
> f
[1] red blue yellow grey red
Levels: blue grey red yellow
這樣的level是沒有順序的,可以自己手動(dòng)添加順序。
> f <- factor(c('mon','sat','fri','mon','thu','sun'), ordered = T, levels= c('mon','tue','wen','thu','fri','sat','sun'))
> f
[1] mon sat fri mon thu sun
Levels: mon < tue < wen < thu < fri < sat < sun ##次數(shù)levels就有順序了
> fcyl <- factor(mtcars$cyl) ##將向量轉(zhuǎn)換為因子
> fcyl
[1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
Levels: 4 6 8
此時(shí)可以分別對(duì)mtcarscyl)繪圖。
> mtcars$cyl
[1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
> fcyl <- factor(mtcars$cyl)
> fcyl
[1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
Levels: 4 6 8
plot(mtcars$cyl)
plot(factor(mtcars$cyl))

mtcars$cyl

factor(mtcars$cyl)