主要应用:对于水平值的修改,整理
library(forcats)
library(tibble)
library(dplyr)
library(magrittr)
library(ggplot2)
x1 <- c("Jan","Apr","Mar","Dec")
x2 <- c("Dec","Apr","Jam","Mar")
sort(x2)
#可以看到上述对于分类变量的排序没有实际意义,同时,出现错误不会报错Jam
#因子可以解决:有效水平
#创建因子
y1 <- factor(x1) #x1即为有效水平,可以通过factor参数levels设置水平。
month_levels <- c("Jan","Feb","Mar","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
y2 <- factor(x1,levels = month_levels)
y3 <- factor(x2,levels = month_levels) #不在水平中的将变成NA
#可以看到两者排序的区别,如果事先规定因子水平,则排序会有意义
sort(y1)#排序发现变化,与原来X1的排序不一样,可以通过unique参数
f1 <- factor(x1,levels = unique(x1))
sort(y2)
#以数据集gss_cat,来展示因子函数的一些操作