代码之家  ›  专栏  ›  技术社区  ›  ah bon

使用R将列表转换为列表列表

  •  2
  • ah bon  · 技术社区  · 4 年前

    如何转换字符串列表 a 到列表 b

    a = list('A', 'B', 'C')
    

    然后把它转换成

    b = list(list('A'), list('B'), list('C'))
    

    使用R?谢谢

    2 回复  |  直到 4 年前
        1
  •  3
  •   TarJae    4 年前

    应用函数 list 上榜 a :

    lapply(a, list)
    
    [[1]]
    [[1]][[1]]
    [1] "A"
    
    
    [[2]]
    [[2]][[1]]
    [1] "B"
    
    
    [[3]]
    [[3]][[1]]
    [1] "C"
    
    
        2
  •  2
  •   PaulS    4 年前

    一个可能的解决方案,使用 purrr::map :

    library(tidyverse)
    
    a = list('A', 'B', 'C')
    b = list(list('A'), list('B'), list('C'))
    
    a %>% map( ~ list(.x)) %>% identical(b)
    
    #> [1] TRUE
    
    a %>% map( ~ list(.x))
    
    #> [[1]]
    #> [[1]][[1]]
    #> [1] "A"
    #> 
    #> 
    #> [[2]]
    #> [[2]][[1]]
    #> [1] "B"
    #> 
    #> 
    #> [[3]]
    #> [[3]][[1]]
    #> [1] "C"
    

    或者简单地说:

    map(a, list)