R/ds_obtener_estructura.R

#' Imprime y crea un archivo con la estructura actual de los datos del archivo de entrada	 
#' @param archivoDatos Nombre de archivo con los datos (observaciones X variables).
#' @import openxlsx
#' @export	
ds_obtener_estructura <- function (archivoDatos){
	archivoSalida = "estructura_datos"
	datos = read.csv (archivoDatos)
	mostrarCategorias <- function (variable) {
		if (class(datos[[variable]]) == "factor") {
			pprint ("CUALITATIVA")
			pprint (variable)
			valores = levels(datos[[variable]])
			n = length(valores)
			for (i in 1: n) {
				texto = sprintf('[%s] "%s"', i, valores[i])
				pprint (texto)
			}
		} else {
			pprint ("CUANTITATIVA")
			pprint (variable)
			s = summary(datos[[variable]])
			pprint (sprintf ("MINIMO: %s MAXIMO: %s", s[1], s[6]))
		}
		texto = "------------------------"
		pprint (texto)
	}

	sink(paste0 (archivoSalida, ".csv"))
	cat ("ESTRUCTURA_ORIGINAL", ",", "ESTRUCTURA_CAMBIOS","\n")
	ls = lapply(names(datos), mostrarCategorias);
	sink()
	estructura = read.csv (paste0 (archivoSalida, ".csv"))
	write.xlsx (estructura, paste0(archivoSalida, ".xlsx"))
	return (estructura)
}

pprint <- function (texto) {
	cat (texto, ",", texto, "\n")
}
luisgarreta/desistimiento documentation built on May 9, 2022, 12:06 a.m.