Hi,

You could also try:
library(gtools)
smartbind(df2,df1)
#  a  b  d
#1 7 99 12
#2 7 99 12


When df1!=df2
smartbind(df1,df2)
#   a  b  d  x  y  c
#1  7 99 12 NA NA NA
#2 NA 34 88 12 44 56
A.K.




----- Original Message -----
From: Anika Masters <anika.mast...@gmail.com>
To: r-help@r-project.org
Cc: 
Sent: Tuesday, February 26, 2013 1:55 PM
Subject: [R] merging or joining 2 dataframes: merge, rbind.fill, etc.?

#I want to "merge" or "join" 2 dataframes (df1 & df2) into a 3rd
(mydf).  I want the 3rd dataframe to contain 1 row for each row in df1
& df2, and all the columns in both df1 & df2. The solution should
"work" even if the 2 dataframes are identical, and even if the 2
dataframes do not have the same column names.  The rbind.fill function
seems to work.  For learning purposes, are there other "good" ways to
solve this problem, using merge or other functions other than
rbind.fill?

#e.g. These 3 examples all seem to "work" correctly and as I hoped:

df1 <- data.frame(matrix(data=c(7, 99, 12) ,  nrow=1 ,  dimnames =
list( NULL ,  c('a' , 'b' , 'd') ) ) )
df2 <- data.frame(matrix(data=c(88, 34, 12, 44, 56) ,  nrow=1 ,
dimnames = list( NULL ,  c('d' , 'b' , 'x' ,  'y', 'c') ) ) )
mydf <- merge(df2, df1, all.y=T, all.x=T)
mydf

#e.g. this works:
library(reshape)
mydf <- rbind.fill(df1, df2)
mydf

#This works:
library(reshape)
mydf <- rbind.fill(df1, df2)
mydf

#But this does not (the 2 dataframes are identical)
df1 <- data.frame(matrix(data=c(7, 99, 12) ,  nrow=1 ,  dimnames =
list( NULL ,  c('a' , 'b' , 'd') ) ) )
df2 <- df1
mydf <- merge(df2, df1, all.y=T, all.x=T)
mydf

#Any way to get "mere" to work for this final example? Any other good solutions?

______________________________________________
R-help@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.


______________________________________________
R-help@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.

Reply via email to