创建组变量

时间:2016-04-01 15:53:19

标签: r

我有这个数据框df

    A       B
    value1  a
    value1  b
    value1  c
    value2  a
    value2  b
   value 2  c
   value 2  d

我想要有这样的东西

A       B  group
value1  a  1
value1  b  1
value1  c  1
value2  a  2
value2  b  2
value2  c  2
value2  d  2

也就是说,我想创建一个对相同A值进行分组的变量。你怎么说这是最好的方法呢?

实施例

    id          code  
    2012-10-20  R     
    2012-10-20  L     
    2012-10-20  K     
    2015-04-28  K     
    2015-04-28  L     
    2015-04-28  L     

Desidered:

    id          code  group
    2012-10-20  R     1
    2012-10-20  L     1
    2012-10-20  K     1
    2015-04-28  K     2
    2015-04-28  L     2
    2015-04-28  L     2

谢谢!

2 个答案:

答案 0 :(得分:2)

执行此操作的最简单方法可能是使用as.factor

df$group <- as.numeric(as.factor(df$id))

答案 1 :(得分:0)

如果您只想将A中的值用作一个组,那么您已经拥有了它。如果要从A创建有序分组,A是有序变量(日期,数字,因子等),请执行以下操作:

library(dplyr)

df %>% mutate(group = dense_rank(A))