【转】R语言里的因子factor
(2014-11-26 09:28:23)
标签:
股票 |
分类: 每天学点新东西 |
地址:http://blog.sina.com.cn/s/blog_59f8748e01011in6.html
http://www.biostatistic.net/thread-2342-1-1.html
http://www.dengfeilong.com/post/factor.html
在R语言中,因子(factor)表示的是一个符号、一个编号或者一个等级,即,一个点。例如,人的个数可以是1,2,3,4......那么因子就包括,1,2,3,4.....还有统计量的水平的时候用到的高、中、低,也是因子,因为他是一个点。与之区别的向量,是一个连续性的值,例如,数值中有1,1.1,1.2......可以作为数值来计算,而因子则不可以。如果用我自己的理解,简单通俗来讲:因子是一个点,向量是一个有方向的范围。
因子(Factor) 一个因子不仅包括分类变量本身还包括变量不同的可能水
平(即使它们在数据中不出现)。因子函数factor用下面的选项创建一
个因子:
factor(x, levels = sort(unique(x), na.last =
TRUE),
labels = levels, exclude = NA, ordered =
is.ordered(x))
levels 用来指定因子可能的水平(缺省值是向量x中互异的值);labels
用来指定水平的名字;exclude表示从向量x中剔除的水平值;ordered是
一个逻辑型选项用来指定因子的水平是否有次序。回想数值型或字符型
的x。下面有一些例子:
> factor(1:3)
[1] 1 2 3
Levels: 1 2 3
> factor(1:3, levels=1:5)
[1] 1 2 3
Levels: 1 2 3 4 5
> factor(1:3, labels=c("A", "B", "C"))
[1] A B C
Levels: A B C
> factor(1:5, exclude=4)
[1] 1 2 3 NA 5
Levels: 1 2 3 5
函数levels用来提取一个因子中可能的水平值:
> ff <- factor(c(2, 4), levels=2:5)
> ff
[1] 2 4
Levels: 2 3 4 5
> levels(ff)
[1] "2" "3" "4" "5"