【问题标题】:How do I make a column/vector that orders rows sequentially based on another vector's identity. R [duplicate]如何创建一个列/向量,该列/向量根据另一个向量的标识按顺序排列行。 R [重复]
【发布时间】:2021-07-24 05:16:18
【问题描述】:

我有一个包含所有外显子和外显子所属基因的数据框。 当前的外显子名称并不代表它们的顺序。 我根据起始基因组位置对它们进行了排序, 所以现在我只需要生成一个列,根据基因给他们一个订单号。

数据框顶部的示例:

基因外显子

GENE1,“789”,
基因1,“953”,
基因1,“102”,
GENE2, "43024",
GENE3,“542”,
基因3,“047”,

这就是我希望我的数据框看起来的样子:

基因外显子基因组顺序

基因1,“789”,1

基因1,“953”,2

基因1,“102”,3

基因2,“43024”,1

基因3,“542”,1

基因3,“047”,2

如何创建一个根据另一个向量的标识对行进行顺序排序的列。

【问题讨论】:

    标签: r dataframe vector seq genome


    【解决方案1】:

    你可以试试下面的代码ave

    transform(df, Order = ave(1:nrow(df),GENE,FUN = seq_along))
    

    【讨论】:

      【解决方案2】:

      data.table

      library(data.table)
      setDT(df)[, Order :=  rowid(GENE)]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-04
        • 1970-01-01
        • 1970-01-01
        • 2022-06-28
        • 2016-03-06
        • 1970-01-01
        相关资源
        最近更新 更多