因子
2018-08-31
2018-08-31
数据结构-因子
因子的基本含义为“元素、因素、成分”。R语言对因子的处理,建立在一定的条件下,用来整合具备某些相同特征的数据。
1 因子创建
首先,创建向量a
a<-c("乾","震","坎","艮","坤","巽","离","兑") #向量a(创建包含8个元素的字符串)
str(a) # 查看a的结构信息(查看数据结构得知向量a为字符型)
## chr [1:8] "乾" "震" "坎" "艮" "坤" "巽" "离" "兑"
其次,将字符串向量转换为因子
(y1factor <- factor(a)) # 将字符串型向量a转换为因子y1factor并显示
## [1] 乾 震 坎 艮 坤 巽 离 兑
## Levels: 兑 艮 坎 坤 离 乾 巽 震
然后,判断因子否创建完成
is.factor(y1factor) # 判断是否为因子
## [1] TRUE
最后,按照因子水平排列
levels(y1factor) # 按照因子水平值的升序显示所对应的类别值
## [1] "兑" "艮" "坎" "坤" "离" "乾" "巽" "震"
本例中向量a包含了8个元素,转为为因子后有8个水平。
通过str()查看结构信息,得知为字符串型。
c <- factor(向量名))将其转换为因子
levels函数按因子的水平值升序,依次显示对应类别值。
2 因子参数
基本书写格式为:
factor(向量名,levels=c(类别值列表),labels=c(类别值列表))
参数levels是原类别值,labels为新类别值,彼此一一对应。
X<-c("50","60","80","98") # 创建向量X
(Y<-factor(X,levels=c("50","60","80","98"))) #转换为因子
## [1] 50 60 80 98
## Levels: 50 60 80 98
重新设定因子的类别值
(Y<-factor(X,levels=c("50","60","80","98"),labels=c("不及格","及格","良好","优秀")))# 重设类别值
## [1] 不及格 及格 良好 优秀
## Levels: 不及格 及格 良好 优秀
- 通过参数levels和labels,将原类别值“50”,“60”,“80”,“90”依次替换为“不及格”,“及格”,“良好”,“优秀”。