- 在线时间
- 27 小时
- 最后登录
- 2013-5-20
- 注册时间
- 2012-11-2
- 听众数
- 15
- 收听数
- 1
- 能力
- 0 分
- 体力
- 3870 点
- 威望
- 0 点
- 阅读权限
- 60
- 积分
- 1335
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 347
- 主题
- 320
- 精华
- 0
- 分享
- 0
- 好友
- 6
升级   33.5% TA的每日心情 | 奋斗 2013-6-15 16:58 |
---|
签到天数: 24 天 [LV.4]偶尔看看III
 群组: 第四届数学中国美赛实 |
因子(factor)和有序因子(ordered factor) 因子用来存储类别变量(categorical variables)和有序变量,这类变量不能用来计算而只能用来分类或者计数。
& c, H" I8 } i+ n$ K) D: j1 b( K3 r因子表示分类变量,有序因子表示有序变量。 T7 r% O+ L4 v; p7 s
生成因子数据对象的函数是factor(),语法是factor(data, levels, labels, ...),其中data是数据,levels是因子水平向量,labels是因子的' ? n- P* ?% r" n) R% R N
/ M3 V, P/ T( v0 l' r标签向量。) `( t3 i5 E f) E9 t9 @
1、创建一个因子。. P. c5 C: R0 l5 o+ O* w: K
例1:colour <- c('G', 'G', 'R', 'Y', 'G', 'Y', 'Y', 'R', 'Y')9 \: ~) t& q1 i l1 v
col <- factor(colour)
2 q( s3 J; {: o6 v8 ~4 Vcol1 <- factor(colour, levels = c('G', 'R', 'Y'), labels = c('Green', 'Red', 'Yellow')) #labels的内容替换colour相应位置对应levels的内容# l, T7 e5 p8 V9 o
col2 <- factor(colour, levels = c('G', 'R', 'Y'), labels = c('1', '2', '3'))
) _6 S: q1 k8 O; S) [col_vec <- as.vector(col2) #转换成字符向量7 P0 V3 Q6 {3 D: ?2 h8 N- M: w
col_num <- as.numeric(col2) #转换成数字向量% q7 ?# j! z Z' c
col3 <- factor(colour, levels = c('G', 'R'))
2 X, R' X# g2 W# I4 p
1 n5 L. K! V# i- J) e2、创建一个有序因子。9 q1 R- @* E. X2 m$ F+ D" x/ H3 }
例1:score <- c('A', 'B', 'A', 'C', 'B')
& j( q" m7 F" [/ V, uscore1 <- ordered(score, levels = c('C', 'B', 'A')); score1' `9 b5 D: m( x1 X; \2 u
+ y: J5 K* G* p$ K' d V3、用cut()函数将一般的数据转换成因子或有序因子。
( W" b) q4 Z& F 例1:exam <- c(98, 97, 52, 88, 85, 75, 97, 92, 77, 74, 70, 63, 97, 71, 98,
9 F7 s. v$ T- g 65, 79, 74, 58, 59, 60, 63, 87, 82, 95, 75, 79, 96, 50, 88)
1 E0 M- I* u1 z) b _! \exam1 <- cut(exam, breaks = 3) #切分成3组 @2 ~4 _6 Z, e+ p' A
exam2 <- cut(exam, breaks = c(0, 59, 69, 79, 89, 100)) #切分成自己设置的组
* t. }% C- q! Y4 x9 tattr(exam1, 'levels'); attr(exam2, 'levels'); attr(exam2, 'class')
6 q3 ~$ `* w7 yordered(exam2, labels = c('bad', 'ok', 'average', 'good', 'excellent')) #一个有序因子
: M6 _0 F0 b# |- B: [% i" T3 F' C7 g5 t2 u+ B6 g( O- o
" ^3 X9 F( A, a8 H3 z+ L8 F
|
zan
|