R Fundamentals Rafael Ventura 2017-02-25 Objetivos 1 Toma de contacto con la preparación de datos usando R, en particular la transformación, cálculo de métricas derivadas y enriquecimiento de datos. 2 Aprender los fundamentos de la exploración de datos previa a la preparación de modelos
Actividades 1) Leer datos Importar la tabla transactions de la base de datos focus40_mdaworkshopr en el data frame transactions. Es necesario utilizar la librería RODBC 1 y la funciones odbcConnect y SQLFetch()1 . Ver post de Joseph Rickert[1]
2) Modificar formato de datos Cambiar el tipo de dato del campo Date de tipo factor a tipo date con el formato “YYYY-mm-dd”, usando la función as.Date()2 .
2
Ver Jeff Leeks [2]
3
Jeff Leek [2]
4
Jeff Leek [2]
5
Ibid Ver función seq()[3]
3) Tratamiento de cabeceras Eliminar el caracter “_" de las cabeceras de la tabla, usando la función sub()3 . Cambiar todas la cabeceras a minúsculas usando la función tolower()4 .
4) Métricas derivadas Asignar los meses desde la última compra (campo recenciacompra) a un rango desde 0 a 60 meses en intervalos de 6 meses cada uno y añadir al data frame transactions obtenido en la actividad 1 con el nombre timeranges. Se utilizará la función cut()5 y seq()6 .
6
6) Enriquecimiento de datos Importar los datos de provincia de cada cliente desde el fichero mda_client_prov.csv y añadir el código de la provincia al data frame transactions mediante la función merge()7 . Identificar el campo por que se han de cruzar ambos conjuntos de datos.
7
Jeff Leek [2]
r fundamentals
2
Importar los datos de las campañas de marketing desde el fichero campaign-data.csv y enriquecer los datos de ventas con los datos de
las campañas de marketing online usando la función merge()8 . Es importante tener en cuenta que deben mantenerse todas las transacciones después del cruce.
8
Jeff Leek[2]
9
Ver función plot()[4]
7) Exploración de datos Crear un histograma de frecuencia del número de clientes por código de provincia, usando la funcion plot()9 . Crear un gráfico de dispersión ltv vs compra24m para cada provincia en el mismo gráfico y cuadrículas diferentes usando la función xyplot() de la librería lattice10 . Comparar con los gráficos creados con ggplot.
10
Ver función xyplot de Lattice[5]
11
Ver referencia [6]
12
ver [7]
8) Aplicación de filtros y selección de datos Crear un sub-conjunto del data frame transactions con las compras realizadas solo durante los últimos 24 meses usando la función subset()11 y guardarlo en otro data frame.
9) Muestreo Obtener una muestra con el 5% del total de registros del sub-conjunto creado en el paso 8 usando la función sample()12 .
Datos Detalles de la conexión: Servidor: yoohoo.lunarbreeze.com Puerto: 3306 Base de datos: focus40_mdaworkshopr Usuario: focus40_mda Password: tB2!K*gH1.Hh
Referencias [1] Joseph Rickert, Using Azure as an R datasource: Part 2- Pulling Data from MySQL/MariaDB: Connecting to the database from R on Windows. (http://www.r-bloggers.com/using-azure-as-an-r-datasource-part-2-pulling-data-from-mysqlmariadb/) [2] Jeff Leeks, Data Munging Basic(https://www.dropbox.com/s/ m5qpzo2qs5hs55k/dataMungingBasics.pdf?dl=0). Especialmente las funciones cut(), merge(),
r fundamentals
[3] R Development Core team, R Documentation. Función seq()(http: //stat.ethz.ch/R-manual/R-devel/library/base/html/seq.html).
[4] R Development Core team, R Documentation.Función plot()(https: //stat.ethz.ch/R-manual/R-devel/library/graphics/html/plot. html).
[5] Roger Peng, Lattice Functions (https://www.dropbox.com/s/ kr4fmzx91ebv094/slides_PlottingLattice.pdf?dl=0). [6] R Development Core team, R Documentation.Función subset()(https: //stat.ethz.ch/R-manual/R-devel/library/base/html/subset. html).
[7] Jeff Leeks. Simulation Basics. Función sample(); diapositivas 913. (https://www.dropbox.com/s/35i7gzn9yv66irw/simulationBasics. pdf?dl=0)
3