美文网首页
R中可以处理因子的一切-forcats包(一)

R中可以处理因子的一切-forcats包(一)

作者: 灵活胖子的进步之路 | 来源:发表于2022-10-03 10:29 被阅读0次

    forcats包是tidyverse生态中的一个,所以直接加载tidyverse就好了哈

    library(tidyverse)
    
    rm(list = ls()) 
    options(stringsAsFactors = T)
    
    #构建因子,默认按照字母顺序
    months <- c("Dec","Apr","Jan","Mar")
    months <- factor(months);months
    
    因子默认按照字母顺序
    #设定因子水平
    month_levels <- c("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
    months1 <- factor(months, levels = month_levels)
    months1
    
    可手动设定因子水平
    #不在你顺序中的值变成NA
    x1 <- c("Apr","Mar","Jan","Dee")
    factor(x1, levels = month_levels)
    
    因子是已经分类变量的集合体
    #按照因子第一次出现的顺序构建水平
    months %>% factor() %>% fct_inorder()
    
    按照第一次出现的顺序排序因子水平
    f <- factor(c("a", "b", "c", "d"), 
                levels = c("b", "c", "d", "a"))
    ## 把c,d放在地第1位,第2位
    fct_relevel(f, c("c", "d"))
    
    fct_relevel默认吧后面参数的水平放在最前面
    # 把`a`放到最后的位置
    fct_relevel(f, "a", after = Inf)
    
    after参数可以设定在谁后面
    ## 按照某个函数重新排序
    f<- fct_relevel(f, sort);f
    
    sort默认从低到高
    ## 反转顺序
    fct_relevel(f, rev)
    
    
    与原顺序相反

    相关文章

      网友评论

          本文标题:R中可以处理因子的一切-forcats包(一)

          本文链接:https://www.haomeiwen.com/subject/orfeartx.html