Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Name1 | Zip_code | Data
- ----- | -------- | ----
- George| 123 | abc
- ----- | -------- | ----
- Marge | 456 | def
- ----- | -------- | ----
- Mike | 789 | foo
- Name | data | zip_code
- ----- | -------- | --------
- Mike | klm | 789
- ----- | -------- | --------
- George| xxx | 123
- ----- | -------- | --------
- Marge | yyy | 456
- ----- | -------- | --------
- Bob | zzz | 678
- Data | Name | zip_code
- ----- | -------- | --------
- zzz | Bob | 678
- ----- | -------- | --------
- ggg | Mike | 789
- Name1 | Zip_code | Data | row_df2 | row_df3
- ----- | --------- | ---- | ------- | -------
- George| 123 | abc | 2 | NA
- ----- | --------- | ---- | ------- | -------
- Marge | 456 | def | 3 | NA
- ----- | --------- | ---- | ------- | -------
- Mike | 789 | foo | 1 | 2
- Name | data | zip_code | row_df3
- ----- | ----- | --------- | -------
- Mike | klm | 789 | 2
- ----- | ----- | --------- | -------
- George| xxx | 123 | NA
- ----- | ----- | --------- | -------
- Marge | yyy | 456 | NA
- ----- | ----- | --------- | -------
- Bob | zzz | 678 | 1
- dflist[[1]] <- df1
- dflist[[2]] <- df2
- dflist[[3]] <- df3
- criterialist[[1]] <- c(1,2)
- criterialist[[2]] <- c(1,3)
- criterialist[[3]] <- c(2,3)
- cross_checker <- function(dflist, criterialist){
- # Insert an index column indicating the row number to be returned:
- for (i in 2:length(dflist)){
- dflist[[i]]$index <- 1:nrow(dflist[[i]])
- }
- # Next we loop over the dataframes with two for-loops:
- for (i in 1:length(dflist)-1){
- for (j in 2:length(dflist)){
- dflist[[i]][,ncol(dflist[[i]])+1] <- merge(dflist[[i]], dflist[[j]], by.x=criterialist[[i]], by.y=criterialist[[j]], all.x=TRUE)$index
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement