Taller de R para estadísticas Fundamentos del Lenguaje, tipo y estructura de datos Mgter. Danny Murillo.

Slides:



Advertisements
Presentaciones similares
Excel Nivel Principiante Objetivo General Al Finalizar El Curso Los Alumnos Podrán Aplicar Las Principales Herramientas De La Planilla De Cálculo Excel.
Advertisements

PPTCES047MT22-A16V1 Clase Medidas de dispersión y muestreo MT-22.
República Bolivariana de Venezuela Instituto Universitario Politécnico “Santiago Mariño" Estadísticas I - OV Estadística Profesor : Bachiller: Pedro Beltrán.
Programación Lineal SOLUCIÓN MEDIANTE SOFTWARE POM FOR WINDOWS.
¿Qué es Excel? Taller Básico de Excel (3/5)
Funciones Polinomicas
EL TRATAMIENTO DE LOS DATOS
DE PRIMERO Y SEGUNDO GRADO Diseño: M. en C. Juan Adolfo Alvarez Mtz.
1era. Unidad de Microsoft Excel
1era. Unidad de Microsoft Excel
La función CONTAR, antecesora de CONTAR SI
Tablas dinámicas en Excel
Instituto Profesional Virginio Gómez
Olimpiadas Chilenas de Informática - Formación
¿Qué es? ¿Para que se utiliza?
Statistic Package for Social Sciencies
Métodos para resolver sistema de ecuaciones de primer grado 3x3
El modelo simple de regresión
FUNCIONES EN EXCEL 2007.
MUESTREO ALEATORIO CON REPOSICIÓN
Manipulando celdas Selección de celdas
Por: Javier Ciangarotti S.
Autofiltro en Excel.
ESUCOMEX profesor presentación power builder Lautaro Cabezas
1era. Unidad de Microsoft Excel
COMPUTER DATA SYSTEMS CDS.
FÓRMULAS Una fórmula es la representación de una operación aritmética en una hoja de cálculo. Características: Siempre comienza por el signo igual(=) ó.
INTRODUCIR DATOS En cada una de las celdas de la hoja es posible introducir textos, números o fórmulas. Aparecerán en dos lugares: en la celda activa y.
LÓGICA DE PROGRAMACIÓN
LENGUAJE DE PROGRAMACION III Estructuras Estáticas de Datos
GUIA PARA REALIZAR TAREA DE EXCEL.
Unidad 2. Algoritmos Unidad 4. Control de flujo
DISTRIBUIR TEXTO EN VARIAS COLUMNAS
ESTRUCTURA DE UN PROGRAMA SIMPLE EN JAVA
TABLAS DINÁMICAS Tablas dinámicas son una excelente forma de resumir, analizar, explorar y presentar los datos. Tablas dinámicas son muy flexibles y se.
Katherine V. Carrasquillo UPRH Biol marzo 2011
INTERVALO DE CONFIANZA
Excel Finanzas Básicas
DISTRIBUCIÓN MUESTRAL DE UNA MEDIA.
TABLAS DINÁMICAS Tablas dinámicas son una excelente forma de resumir, analizar, explorar y presentar los datos. Tablas dinámicas son muy flexibles y se.
ARRAYS Y COLECCIONES DE DATOS
Tutorial de las diferentes modalidades de preguntas
Aplicaciones Estadísticas a las Finanzas
Migración de una B.D de Excel a Access
CREAR INFORME EN CRYSTAL REPORTS
ESTADÍSTICA BÁSICA.
Excel Macros Macros Automáticas.
DISTRIBUIR TEXTO EN VARIAS COLUMNAS
OBJETIVOS Definir el “índice de seguridad hospitalaria” y sus alcances. Describir los pasos para el cálculo del índice de seguridad hospitalario utilizando.
Macro Automática con Filtro Avanzado
TABLAS DINÁMICAS Tablas dinámicas son una excelente forma de resumir, analizar, explorar y presentar los datos. Tablas dinámicas son muy flexibles y se.
Macro Automática con Filtro Avanzado
COMPONENTES WEB TEMA: variables.
SSOFI – FACULTAD DE ARTES
Excel Macros Macros Automáticas.
Expositores: María Gracia León Nelson Arol Ruiz
SOFTWARE DE APLICACIÓN EJECUTIVA
Instituto de Educación Media Superior de la Ciudad de México
Unidad 3: Libre Office Calc
Formulas y Funciones Excel.
App4stats © Todos los derechos reservados Creación de Variables.
MATRIZ DE CHEQUEO DE PARIDAD
Descarga de Formatos Una vez que descargues y llenes los formatos, asegúrate tener a la mano también los documentos que están en el recuadro azul.
Jornada Nacional para fortalecer las competencias del referente técnico de los informes Trimestrales de Dotación de Personal para DIPRES MATRIZ F Cristian.
ALGEBRA RELACIONAL UNIDAD 3 ALGEBRA RELACIONAL. INTRODUCCIÓN Se forma a partir de la matemática formal Creada por Edgar Frank Codd en 1972 Concede comportamineto.
Taller de R para estadísticas Gráficos en R
¡Data Discovery con R y PBI! ¿Qué es? ¿Por qué es importante?
Excel Finanzas Básicas
EXCEL INTERMEDIO FILTROS AVANZADOS – TABLA DINAMICA – AUDITORIA DE FORMULAS JORGE LUIS AGUILAR ALCALDE.
Transcripción de la presentación:

