【问题标题】:How to create a binary relation matrix of pair occurrences from a list of strings?如何从字符串列表中创建对出现的二元关系矩阵?
【发布时间】:2019-10-05 04:54:43
【问题描述】:

有一个包含特定基因的文件列表,我想在 R 中创建一个二元关系矩阵,显示每个文件中每个基因的存在。

例如,这里是我的文件 aaabbbcccddd 以及与它们相关的基因。

aaa=c("HERC1")
bbb=c("MYO9A", "PKHD1L1", "PQLC2", "SLC7A2")
ccc=c("HERC1")
ddd=c("MACC1","PKHD1L1")

我需要生成另一个表,其中对于每对基因,如果它们都存在于特定文件中,我将其赋值为 1,否则为 0。按照我之前给出的示例,这个新表应该如下所示:

有人知道在 R 中获得这个新的 bigenic 表的快速方法吗?谢谢!

【问题讨论】:

    标签: r contingency


    【解决方案1】:

    假设您可以将文件读入命名列表,这是使用tidyverse 的一种方法 -

    file_list <- list(aaa = aaa, bbb = bbb, ccc = ccc, ddd = ddd)
    
    result <- stack(file_list) %>% 
      inner_join(stack(file_list), by = c("ind" = "ind")) %>% 
      select(gene1 = values.x, gene2 = values.y, file_name = ind) %>%
      mutate(n = 1) %>% 
      complete(gene1, gene2, file_name, fill = list(n = 0)) %>% 
      filter(gene1 != gene2,
             !duplicated(
               apply(., 1, function(x) paste0(sort(x), collapse = ""))
             )
      ) %>% 
      spread(file_name, n)
    
    # A tibble: 15 x 6
       gene1   gene2     aaa   bbb   ccc   ddd
       <chr>   <chr>   <dbl> <dbl> <dbl> <dbl>
     1 HERC1   MACC1       0     0     0     0
     2 HERC1   MYO9A       0     0     0     0
     3 HERC1   PKHD1L1     0     0     0     0
     4 HERC1   PQLC2       0     0     0     0
     5 HERC1   SLC7A2      0     0     0     0
     6 MACC1   MYO9A       0     0     0     0
     7 MACC1   PKHD1L1     0     0     0     1
     8 MACC1   PQLC2       0     0     0     0
     9 MACC1   SLC7A2      0     0     0     0
    10 MYO9A   PKHD1L1     0     1     0     0
    11 MYO9A   PQLC2       0     1     0     0
    12 MYO9A   SLC7A2      0     1     0     0
    13 PKHD1L1 PQLC2       0     1     0     0
    14 PKHD1L1 SLC7A2      0     1     0     0
    15 PQLC2   SLC7A2      0     1     0     0 
    

    【讨论】:

      猜你喜欢
      • 2019-10-02
      • 1970-01-01
      • 1970-01-01
      • 2018-05-20
      • 1970-01-01
      • 2015-12-21
      • 2013-05-28
      • 1970-01-01
      • 2016-07-29
      相关资源
      最近更新 更多