參考內容:教程一,
非數值型變數(類別變數和順序變數)在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...