[R] about combining two dataframes

Bert Gunter bgunter.4567 at gmail.com
Wed May 24 19:59:37 CEST 2017


On Wed, May 24, 2017 at 10:50 AM, lily li <chocold12 at gmail.com> wrote:
> Thanks, I didn't know the email function before.
> The code works. I found that using "=" is different from using "<-".
>
 If you are referring to assignment in the evaluation environment
(instead of e.g. to values of function arguments), then what you have
stated is wrong. See ?"<-"

-- Bert



> On Wed, May 24, 2017 at 11:41 AM, David L Carlson <dcarlson at tamu.edu> wrote:
>
>> Is there a reason not to just rename the columns?
>>
>> First, you should use dput(DF1) and dput(DF2) to send your example tables
>> to the list:
>>
>> DF1 <- structure(list(year = c(1981L, 1981L, 1981L, 1981L), month = c(1L,
>> 1L, 1L, 1L), day = 1:4, product1 = c(18L, 19L, 16L, 19L), product2 = c(56L,
>> 45L, 48L, 50L), product3 = c(20L, 22L, 28L, 21L)), .Names = c("year",
>> "month", "day", "product1", "product2", "product3"), class = "data.frame",
>> row.names = c(NA, -4L))
>>
>> DF2 <- structure(list(yr = c(1981L, 1981L, 1981L), mon = c(2L, 2L, 2L
>> ), d = 1:3, prod = c(17L, 20L, 21L), prod2 = c(49L, 47L, 52L),
>>     prod3 = c(25L, 23L, 27L)), .Names = c("yr", "mon", "d", "prod",
>> "prod2", "prod3"), class = "data.frame", row.names = c(NA, -3L
>> ))
>>
>> Assuming they are the same structure as you said:
>>
>> colnames(DF2) <- colnames(DF1)
>> rbind(DF1, DF2)
>> #   year month day product1 product2 product3
>> # 1 1981     1   1       18       56       20
>> # 2 1981     1   2       19       45       22
>> # 3 1981     1   3       16       48       28
>> # 4 1981     1   4       19       50       21
>> # 5 1981     2   1       17       49       25
>> # 6 1981     2   2       20       47       23
>> # 7 1981     2   3       21       52       27
>>
>> The attached .png image file shows you how to send plain text emails to
>> r-help using gmail.
>>
>> -------------------------------------
>> David L Carlson
>> Department of Anthropology
>> Texas A&M University
>> College Station, TX 77840-4352
>>
>> -----Original Message-----
>> From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of lily li
>> Sent: Wednesday, May 24, 2017 12:30 PM
>> To: R mailing list <r-help at r-project.org>
>> Subject: [R] about combining two dataframes
>>
>> Hi all,
>>
>> I have a question about combining two data frames. For example, there are
>> the two dataframes below, with the same structure but different column
>> names and column lengths. How to add the values in DF2 to the end of DF1,
>> though the column names do not match? How to add more than two? Thanks.
>>
>> DF1
>> year   month   day   product1   product2   product3
>> 1981     1          1         18              56            20
>> 1981     1          2         19              45            22
>> 1981     1          3         16              48            28
>> 1981     1          4         19              50            21
>>
>> DF2
>> yr         mon      d         prod        prod2       prod3
>> 1981     2          1         17              49            25
>> 1981     2          2         20              47            23
>> 1981     2          3         21              52            27
>>
>> I use the code below but it does not work.
>> require(dplyr)
>> bind_rows(DF1, DF2) or bind_cols(DF1, DF2)
>>
>>         [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/
>> posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list