[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