R語言 因子的構造 factor函式

2021-10-16 13:02:53 字數 2992 閱讀 3920

參考內容:教程一,

非數值型變數(類別變數和順序變數)在r語言中稱為因子,也稱為因子型變數。因子型變數內的所有非重複值,被稱為因子水平(levels)。

建立因子

在r語言中可以使用factor()函式和gl()函式來建立因子變數。

(1)使用factor()函式

factor()函式的語法格式為:

f <- factor(x=charactor(), levels, labels=levels, exclude = na, ordered = is.ordered(x), namax = na)

其中:x:資料向量,也就是被轉換成因子的向量;最簡單的因子構成可以只輸入x即可。如以下**,輸出結果中levels裡面去重顯示了了a b c d z,即為因子中的水平。

> f<- c(

'a',

'b',

'c',

'a',

'd',

'a',

'c',

'z')

> fc1<- factor(f)

> fc1[1

] a b c a d a c z

levels: a b c d z

levels

可選向量,表示因子水平,並且指定了因子中水平的排序。當此引數預設時,預設為x中包含的所有非重複值。

fc1未定義levels,因此因子中水平排序就按照字母順序來,但是fc2定義了levels,因子中的順序就據此調整。

fc3中,levels中因子不包含c,則輸出fc3裡面c所在的位置就是。

> fc2<- factor(f,levels=c(

'z',

'b',

'a',

'd',

'c')

)> fc2[1

] a b c a d a c z

levels: z b a d c

> fc3<- factor(f,levels=c(

'z',

'b',

'a',

'd')

)> fc3[1

] a b <

na> a d a <

na> z

levels: z b a d

labels:可選向量,用來給各水平單獨命名(也可理解為加標籤),預設時預設取levels的值;fc4定義了labels後,輸出結果就是各水平對應的標籤。

fc4<- factor(f,levels=c(

'z',

'b',

'a',

'd',

'c')

,labels=c(26,

2,1,

4,3)

)fc4

exclude:從x中剔除的水平值,預設為na值。使用該命令時要注意對應調整labels的長度。

fc5中嘗試剔除c,但是報錯提示labels的向量長度不對,繼而輸出預設未定義exclude時候的結果。

fc6中將labels的數量調整為4,輸出結果就將c用代替了。

> fc5<- factor(f,levels=c(

'z',

'b',

'a',

'd',

'c')

,labels=c(26,

2,1,

4,3)

,exclude=c(

'c')

)error in factor(f, levels = c(

"z",

"b",

"a",

"d",

"c")

, labels = c(26,

:'labels'不對;長度5應該是一或4

> fc5[1

] a b c a d a c z

levels: z b a d c

> fc6<- factor(f,levels=c(

'z',

'b',

'a',

'd',

'c')

,labels=c(26,

2,1,

3),exclude=c(

'c')

)> fc6[1

]12<

na>13

1<

na>

26

levels:262

13

ordered:邏輯值,因子水平是否有順序(編碼次序),若有取true,預設取false;

fc7未定義ordered,即預設為false,出來的結果沒有順序。fc8定義了,故有順序。

> fc7<- factor(f,levels=c(

'z',

'b',

'a',

'd',

'c')

,labels=c(26,

2,1,

4,3)

)> fc7[1

]123

1413

26levels:262

143> fc8<- factor(f,levels=c(

'z',

'b',

'a',

'd',

'c')

,labels=c(26,

2,1,

4,3)

,ordered=

true

)> fc8[1

]123

1413

26levels:

26<

2<

1<

4<

3

nmax:水平個數的限制。對不起這個我不想研究了就這樣吧我要睡覺。。。

總結:這個函式可。太。煩。了!

因子(factor)的研究

只有平方數有奇數個因子 包括 1 和自身 而與是否為數本身的奇偶性無關。因為因子是成對出現的 比如 1 和該數 本身 除非是完全平方數。質數的冪次方 37 的因子 所謂因子,即是能整除該數 所以乙個數的全部因子整除該數後的結果 仍然構成其全部因子 是概數的因子從小到大進行排列的逆序 如 28 的全部...

理解R語言中的factor

1.2.在r語言中,因子 factor 表示的是乙個編號或者乙個等級,即,乙個點。例如,人的個數可以是1,2,3,4 那麼因子就包括,1,2,3,4 還有描述協變數水平時,會用到高 中 低,也是因子,因為這些都是乙個點。與之區別的向量,是乙個連續性的值,例如,數值中有1,1.1,1.2 可以作為數值...

R語言 因子

因子是用於對資料進行分類並將其儲存為級別的資料物件。它們可以儲存字串和整數。它們在具有有限數量的唯一值的列中很有用。像 男性 女性 和true,false等。它們在統計建模的資料分析中很有用。使用factor 函式通過將向量作為輸入建立因子。例 create a vector as input.da...