R/results_imput.R

#' Atributos de la referencia
#'
#' Esta funciĆ³n obtiene los atributos (substrings) de un vector con referencias del VF 866.
#' @param data
#' @param vars_test, vars_train Variables a comparar
#' @param csv T/F
#' @keywords
#' @export
#' @examples
#' results_imput(data=imput_review,
#'              vars_test = c('ref_e1_test', 'ref_e2_test', 'ref_e3_test',
#'              'ref_e4_test', 'ref_e5_test','ref_e6_test'),
#'              vars_train = c('ref_e1_train','ref_e2_train', 'ref_e3_train',
#'              'ref_e4_train', 'ref_e5_train','ref_e6_train'),
#'              csv=FALSE, file_name=NULL)
#'
#' results_imput(data=imput_review_2atrib,
#' vars_test = c('ref_e1_test', 'ref_e2_test', 'ref_e3_test',
#'               'ref_e4_test', 'ref_e5_test','ref_e6_test'),
#' vars_train = c('ref_e1_train','ref_e2_train', 'ref_e3_train',
#'                'ref_e4_train', 'ref_e5_train','ref_e6_train'),
#' csv=T, file_name='hello')
#'

results_imput <- function(data=imput_review,
                          vars_test = c('ref_e1_test', 'ref_e2_test', 'ref_e3_test',
                                        'ref_e4_test', 'ref_e5_test','ref_e6_test'),
                          vars_train = c('ref_e1_train','ref_e2_train', 'ref_e3_train',
                                         'ref_e4_train', 'ref_e5_train','ref_e6_train'),
                          csv=FALSE, file_name=NULL){

  lappend <- function(lst, obj) {
              lst[[length(lst)+1]] <- obj
              return(lst)
  }

  names = paste(names(data[vars_test]),names(data[vars_train]), sep = '/')
  results_list <- list()
  for (i in 1:length(vars_test)){

 results_list <- lappend(results_list,
                         table(test = data[,vars_test[i]],
                                                       train = data[,vars_train[i]]))
  }
  names(results_list) <- names

  if (csv==TRUE){

    out_file <- file(paste0('results_',file_name,'_',format(Sys.Date(),'%Y%m%d'),'.csv'), open="a")  #creates a file in append mode
    for (i in seq_along(results_list)){
      write.table(names(results_list)[i], file=out_file, sep=";", dec=".",
                  quote=FALSE, col.names=FALSE, row.names=FALSE)  #writes the name of the list elements ("A", "B", etc)
      write.table(results_list[[i]], file=out_file, sep=";", dec=".", quote=FALSE,
                  col.names=NA, row.names=TRUE)  #writes the data.frames
    }
    close(out_file)  #close connection to file.csv
  }

  return(results_list)

  }
danielmedbar/KWSTCReclassifRef documentation built on May 14, 2019, 4:07 p.m.