【问题标题】:Reorder Factor Variables in R [duplicate]R中的重新排序因子变量[重复]
【发布时间】:2018-08-15 17:36:57
【问题描述】:

感谢您的帮助!

我想要的向量:

s = c(2, 2, 2, 4, 4, 3, 5, 1)

成为

s = c(1, 1, 1, 2, 2, 3, 4, 5).

我没有排序!

【问题讨论】:

    标签: r


    【解决方案1】:

    使用rleid

    data.table::rleid(s)
    [1] 1 1 1 2 2 3 4 5
    

    【讨论】:

      【解决方案2】:

      在基础 R

      cumsum(c(TRUE, diff(s) != 0))
      #[1] 1 1 1 2 2 3 4 5
      

      【讨论】:

        【解决方案3】:

        使用基础 R 中的 rleinverse.rle

        s <- c(2, 2, 2, 4, 4, 3, 5, 1)
        
        rl <- rle(s)
        rl$values <- sort(unique(s))
        s <- inverse.rle(rl)
        
        s
        # [1] 1 1 1 2 2 3 4 5
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-03-01
          • 2022-01-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多