Advertisement
Guest User

Untitled

a guest
Sep 25th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. Name1 | Zip_code | Data
  2. ----- | -------- | ----
  3. George| 123 | abc
  4. ----- | -------- | ----
  5. Marge | 456 | def
  6. ----- | -------- | ----
  7. Mike | 789 | foo
  8.  
  9. Name | data | zip_code
  10. ----- | -------- | --------
  11. Mike | klm | 789
  12. ----- | -------- | --------
  13. George| xxx | 123
  14. ----- | -------- | --------
  15. Marge | yyy | 456
  16. ----- | -------- | --------
  17. Bob | zzz | 678
  18.  
  19. Data | Name | zip_code
  20. ----- | -------- | --------
  21. zzz | Bob | 678
  22. ----- | -------- | --------
  23. ggg | Mike | 789
  24.  
  25. Name1 | Zip_code | Data | row_df2 | row_df3
  26. ----- | --------- | ---- | ------- | -------
  27. George| 123 | abc | 2 | NA
  28. ----- | --------- | ---- | ------- | -------
  29. Marge | 456 | def | 3 | NA
  30. ----- | --------- | ---- | ------- | -------
  31. Mike | 789 | foo | 1 | 2
  32.  
  33. Name | data | zip_code | row_df3
  34. ----- | ----- | --------- | -------
  35. Mike | klm | 789 | 2
  36. ----- | ----- | --------- | -------
  37. George| xxx | 123 | NA
  38. ----- | ----- | --------- | -------
  39. Marge | yyy | 456 | NA
  40. ----- | ----- | --------- | -------
  41. Bob | zzz | 678 | 1
  42.  
  43. dflist[[1]] <- df1
  44. dflist[[2]] <- df2
  45. dflist[[3]] <- df3
  46.  
  47. criterialist[[1]] <- c(1,2)
  48. criterialist[[2]] <- c(1,3)
  49. criterialist[[3]] <- c(2,3)
  50.  
  51. cross_checker <- function(dflist, criterialist){
  52.  
  53. # Insert an index column indicating the row number to be returned:
  54. for (i in 2:length(dflist)){
  55. dflist[[i]]$index <- 1:nrow(dflist[[i]])
  56. }
  57.  
  58. # Next we loop over the dataframes with two for-loops:
  59. for (i in 1:length(dflist)-1){
  60. for (j in 2:length(dflist)){
  61. dflist[[i]][,ncol(dflist[[i]])+1] <- merge(dflist[[i]], dflist[[j]], by.x=criterialist[[i]], by.y=criterialist[[j]], all.x=TRUE)$index
  62. }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement