代码之家  ›  专栏  ›  技术社区  ›  Adrian

R:如何转换数据框从列表到向量?

  •  0
  • Adrian  · 技术社区  · 4 年前
    mydat <- structure(list(A = list(0.0513386405422815, 0.0498556819169294), 
                            B = list(0.101635583229926, 0.108375425286815), 
                            C = list(0.0505800651643873, 0.0491970061885759), 
                            D = list(0.100497645341106, 0.107056699263229)), row.names = 1:2, class = "data.frame")
    > mydat$A
    [[1]]
    [1] 0.05133864
    
    [[2]]
    [1] 0.04985568
    

    mydat 是一个数据框,但其列都在 list 格式。有没有一种快速的方法把这些转换成向量?

    2 回复  |  直到 4 年前
        1
  •  1
  •   ThomasIsCoding    4 年前

    你可以试试

    > out <- list2DF(Map(unlist, mydat))
    > str(out)
    'data.frame':   2 obs. of  4 variables:
     $ A: num  0.0513 0.0499
     $ B: num  0.102 0.108
     $ C: num  0.0506 0.0492
     $ D: num  0.1 0.107
    
        2
  •  0
  •   Nicolás Velasquez    4 年前

    lapply(mydat, unlist)
    $A
    [1] 0.05133864 0.04985568
    
    $B
    [1] 0.1016356 0.1083754
    
    $C
    [1] 0.05058007 0.04919701
    
    $D
    [1] 0.1004976 0.1070567
    
    推荐文章