R/fastmerge.R

Defines functions fastmerge

Documented in fastmerge

#' Merge two dataframes
#'
#' Merges two dataframes, both by column and row, and replaces unoccupied cells with 'NA'
#' @param d1 Dataframe
#' @param d2 Dataframe
#' @export
#'
fastmerge <- function(d1, d2) {
  d1.names <- names(d1)
  d2.names <- names(d2)

  # columns in d1 but not in d2
  d2.add <- setdiff(d1.names, d2.names)

  # columns in d2 but not in d1
  d1.add <- setdiff(d2.names, d1.names)

  # add blank columns to d2
  if(length(d2.add) > 0) {
    for(i in 1:length(d2.add)) {
      d2[d2.add[i]] <- NA
    }
  }

  # add blank columns to d1
  if(length(d1.add) > 0) {
    for(i in 1:length(d1.add)) {
      d1[d1.add[i]] <- NA
    }
  }

  return(rbind(d1, d2))
}
KNewhart/ADPCA documentation built on Oct. 8, 2019, 11:29 p.m.