Search code examples
rtibble

Turn a tibble into a named vector in R


I'd like to turn a tibble in R (portion of it is shown below) into a named vector, where each unique gs_name maps to a list of ensembl_genes corresponding to it. How can I do this?

# 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

Solution

  • You can use split to get a named list.

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