R语言学习笔记:因子(Factors)

  • 因子提供了一个简单并且紧凑的形式来处理分类(名义上的)数据。因子用”水平level”来表示所有可能的取值。如果数据集有取值个数固定的名字变量,因子就特别有用。

    • > g<-c("f","m","f","f","m")
      > g
      [1] "f" "m" "f" "f" "m"
      > g<-factor(g)#因子化
      > g
      [1] f m f f m
      Levels: f m#有几种可选的值

    • 若五个人全部是m,但是你需要两个备选值,可以用如下语法

> other.g<-factor(c("m","m","m","m","m"),levels=c("f","m"))
> other.g


[1] m m m m m
Levels: f m

    • 计算每个元素出现的次数,使用table()函数

> table(g)
g
f m
3 2

    • table()函数还可以用于获得多个因子的交叉表

>  age<-factor(c('adult','adult','adult','adult','juvenile'))
> table(age,g)


          g
age        f m
  adult    3 1
  juvenile 0 1

    • 计算表的边际(margin)和频率。
      • 计算边际

> t<-table(age,g)


> margin.table(t,1)#按照年龄查看边际

age
   adult juvenile
       4        1
> margin.table(t,2)
g
f m
3 2

      • 计算频率

> prop.table(t,1)#

          g
age           f    m
  adult    0.75 0.25

> prop.table(t)

#查看整个表的频率
          g

age          f   m
  adult    0.6 0.2
  juvenile 0.0 0.2

posted @ 2013-11-10 14:05  joey周琦  阅读(3703)  评论(0编辑  收藏  举报