How to append group row into dataframe

后端 未结 9 2002
借酒劲吻你
借酒劲吻你 2021-02-07 10:55

I have this df1:

A B C
1 2 3
5 7 9

where A B C are columns names.

I have another df2 with one column:

A
1
         


        
9条回答
  •  灰色年华
    2021-02-07 11:48

    By analogy with @useR's excellent Base R answer, here's a tidyverse solution:

    library(purrr)
    
    map2_df(df1, df2, c)
    
      A B C
    1 1 2 3
    2 5 7 9
    3 1 1 1
    4 2 2 2
    5 3 3 3
    6 4 4 4
    

    Here are a few other (less desirable) options from when I first answered this question.

    library(dplyr)
    
    bind_rows(df1, df2 %>% mutate(B=A, C=A))
    

    Or, if we want to dynamically get the number of columns and their names from df1:

    bind_rows(df1,
              df2[,rep(1,ncol(df1))] %>% setNames(names(df1)))
    

    And one more Base R method:

    rbind(df1, setNames(df2[,rep(1,ncol(df1))], names(df1)))
    

提交回复
热议问题