R基础四(因子)

2020-02-19  本文已影响0人  多啦A梦的时光机_648d

因子

因子最大的作用就是用来分类,计算频数和频率。

变量分类

  1. 名义型变量(例如广东,深圳等,彼此独立,没有顺序)
  2. 有序型变量 (例如病情状况good,better,best)
  3. 连续型变量(例如1,5,7,8等数值为连续的数量变化)

名义型变量和连续型变量在R中为因子(factor),这些分类变量的可能值称为一个水平(level),例如good,better,best都称为一个level。
由这些水平值构成的向量称为因子。

计算频数
独立性检验
相关性检验
方差分析
主成分分析
因子分析

在许多绘图函数中,输入的数据也必须是因子。
table()统计频数
例如mtcars

> mtcars
> mtcars$cyl    ##去除cyl这一列作为因子数据
 [1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
> table(mtcars$cyl)  ##统计频数
 4  6  8 
11  7 14   ##cyl这一列可以作为因子类型,其中4,6,8为因子的level。
> f <- factor(c('red','blue','yellow','grey','red'))
> f
[1] red    blue   yellow grey   red   
Levels: blue grey red yellow

这样的level是没有顺序的,可以自己手动添加顺序。

> f <- factor(c('mon','sat','fri','mon','thu','sun'), ordered = T, levels= c('mon','tue','wen','thu','fri','sat','sun'))
> f
[1] mon sat fri mon thu sun
Levels: mon < tue < wen < thu < fri < sat < sun  ##次数levels就有顺序了

> fcyl <- factor(mtcars$cyl)  ##将向量转换为因子
> fcyl
 [1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
Levels: 4 6 8

此时可以分别对mtcarscyl和factor(mtcarscyl)绘图。

> mtcars$cyl
 [1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
> fcyl <- factor(mtcars$cyl)
> fcyl
 [1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
Levels: 4 6 8
plot(mtcars$cyl)
plot(factor(mtcars$cyl))
mtcars$cyl factor(mtcars$cyl)
上一篇 下一篇

猜你喜欢

热点阅读