Taller de R para estadísticas Fundamentos del Lenguaje, tipo y estructura de datos Mgter. Danny Murillo

Objetivo Conocer los conceptos sobre perdida y limpieza de datos en una estructura de datos, como el proceso de imputación de datos.

Limpieza de datos La limpieza de datos es un requisito previo para cualquier análisis y visualización de datos. Si los datos no se limpian podemos encontrar los siguiente: No se pueden utilizar los datos porque están en una forma que no se puede analizar. Ejm. Tipo de dato incorrecto (numero en tipo carácter), datos duplicados. Los datos contienen VALORES perdidos que impiden que las funciones a las datos no se realicen de forma correcta. Ejm. datos vacíos (NA) Los datos contiene valores erróneos o atípicos que dañan los resultados en el análisis. Ejm. Datos fuera del rango. Conjunto de datos demasiado grande para analizar o para manipular. Ejm. No se tienen la potencia computacional

Limpieza de datos: Identificar datos duplicados Uno de los problemas más comunes en un conjunto de datos es tener observaciones duplicadas donde una fila se repite con todos sus datos iguales en otra fila. nombre Matematicas Ciencias Espanol Historia EdFisica Carlos 6.3 6.4 8.2 9 7.2 Maria 6.8 8.7 7 Andres 6 7.8 8.9 7.3 Lucia 6.5 9.2 8.6 8 Ines 7.6 7.5 Ana 9.6 7.7 Jose 7.9 9.7 Pedro 9.4 Luis 5 Sonia 5.5 1 2 3 4 5 6 7 8 9 10 11 12 13 Datos duplicados Fila 11 es igual a fila 1 Fila 12 es igual a fila 1 Fila 13 es igual a fila 2

Limpieza de datos: Identificar datos duplicados Para identificar los datos duplicados en R se utiliza la función: duplicated(conjuntodedatos) Ejemplo: cargar archivo EjemploEstudiantes_2.csv en R # utilizar la funcion duplicated para identificar datos duplicados duplicated(EjemploEstudiantes_2) El resultado mostrará la respuesta en formato lógico ,TRUE si la fila está duplica y FALSE, sino lo está, en este caso las filas duplicadas son las tres ultimas que corresponden a la posición 11,12 y 13

Limpieza de datos: Identificar datos duplicados # Para mostrar el valor de cada fila duplicada debemos asignar el resultados de datos duplicados a la estructura de datos “EjemploEstudiantes_2” en la posición de las filas. EjemploEstudiantes_2[duplicated(EjemploEstudiantes_2), ] Se muestra cuales son las tres filas que tienen los datos duplicados, la fila con los nombres de Carlos, Carlos y María, Quiere decir que la fila con los datos de Carlos tiene dos filas duplicadas.

Limpieza de datos: Mostrar datos no duplicados #Si queremos mostrar los datos que no están duplicados debemos invertir los resultados de la función “duplicated “ colocando delante de está el signo o comodín “!” EjemploEstudiantes_2[!duplicated(EjemploEstudiantes_2), ] Se muestra los datos de EjemploEstudiantes_2, que no están duplicados. Los cuales son 10 registros.

Limpieza de datos: Mostrar datos no duplicados (opcion2) #Si lo que queremos es solo mostrar los datos no duplicados podemos usar la función unique() unique(EjemploEstudiantes_2) Se muestra los datos de EjemploEstudiantes_2, que no están duplicados. Los cuales son 10 registros.

Limpieza de datos: Mostrar datos no duplicados (opcion3) #Si lo que queremos es solo mostrar los datos no duplicados de una variable en particular podemos usar la función distinct() , el nombre de la estructura de datos y la variable a verificar distinct(EjemploEstudiantes_2,nombre) Se muestra los datos de EjemploEstudiantes_2 y solo la variable nombre con los datos que no están duplicados. Los cuales son 10 registros.

LIMPIEZA DE DATOS VARIABLES DE DATOS COMPLETOS

Métodos simple para pérdida de datos Imputación simple: Borrado de las observaciones completas con campos vacíos, se recomienda si los datos NA < del 5% del total de datos y si los datos son aleatorios. Imputación encubierta: la idea es seleccionar el valor de una observación de forma aleatorio y usarla para reemplazar el valor faltante. El método más común es el de tomar la última observación LOCF. Imputación basada en la media: es uno de los más simples y más comunes, se trata de tomar el valor de la media que calcula esa variable y reemplazarla por las faltantes. Interpolación: reemplazar el dato vacío utilizando algoritmos avanzados.

Pérdida de datos Es un error común en los datos en bruto. Datos perdidos. NA (not available – no aplicable) Los datos se pierden completamente de forma aleatoria. No es fácil aplicar imputación de datos. Algunos datos se pierden de forma aleatoria. Es aplicable Imputación de datos. Algunos datos se pierden específicamente al realizar una acción al seleccionar los datos. Es aplicable Imputación de datos.

Limpieza de datos: valores perdidos (NA) Los valores faltantes en los datos surgen cuando falta una observación en una columna de un conjunto de datos o contiene un valor de carácter en lugar de un valor numérico.  Los valores que faltan deben eliminarse o reemplazarse para extraer conclusiones correctas de los datos.

Limpieza de datos: valores perdidos (NA) Si queremos saber si mis datos tienen datos perdidos (NA) puedo utilizar la función is.na() sobre el conjunto de datos. Ejemplo: #utilizar datos de titanic2.csv #muestra los datos perdidos como # TRUE o false is.na(titanic2) #suma los datos perdidos basados #en is.na() sum(is.na(titanic2)) Respuesta: hay 177 datos perdidos en el conjunto de datos titanic Instalar paquete dplyr #luego de instalar el paquete, cargar librería library(dplyr)

Limpieza de datos: identificar variable con valores perdidos (NA) Una de las formas de identificar que variables tienen valores perdidos es utilizando la función summary(nombrededatos). Ejemplo: #utilizar datos de titanic2.csv summary(titanic2) Los resultados de summary nos muestran el valor mínimo y máximo de cada variable, la media y los quertiles 1 y 3, pero en el caso de la variable AGE muestra que contiene 177 valores NA (vacíos)

Limpieza de datos: extraer datos completos, sin valores (NA) Si queremos extraer solo los datos que están completos, utilizamos la función na.omit(conjuntoDedatos) Ejemplo: #utilizar datos de titanic2.csv #extrae los datos que no contienen #valores perdidos na.omit(titanic) #podemos asignar los resultados a #otro dataframe titanic3 <- na.omit(titanic) Respuesta: hay 714 datos completos en el conjunto de datos titanic

DATOS CON “NA” que no son NA

Limpieza de datos: valores perdidos no (NA) Ejemplo: cargar datos titanic.csv seleccionar en NA, la opción null o empty. Nombrar al dataframe titanic89

Limpieza de datos: valores perdidos no (NA) #si usamos la función de resumen de datos summary() # la variable AGE no muestra datos vacíos summary(titanic89) #si ejecutamos la función is.na para contar los datos vacíos la respuesta cera 0. sum(is.na(titanic89))

Limpieza de datos: valores perdidos no (NA) Al importar los datos es importante que en la opción de datos NA, seleccionamos o “default” o mejor aún “NA”. Sino seleccionamos empty o null, R, colocará en los datos vacios el valor de “NA” pero como carácter. Podemos verificar el tipo de la variable AGE con: str(titanic89)

Limpieza de datos: corregir valores perdidos no (NA) Para corregir los valores perdidos con NA como carácter demos identificar la variable, en este caso la variable AGE, luego le decimos a R que nos busque los datos cuyo valor sea “NA” entre comillas y le asignamos a esos valores el valor de NA sin comillas. titanic89$Age[titanic89$Age=="NA"]<- NA

LIMPIEZA DE DATOS OBSERVACIONES DE DATOS COMPLETOS

Limpieza de datos: extraer datos completos Es posible confundir el numero de datos vacíos de un conjunto de datos, con el número de observaciones que contienen datos vacíos. Ejemplo: #utilizar datos de FlowerPicks.csv # eliminar primera columna de ID de datos FlowerPicks<-FlowerPicks[,-1] #resumen de datos summary(FlowerPicks) #contar datos vacios sum(is.na(FlowerPicks)) La función summary muestra que en la variable Score hay 13 datos vacios y en la variable Time 14. Su contamos los datos vacios con SUM, me mostrará 27, que es la suma de los datos vacios de Score y Time. Pero este valor no indica cuantas observaciones son las que no están completas.

Limpieza de datos: extraer datos completos Si queremos conocer cuales son las observaciones con datos completos, utilizamos la función complete.cases(estructuraDeDatos) Ejemplo: #muestra las filas o observaciones con datos completos en formato lógico TRUE /FALSE complete.cases(FlowerPicks) #Selecciona los datos completos de FlowerPicks y se los asigna a nuevo data frame FlowerComplete<-FlowerPicks[complete.cases(FlowerPicks),] 5475 datos completos de un total de 5501

Limpieza de datos: extraer datos completos Si queremos conocer cuales son las observaciones con datos incompletos utilizamos la función complete.cases(estructuraDeDatos) y el signo “!” delante de la función #Selecciona los datos in completos de FlowerPicks y se los asigna a nuevo data frame FlowerCompleteNo<-FlowerPicks[!complete.cases(FlowerPicks),] 26 datos incompletos de un total de 5501

IMPUTACIÓN DE DATOS Tratamiento o sustitución de datos faltantes en un conjunto de datos. Se divide en dos grupos: técnicas de imputación simples y las de imputación múltiple.

IMPUTACION BASADA EN LA MEDIA La imputación de datos basada en la media, implica calcular la media de la variable con las observaciones completas y ese valor asignárselo a la variable con valor NA. Las variables identificadas en FlowerPicks con datos NA son Score y Time. Si extraemos la media nos enviará error, por lo que hay que tomar en cuenta solo los valores completos. #valores completos de todas las variables FlowerPicks[complete.cases(FlowerPicks),] #valores completos de la variable Score FlowerPicks$Score[complete.cases(FlowerPicks)] #calculo de la media de la variable Score de datos completos mediaScorea <- mean(FlowerPicks$Score[complete.cases(FlowerPicks)])

IMPUTACION BASADA EN LA MEDIA Otra forma de calcular la media de datos completos de la variable Score mediaScore<- mean(FlowerPicks$Score, na.rm=TRUE) La media es igual a 672.51.8 Asignamos los valores de la media a los datos vacios de FlowerPicks variable Score, SOLAMENTE de los datos vacios. FlowerPicks$Score[is.na(FlowerPicks$Score)] <- mediaScore

IMPUTACION BASADA EN LA MEDIA Otra forma de calcular la media de datos completos de la variable Time mediaTime<- mean(FlowerPicks$Time, na.rm=TRUE) La media es igual a 14.125 Asignamos los valores de la media a los datos vacios de FlowerPicks variable Score, SOLAMENTE de los datos vacios. FlowerPicks$Time[is.na(FlowerPicks$Time)] <- mediaTime

IMPUTACION ENCUBIERTA Instalar paquete zoo Cargar librería zoo library(zoo) La librería zoo contiene varias funciones para hacer imputación de datos na.fill(), na.locf(), na.aggregate(), na.approx(), na.spline(). #a la función na.fill debemos darle la variable con los DATOS COMPLETOS imputacionScore0<-na.fill(FlowerPicks2$Score, "extend") #si deseamos conocer los datos nuevos imputacionScore[is.na(FlowerPicks2$Score)] #asignar una nueva columna al dataframe para ver los datos completos y los que estaban vacios FlowerPicks2<- cbind(FlowerPicks2,imputacionScore0)

IMPUTACION ENCUBIERTA Otros ejemlos de las funciones de ZOO #Función genérica para reemplazar cada NA con la más reciente que no sea NA antes de ella.imputacionScore = na.locf(FlowerPicks$Score) imputacionScore[is.na(FlowerPicks2$Score)] #Función genérica para reemplazar cada NA con valores agregados. Esto permite la imputación por la media general. imputacionScore2 = na.aggregate(FlowerPicks$Score) imputacionScore2[is.na(FlowerPicks2$Score)] # Funciones genéricas para reemplazar cada NA con valores interpolados. imputacionScore3 = na.approx(FlowerPicks$Score) imputacionScore3[is.na(FlowerPicks2$Score)] #Funciones genéricas para reemplazar cada NA con valores interpolados. imputacionScore4 = na.spline(FlowerPicks$Score) imputacionScore4[is.na(FlowerPicks2$Score)]

MUCHAS GRACIAS