R/addtoBlacklist.R

addtoBlacklist <- function(sla, data, forbid.GG, forbid.DD, forbid.DtoG, force.closest.GD,
                           closest.GD.direction, forbid.GD){

  x.names <- data$x.names
  y.names <- data$y.names

  if (forbid.GG){
    sla <- add.toBlacklist(x.names, sla)
  }
  if (forbid.DD){
    sla <- add.toBlacklist(y.names, sla)
  }
  if (forbid.DtoG){
    sla <- initializeDummyGreylist( sla, "blacklist" )
    sla$blacklist <- rbind(sla$blacklist, buildBlacklist(y.names, x.names, bidirectional = FALSE)
    )
  }
  if (!(is.null(force.closest.GD))){
    sla <- forceClosestG( sla, data = data, n = force.closest.GD, direction = closest.GD.direction )
  }
  if (forbid.GD) {
    sla <- initializeDummyGreylist( sla, "blacklist" )
    sla$blacklist <- rbind( sla$blacklist, buildBlacklist(data$y.names, x.names, bidirectional = TRUE) )
  }

  return(sla)
}
MNLR/BNdownscaleR documentation built on June 12, 2019, 1:58 p.m.