因子是一种向量对象,它给自己的组件指定了一个离散的分类(分组),它的组件由其他等长的向量组成。R提供了有序因子和无序因子。
通俗点说,因子就是将对象的值分成不同的组(levels)。
用函数factor()创建一个因子,levels按序排列(字母序或数值序)。
例如province<-c("四川","湖南","江苏","四川","四川","四川","湖南","江苏","湖南","江苏"),为province创建因子:
> pf<-factor(province) 创建province的因子pf
> pf 打印出来
[1] 四川 湖南 江苏 四川 四川 四川 湖南 江苏 湖南 江苏
Levels: 湖南 江苏 四川
函数levels()可以用来观察因子中有多少不同的levels。
假如我们拥有这些省份考生的分数:
> score<-c(95,86,84,92,84,79,86,99,85,90)
函数tappley()可以用来计算各省的平均分数,函数tapply()的作用是对它第一个参数的组件中所包含的每个组应用一个参数三指定的函数。
> smeans<-tapply(score,pf,mean)
> smeans
湖南 江苏 四川
85.66667 91.00000 87.50000
再例如,下面命令会给出各组的length
> tapply(score,pf,length)
湖南 江苏 四川
3 3 4
函数ordered()可以创建有序因子
> ordered(province)
[1] 四川 湖南 江苏 四川 四川 四川 湖南 江苏 湖南 江苏
Levels: 湖南 < 江苏 < 四川
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29050044/viewspace-2136405/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29050044/viewspace-2136405/