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

避免在dplyr中重复as_tible()

  •  0
  • rnorouzian  · 技术社区  · 3 年前

    目前,我正在使用多个 as_tibble(a_matrix) 最后一行代码中的命令。为了避免重复这个命令,最短的选择是什么?

    (T1 = matrix(c(2,3,5,2, 3,4,4,5),4,2)  )      
    colnames(T1) <- c("y1", "y2")
    
    (T2 = matrix(c(4:6, 8,6,7),3,2)  )      
    colnames(T2) <- colnames(T1) 
    
    (T3 = matrix(c(7,8,10,9,7, 6,7,8,5,6),5,2)  )      
    colnames(T3) <- colnames(T1) 
    
    # bind rows of T1,T2 & T3 score matricies for the 3 groups:
    (dat <- bind_rows(as_tibble(T1),as_tibble(T2),as_tibble(T3),.id = "group"))
    
    1 回复  |  直到 3 年前
        1
  •  0
  •   Ronak Shah    3 年前

    map 命令。

    list_df <- list(T1, T2, T3)
    dat <- purrr::map_df(list_df, as.data.frame, .id = 'group')
    dat
    
    #   group y1 y2
    #1      1  2  3
    #2      1  3  4
    #3      1  5  4
    #4      1  2  5
    #5      2  4  8
    #6      2  5  6
    #7      2  6  7
    #8      3  7  6
    #9      3  8  7
    #10     3 10  8
    #11     3  9  5
    #12     3  7  6