【问题标题】:Turn a tibble into a named vector in R [duplicate]在R中将一个小标题变成一个命名向量[重复]
【发布时间】:2021-07-14 10:54:14
【问题描述】:

我想将 R 中的 tibble(部分如下所示)转换为命名向量,其中每个唯一的 gs_name 映射到与其对应的 ensembl_genes 列表。我该怎么做?

# A tibble: 6 x 2
  gs_name                  ensembl_gene  
  <chr>                    <chr>         
1 ABBUD_LIF_SIGNALING_1_DN WBGene00002717
2 ABBUD_LIF_SIGNALING_1_DN WBGene00006518
3 ABBUD_LIF_SIGNALING_1_DN WBGene00000542
4 ABBUD_UP WBGene00000546
5 ABBUD_UP WBGene00013434
6 ABBUD_UP WBGene00001579

【问题讨论】:

  • split(df$ensembl_genes, df$gs_name)
  • 请使用dput()分享您的数据,不要使用图片。图像不适合视障人士和使用屏幕阅读器的人,并且无法复制和粘贴数据。谢谢。
  • @RonakShah 谢谢!

标签: r tibble


【解决方案1】:

您可以使用split 获取命名列表。

res <- split(df$ensembl_genes, df$gs_name)

【讨论】:

    【解决方案2】:

    deframe() 在这里也很有用

    library(tidyverse)
    
    df <- read_csv("gs_name,ensembl_gene  
    ABBUD_LIF_SIGNALING_1_DN,WBGene00002717
    ABBUD_LIF_SIGNALING_1_DN,WBGene00006518
    ABBUD_LIF_SIGNALING_1_DN,WBGene00000542
    ABBUD_UP,WBGene00000546
    ABBUD_UP,WBGene00013434
    ABBUD_UP,WBGene00001579")
    
    deframe(df)
    #> ABBUD_LIF_SIGNALING_1_DN ABBUD_LIF_SIGNALING_1_DN ABBUD_LIF_SIGNALING_1_DN 
    #>         "WBGene00002717"         "WBGene00006518"         "WBGene00000542" 
    #>                 ABBUD_UP                 ABBUD_UP                 ABBUD_UP 
    #>         "WBGene00000546"         "WBGene00013434"         "WBGene00001579"
    

    reprex package (v1.0.0) 于 2021-07-14 创建

    【讨论】:

      猜你喜欢
      • 2017-08-27
      • 1970-01-01
      • 1970-01-01
      • 2013-03-09
      • 1970-01-01
      • 2020-05-30
      • 1970-01-01
      • 2014-01-12
      • 2019-01-07
      相关资源
      最近更新 更多