数据结构之因子

变量分为名义型、有序型和连续型变量。名义型变量是没有顺序之分的类别变量。有序型变量表示一种顺序关系,而不是数量关系。病情status(poor, improve, excellent) 是顺序型变量的例子。连续型变量可以呈现出某个范围内的任意值,并同时表示了顺序和数量。年龄age就是一个连续型变量。

类别(名义型)变量和有序类别(有序型)变量在R中成为因子(factor)。它决定了数据的分析方式和如何进行视觉呈现。

假设有向量:

> diabetes <- c("Type1", "Type2", "Type1", "Type1")

语句

> diabetes <- factor(diabetes)

可以将此向量存储为(1, 2, 1, 1),并在内部将其关联为1=Type1,2=Type2(具体赋值根据字幕顺序而定)。

要表示有序型变量,需要为factor()指定参数ordered=TRUE。语句:

> diabetes <- factor(diabetes, ordered=TRUE)

会将变量编码为(1, 2, 1, 1),并在内部关联值1=Type1,2=Type2。然而默认的排序往往不令人满意,可以使用参数levels指定排序顺序。

 

> diabetes <- factor(diabetes, ordered=TRUE,
+ levels=c("Type1", "Type2"))

 

2014-2-11 16:56:56