作者简介
野菜团子,R语言中文社区专栏作者
博客:https://ask.hellobi.com/blog/esperanca
forcats包用于处理因子,可以更高效地对因子进行修改。
1. 生成因子
R语言的base包中函数如dataframe等默认因子在分类变量读入时就会生成,而tidyverse包中的readr等包则会保留数据读入时的原样不做改变,要生成因子则可以使用parse_factor函数进行处理。parse_factor函数更审慎一些,会对不在给定的因子水平中的变量取值一个警告,而base包中的factor则会直接将该值记为NA,不给出报错或警告。
x <- c("Dec", "Apr","Jam", "Mar")
month_levels <- c(
"Jan", "Feb", "Mar","Apr", "May", "Jun", "Jul","Aug", "Sep", "Oct", "Nov","Dec"
)
y <- parse_factor(x, levels = month_levels)
如下图,x中的“Jam”不在给定的因子水平中,所以返回一个警告。