###################################### ## Escuela de Datos Vivos ## https://escueladedatosvivos.ai (@datos_vivos) ## ## {Clase abierta de desembarco en R} ## ## Relacionada al curso gratuito: ## https://escueladedatosvivos.ai/p/curso-desembarcando-en-r-2da-edicion-gratis ###################################### # Hola! Si estás leyendo esto, estás en el lugar correcto. #################################### # Carga de librerías #################################### library(tidyverse) library(funModeling) #################################### ## Lectura de datos #################################### data_bank=read_delim(file="data/bank_2.csv", delim = ";") #################################### ## Análisis exploratorio #################################### # ¿qué onda los datos? status(data_bank) # Un poco de números (también llamado análisis univariado) profiling_num(data_bank) ## Humilde intro a tidyverse > dplyr data_bank %>% select(age) # agregar job d1=data_bank %>% select(age, job) # la magia del todo d2=data_bank %>% select(deposit, everything()) write_delim(d2, "reporte.txt", delim = ";") # ordenemos! d3=data_bank %>% select(age, deposit) %>% arrange(age) ## Volvamos a la matrix! profiling_num(data_bank) ## Volvamos a la matrix! pero con menos caos... ## ¿Hay cosas raras? (ej. outliers) profiling_num(data_bank) %>% select(variable, mean, std_dev, variation_coef) # Emprolijemos! profiling_num(data_bank) %>% select(variable, mean, std_dev, variation_coef) %>% arrange(-variation_coef) %>% top_n(3) %>% pull(variable) summary(data_bank$age) # Encontramos a la diosa sumeria! # https://www.bbc.com/mundo/noticias-39781154 # Ahora podemos imaginar los gráficos plot_num(data_bank) # Hagamos dibujitos (AKA: análisis descriptivo var categórica) freq(data_bank) ## data_bank$age # vector data_bank %>% select(age) # vemos el valor nro 100 en edad data_bank$age[100] # cambiamos data_bank$age[100]=30 # check data_bank$age[100] # batalla naval # data_bank[fila, columna] data_bank[100, ] data_bank[100, "age"] data_bank[, "age"] ####################################### ## Un modelo predictivo! :D ## (PD: Muuuy simplificado) ####################################### library(rpart) fit_bank_1=rpart(data = data_bank, formula = deposit ~ age + loan + education + job, control = rpart.control( cp = 0.01, minbucket=30, minsplit=20 ) ) fit_bank_1 ## Visualizando library(rattle) fancyRpartPlot(fit_bank_1) asRules(fit_bank_1)