[R] failed when merging two dataframes, why
jim holtman
jholtman at gmail.com
Thu Apr 9 13:40:47 CEST 2009
try this:
> merge(df1, df2, by.x='codetot',by.y='codetoto', all=TRUE)
codetot popcode.x p3need popcode.y areasec
1 BCPy01-01-1 BCPy01-01 100.0000 BCPy01-01 0.5089434
2 BCPy01-01-2 BCPy01-01 100.0000 BCPy01-01 0.6246381
3 BCPy01-01-3 BCPy01-01 100.0000 BCPy01-01 0.4370059
4 BCPy01-02-1 BCPy01-02 92.5926 BCPy01-02 0.9253052
5 BCPy01-02-1 BCPy01-02 92.5926 BCPy01-02 0.6011810
6 BCPy01-02-1 BCPy01-02 100.0000 BCPy01-02 0.9253052
7 BCPy01-02-1 BCPy01-02 100.0000 BCPy01-02 0.6011810
8 BCPy01-02-2 BCPy01-02 92.5926 BCPy01-02 0.6710850
9 BCPy01-02-2 BCPy01-02 92.5926 BCPy01-02 0.7145839
10 BCPy01-02-2 BCPy01-02 100.0000 BCPy01-02 0.6710850
11 BCPy01-02-2 BCPy01-02 100.0000 BCPy01-02 0.7145839
12 BCPy01-02-3 BCPy01-02 92.5926 BCPy01-02 0.9515256
13 BCPy01-02-3 BCPy01-02 92.5926 BCPy01-02 0.6555006
14 BCPy01-02-3 BCPy01-02 100.0000 BCPy01-02 0.9515256
15 BCPy01-02-3 BCPy01-02 100.0000 BCPy01-02 0.6555006
16 BCPy01-03-1 BCPy01-03 100.0000 BCPy01-03 0.8683875
>
On Thu, Apr 9, 2009 at 7:19 AM, Mao Jianfeng <jianfeng.mao at gmail.com> wrote:
> Hi, R-listers,
>
> Failed, when I tried to merge df1 and df2 by "codetot" in df1 and "codetoto"
> in df2. I want to know the reason and how to merge them together. Data
> frames and codes I have used were listed as followed. Thanks a lot in
> advance.
>
> df1:
> popcode codetot p3need
> BCPy01-01 BCPy01-01-1 100.0000
> BCPy01-01 BCPy01-01-2 100.0000
> BCPy01-01 BCPy01-01-3 100.0000
> BCPy01-02 BCPy01-02-1 92.5926
> BCPy01-02 BCPy01-02-1 100.0000
> BCPy01-02 BCPy01-02-2 92.5926
> BCPy01-02 BCPy01-02-2 100.0000
> BCPy01-02 BCPy01-02-3 92.5926
> BCPy01-02 BCPy01-02-3 100.0000
> BCPy01-03 BCPy01-03-1 100.0000
>
> df2:
> popcode codetoto areasec
> BCPy01-01 BCPy01-01-1 0.5089434
> BCPy01-01 BCPy01-01-2 0.6246381
> BCPy01-01 BCPy01-01-3 0.4370059
> BCPy01-02 BCPy01-02-1 0.9253052
> BCPy01-02 BCPy01-02-1 0.6011810
> BCPy01-02 BCPy01-02-2 0.6710850
> BCPy01-02 BCPy01-02-2 0.7145839
> BCPy01-02 BCPy01-02-3 0.9515256
> BCPy01-02 BCPy01-02-3 0.6555006
> BCPy01-03 BCPy01-03-1 0.8683875
>
> code:
> new1<-merge(df1,df2,by=c("popcode","popcode"),all=T) # It is processed well.
> But, it is not what I want.
> new2<-merge(df1,df2,by=c("codetot","codetoto"),all=T) # this one failed. I
> exactly want to do that.
>
> Mao J-F
> IBCAS, AC
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org 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.
>
--
Jim Holtman
Cincinnati, OH
+1 513 646 9390
What is the problem that you are trying to solve?
More information about the R-help
mailing list