[R] rbind with partially overlapping column names
William Dunlap
wdunlap at tibco.com
Mon May 16 06:19:35 CEST 2011
> -----Original Message-----
> From: r-help-bounces at r-project.org
> [mailto:r-help-bounces at r-project.org] On Behalf Of Jonathan Flowers
> Sent: Sunday, May 15, 2011 5:41 PM
> To: r-help at r-project.org
> Subject: [R] rbind with partially overlapping column names
>
> Hello,
>
> I would like to merge two data frames with partially
> overlapping column
> names with an rbind-like operation.
>
> For the follow data frames,
>
> df1 <- data.frame(a=c("A","A"),b=c("B","B"))
> df2 <- data.frame(b=c("b","b"),c=c("c","c"))
>
> I would like the output frame to be (with NAs where the frames don't
> overlap)
>
> a b c
> A B NA
> A B NA
> NA b c
> NA b c
>
> I am familiar with ?merge and ?rbind, but neither seem to
> offer a means to
> accomplish this.
What is wrong with merge(all=TRUE,...)?
> merge(df1,df2,all=TRUE)
b a c
1 B A <NA>
2 B A <NA>
3 b <NA> c
4 b <NA> c
Rearrange the columns if that is necessary
> merge(df1,df2,all=TRUE)[c("a","b","c")]
a b c
1 A B <NA>
2 A B <NA>
3 <NA> b c
4 <NA> b c
Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com
>
> Thanks in advance.
>
> Jonathan
>
> [[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.
>
More information about the R-help
mailing list