How to append group row into dataframe

后端 未结 9 2025
借酒劲吻你
借酒劲吻你 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:33

    I just love R, here is yet another Base R solution but with mapply:

    data.frame(mapply(c, df1, df2))
    

    Result:

      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
    

    Note:

    No need to deal with colnames like almost all the other solutions... The key to why this works is that "mapply calls FUN for the values of ... [each element] (re-cycled to the length of the longest...[element]" (See ?mapply). In other words, df2$A is recycled to however many columns df1 has.

    Data:

    df1 = structure(list(A = c(1L, 5L), B = c(2L, 7L), C = c(3L, 9L)), .Names = c("A", 
                                                                                   "B", "C"), class = "data.frame", row.names = c(NA, -2L))
    df2 = structure(list(A = 1:4), .Names = "A", row.names = c(NA, -4L), class = "data.frame")
    

提交回复
热议问题