R/one_hot_encoding.R

Defines functions one_hot_encoding

Documented in one_hot_encoding

#' @title one hot encoding  
#' 
#' @examples 
#' 
#' \dontrun{
#' 
#' 
#' }
#' 
#' @import caret
#' @export 

one_hot_encoding <- function(features = features, mode = "auto") {
  
  features_names <- colnames(features)
  
  for (f in features_names) {
    if (class(features[[f]])=="character") {
      levels <- unique(c(features[[f]]))
      features[[f]] <- factor(features[[f]], levels=levels)
    }
  }
  
  if (mode == "auto") {
    dmy <- caret::dummyVars("~.", data = features, fullRank = T)
  } else if (mode == "manual") {
    dmy <- caret::dummyVars("~.", data = features)
  } else {
    print("make sure mode is 'manual' or 'auto'")
    break
  }
  dummy_df <- data.frame(predict(dmy, newdata = features))
  return(dummy_df)
}
germayneng/DogEncode documentation built on Sept. 2, 2019, 11:02 a.m.