KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
How do I merge 2 similar data frames but have one with greater importance? For example: Dataframe 1 Date Col1 Col2 jan 2 1 feb 4 2 march 6 3 april 8 NA Dataframe 2 Date Col2 Col3 jan 9 10 feb 8 20 march 7 30 april 6 40 merge these by Date with dataframe 1 taking precedence but dataframe 2 filling blanks DataframeMerge Date Col1 Col2 Col3 jan 2 1 10 feb 4 2 20 march 6 3 30 april 8 6 40 EDIT - SOLUTION commonNames <- names(df1)[which(colnames(df1) %in% colnames(df2))] commonNames <- commonNames[commonNames != "key"] dfmerge<- merge(df1,df2,by="key",all=T) for(i in commonNames){ left <- paste(i, ".x", sep="") right <- paste(i, ".y", sep="") dfmerge[is.na(dfmerge[left]),left] <- dfmerge[is.na(dfmerge[left]),right] dfmerge[right]<- NULL colnames(dfmerge)[colnames(dfmerge) == left] <- i }
Tags (comma-separated)
Save Edits
Cancel