【问题标题】:Sort column with text and number使用文本和数字对列进行排序
【发布时间】:2014-09-17 21:29:00
【问题描述】:

我正在尝试按第一列对多个 csv 文件进行排序。这是我得到的输出示例:

OR7
OR8
OR10
OR100
OR101
OR102
OR103
OR104
OR105
OR106
OR107
OR109
OR11
OR111
OR113
OR114
OR115
OR117
OR119

这是我正在使用的命令:sort -k 1.3,1.4n -k1.5n file(我按第一列排序) 但是我希望它像这样排序:

OR7
OR8
OR10
OR11
OR100
OR101
OR102
OR103
OR104
OR105
OR106
OR107
OR109
OR111
OR113
OR114
OR115
OR117
OR119

我知道这里还有其他类似的问题,但我不知道如何使他们的解决方案适应我的问题。 我也在使用 MacOS。我只是在看一台 Ubuntu 机器,排序有更多选项(检查“人排序”)。例如,当我尝试在我的计算机上使用 -V 时,它不起作用。 感谢您的宝贵时间。

【问题讨论】:

    标签: sorting text numbers


    【解决方案1】:

    好吧,我在 R 中找到了解决方法。因为我的目标是制作格子图。我所做的是将基因名称作为一个因素并按照我想要的顺序设置列。例如:

    OR$Gene<-factor(OR$Gene, levels=(c("OR2", "OR3", "OR4", "OR5", "OR6", "OR7", "OR8", "OR10", "OR11", "OR12", "OR13", "OR14", "OR15", "OR16", "OR17", "OR18", "OR19", "OR20", "OR21", "OR23", "OR24", "OR25", "OR26", "OR27", "OR28", "OR30", "OR31", "OR33", "OR36", "OR39", "OR41", "OR42", "OR43", "OR44", "OR45", "OR47", "OR48", "OR49", "OR50", "OR52", "OR55", "OR56", "OR59", "OR62", "OR63", "OR66", "OR67", "OR69", "OR70", "OR71", "OR72", "OR76", "OR78", "OR79", "OR80", "OR81", "OR84", "OR85", "OR86", "OR87", "OR88", "OR91", "OR92", "OR93", "OR94", "OR95", "OR96", "OR97", "OR98", "OR100", "OR101", "OR102", "OR103", "OR104", "OR105", "OR106", "OR107", "OR109", "OR111", "OR113", "OR114", "OR115", "OR117", "OR119", "OR121", "OR122", "OR123", "OR124", "OR125", "OR126", "OR130"))
    

    然后通过 xyplot 打印命令,我使用了 index.cond:

    index.cond = list(OR$Gene),
    

    嗯,我得到了我想要的,我相信这可能是一个更简单的方法。 最好的,

    【讨论】:

      猜你喜欢
      • 2021-04-28
      • 2016-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-04
      • 2012-09-20
      相关资源
      最近更新 更多