gpt4 book ai didi

r - 表 R 中的选择/排序值

转载 作者:行者123 更新时间:2023-12-04 05:20:51 25 4
gpt4 key购买 nike

我在 R 中使用以下数据集进行代谢组学研究。

first Name      Area    Sample Similarity

120 Pentanone 699468 PO4:1 954

120 Pentanone 153744 PO2:1 981

126 Methylamine 83528 PO4:1 887

126 Unknown 32741 PO2:1 645

126 Sulfurous 43634 PO1:1 800

我希望能够在具有相同值(例如 120)的行中的第一列中选​​择具有相同名称的化合物(例如戊酮)。从这个选择中,我想复制对应于最高相似度的行信息并在表中创建新列。在这种情况下,以下信息:

120 Pentanone   153744  PO2:1   981

我知道“向我发送代码帖子”不是很受欢迎,我非常感谢一些关于如何开始的线索。

最佳答案

你可以使用 plyr 包:

我复制你的数据(下次尝试使用 dput(dat))

dat <- read.table(text ='first Name      Area    Sample Similarity
120 Pentanone 699468 PO4:1 954
120 Pentanone 153744 PO2:1 981
126 Methylamine 83528 PO4:1 887
126 Unknown 32741 PO2:1 645
126 Sulfurous 43634 PO1:1 800',header=TRUE)
  1. 我将我的 data.frame 按(名字和姓名)拆分
  2. 我为每组行应用函数
  3. 我在一个新的 data.frame 中聚合

    library(plyr)   
    ddply(dat,.(first,Name),function(x) x[x$Similarity==max(x$Similarity),])



    first Name Area Sample Similarity
    1 120 Pentanone 153744 PO2:1 981
    2 126 Methylamine 83528 PO4:1 887
    3 126 Sulfurous 43634 PO1:1 800
    4 126 Unknown 32741 PO2:1 645

关于r - 表 R 中的选择/排序值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13714247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com