[R] how to merge these dataframes [Solved]

antonio rodriguez antonio.raju at gmail.com
Wed Nov 22 10:02:52 CET 2006


Thanks to everybody. I've found in a previous post too:

merge(merge(j1,j2),j3)

BR

Antonio

 //


Prof Brian Ripley escribió:
> merge() merges *two* data frames, as is very clearly stated on its 
> help page.  In your first version, j3 is matching by.x (and the second 
> is wrong, as j does not exist and names() applies to an object).
>
> You can do
>
> j4 <- merge(j1, j2, by="Var1", all=TRUE)
> j5 <- merge(j4, j3, all=TRUE)
> j5
>          Var1 Freq.x Freq.y Freq
> 1  1988-01-13      1      1    1
> 2  1988-01-16      1      1    1
> 3  1988-01-20      3      3    3
> 4  1988-01-25      2      2    2
> 5  1988-01-30      1      1    1
> 6  1988-02-01      5      4    4
> 7  1988-02-08      4      4    4
> 8  1988-02-14      1     NA   NA
> 9  1988-02-16      1      1    1
> 10 1988-02-18      4      4    4
> 11 1988-02-24     NA      2   NA
> 12 1988-03-04     NA      1   NA
> 13 1988-03-07     NA      1   NA
>
> (or omit all=TRUE if you only want columns which are in all 3 data 
> frames).
>
>
> On Wed, 22 Nov 2006, antonio rodriguez wrote:
>
>> Hi,
>>
>> Having 3 dataframes with different row numbers, but equal column names
>> (see below) I want to merge them by Var1 so I've tried:
>>
>> merge(j1,j2,j3,by="Var1")
>> merge(j,j1,j2,by=names("Var1"))
>>
>> But always got the same message:
>>
>> Erro en fix.by(by.x, x) : 'by' must specify column(s) as numbers, names
>> or logical
>>
>> What I'm doing wrong?
>>
>> Thanks,
>>
>> Antonio
>>
>>
>> j1
>>
>>            Var1 Freq
>> 1  1988-01-13    1
>> 2  1988-01-16    1
>> 3  1988-01-20    3
>> 4  1988-01-25    2
>> 5  1988-01-30    1
>> 6  1988-02-01    5
>> 7  1988-02-08    4
>> 8  1988-02-14    1
>> 9  1988-02-16    1
>> 10 1988-02-18    4
>>
>> j2
>>
>>            Var1 Freq
>> 1  1988-01-13    1
>> 2  1988-01-16    1
>> 3  1988-01-20    3
>> 4  1988-01-25    2
>> 5  1988-01-30    1
>> 6  1988-02-01    4
>> 7  1988-02-08    4
>> 8  1988-02-16    1
>> 9  1988-02-18    4
>> 10 1988-02-24    2
>> 11 1988-03-04    1
>> 12 1988-03-07    1
>>
>> j3
>>          Var1 Freq
>> 1 1988-01-13    1
>> 2 1988-01-16    1
>> 3 1988-01-20    3
>> 4 1988-01-25    2
>> 5 1988-01-30    1
>> 6 1988-02-01    4
>> 7 1988-02-08    4
>> 8 1988-02-16    1
>> 9 1988-02-18    4
>>
>> ______________________________________________
>> R-help at stat.math.ethz.ch mailing list
>> 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