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