【问题标题】:How can I select rows from a data frame with the highest variable in a column using R? [duplicate]如何从使用 R 的列中具有最高变量的数据框中选择行? [复制]
【发布时间】:2018-08-07 10:59:27
【问题描述】:

如果我有下面提供的数据框,是否有办法为所有基因选择最高 ID。

gene_name <- c("AADACL2", "AADACL3", "AADACL4", "AADACL4", "AADACL4", "AADACL4", "AADACL4", "AADACL4")

target_id <- c(79.0524, 62.0098, 61.6708, 65.1106, 58.6207, 63.9706, 64.3735, 61.3232)

table <- data.frame(gene_name = gene_name, id = target_id)

我想要一个看起来像这样的数据框:

gene_name_2 <- c("AADACL2", "AADACL3", "AADACL4")

target_id_2 <- c(79.0524, 62.0098, , 65.1106) 

table_2 <- data.frame(gene_name = gene_name_2, id = target_id_2)

我有比这大得多的数据集,所以需要对很多基因做这件事,我就是想不出办法来做这件事

【问题讨论】:

    标签: r dataframe bioinformatics bioconductor biomart


    【解决方案1】:
    aggregate(.~gene_name,table,max)
      gene_name      id
    1   AADACL2 79.0524
    2   AADACL3 62.0098
    3   AADACL4 65.1106
    
    
    library(tidyverse)
    
    table%>%group_by(gene_name)%>%arrange(desc(id))%>%top_n(1,id)
    # A tibble: 3 x 2
    # Groups:   gene_name [3]
      gene_name      id
         <fctr>   <dbl>
    1   AADACL2 79.0524
    2   AADACL4 65.1106
    3   AADACL3 62.0098
    

    【讨论】:

      猜你喜欢
      • 2019-06-01
      • 1970-01-01
      • 2021-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-04
      相关资源
      最近更新 更多