如何将序列号归因于数据框中的元素?

时间:2017-03-20 15:33:29

标签: r dataframe transform

我有一个带ID(名称)的数据框,如下所示:

head(ped1)
 V1       V2       V3
 31701    31272    25526
 31702    31272    26002
 31703    31272    25861
 31704    31272    24324
 31705    31272    31413
 31706    31272    31701

我需要为第一列的每个元素赋予新ID(顺序号)。此外,列V1中的ID可以显示在V2和V3中。

所以ID必须在其他列中匹配,如下所示:

     head(ped1)
     V1       V2       V3
     1        7        8
     2        7        9
     3        7        10
     4        7        11
     5        7        12
     6        7        1

如何归因新ID?

1 个答案:

答案 0 :(得分:0)

以下是使用matchsapply在使用unlist获得的ID的唯一向量时使用# get IDs as a vector ids <- unique(unlist(df)) # produce data.frame with new ids by feeding each variable to match, using ids as table data.frame(lapply(df, match, table=ids)) V1 V2 V3 1 1 7 8 2 2 7 9 3 3 7 10 4 4 7 11 5 5 7 12 6 6 7 1 df <- read.table(header=TRUE, text="V1 V2 V3 31701 31272 25526 31702 31272 26002 31703 31272 25861 31704 31272 24324 31705 31272 31413 31706 31272 31701") 的基础R的方法。

a(validator: { val, obj, errors ->
  if (!val ...) { 
    errors.rejectValue('a', 'whatever.problem')
    return
  }
  if (!obj.b ...) { 
    errors.rejectValue('b', 'some.other.problem')
    return
  }
  if (!obj.c ...) { 
    errors.rejectValue('c', 'another.problem')
    return
  }
})

数据

{{1}}