Code
source("~/R/r-data/16.eda/script.R")source("~/R/r-data/16.eda/script.R")Asumimos que el usuario de esta documentación, conoce los rudimentos de R y como se trabaja con los paquetes. En la documentación del libro, exponemos toda la sintaxis usada para obtener las informaciones que se requieren.
En este capítulo, una vez desarrolladas algunas ideas iniciales sobre la gestión y la manipulación de los datos con R, desarrollaremos algunos conceptos que son básicos para el aprendizaje e iniciación del análisis de los datos, pero ya desde una perspectiva del ámbito no tan generalista y sí más centrado en la parte estadística. Suponemos al usuario, familiarizado con el uso de R y le suministramos un marco de apoyo al tratamiento de datos, particularmente en datos provenientes de encuesta. A diferencia de la anterior sección, aquí el código desarrollado si ya será funcional y se trabajará sobre marcos de datos (dataframes) ya disponibles y específicos.
Los puntos que serán tratados a continuación como introducción son:
Profundizaremos también en las diferentes formas de medición de los datos que derivan en los tratamientos o análisis que demandamos de los datos; para ello analizaremos:
El término dato es una representación simbólica (numérica, alfabética, algorítmica etc.), de un atributo o de una característica de una entidad. El dato no tiene valor semántico (sentido) en sí mismo, pero si recibe un tratamiento (procesamiento) apropiado, se puede utilizar en la realización de cálculos o toma de decisiones. El estudio de los datos combinado con la aplicación del “know how” o conocimiento, genera información. La información es un fenómeno que proporciona significado o sentido a las cosas. En sentido general, la información es un conjunto organizado de datos procesados, que constituyen un mensaje sobre un determinado ente o fenómeno. Así, comprendemos que los datos se recogen, se integran y su análisis genera la información necesaria para producir el conocimiento que es el que finalmente permite tomar decisiones para realizar las acciones tácticas o estratégicas cotidianas que aseguran la evolución o cambio de las cosas.
En nuestro ámbito de la investigación de mercados, comercial, social o de opinión, todas comparten conocimiento y técnicas de análisis; así también coinciden en hecho de que trabajan con una matriz de datos, objeto de nuestro estudio. Llamamos matriz de datos a la relación ordenada de las informaciones recogidas para una unidad de análisis cualesquiera que sea su naturaleza y una valoración o medición de un elemento con variabilidad. Podemos introducir a esta relación una tercera dimensión que sería la temporalidad de las observaciones, pues éstas son cambiantes con el paso del tiempo.
Veamos un ejemplo: pretendemos tener una matriz de datos sobre las alturas de los individuos que forman parte de una aula de segundo de primaria; la altura, sería el elemento variable, mientras que el alumno sería la unidad de análisis, el tiempo incide en que con el paso del mismo, el elemento variable sufre modificaciones con una determinada tendencia. La representación de estos datos sería:
Podemos observar que ha sido muy fácil para nosotros ordenar esta información en una tabla de una columna, donde tenemos que cada fila es un alumno del aula. Si ahora queremos añadir a esta información un identificador del alumno, de forma que podamos seguir asociando otras informaciones, podemos representar esa información con una tabla de doble entrada. Cada columna será un elemento variable respecto del total y cada fila estará representando un elemento del conjunto, una unidad de análisis.
Si ahora añadimos un elemento variable más a estas identificaciones como el peso, basta con añadir una columna más a esta tabla de doble entrada para poder representar esta información …
El tiempo podemos introducirlo creando diferentes tablas de este tipo para diferentes momentos del tiempo con la misma estructura que la original o bien dotar de una nueva columna (variable) donde de alguna forma reflejáramos el paso del tiepo, es decir, la pertenencia del dato a un momento del tiempo determinado, sea cuál sea su representación.
Una variable es un símbolo que representa un elemento no especificado de un conjunto dado. Dicho conjunto es llamado dominio de la variable, o universo de la variable, y cada elemento del conjunto es un valor de la variable. Sea x una variable cuyo dominio es el conjunto {1,3,5,7,9}; entonces x puede tener cualquiera de esos valores: 1,3,5,7,9. En otras palabras x puede ser sustituido por cualquier valor entero positivo impar menor entre 1 y 10. La variable es una sustitución de cualquier elemento del dominio.
En nuestro ámbito, podemos clasificar las variables según la escala de medición y/o la influencia que asignamos a unas variables sobre otras y por esta razón, se pueden clasificar como sigue:
Por último, aunque sea un término que utilizamos en capítulos posteriores, entre las variables puede existir cierto tipo de influencia. Según la influencia que asignamos a unas variables sobre otras, podrán ser:
Denominamos variables cualitativas a aquellas que expresan distintas cualidades, características o modalidades. Cada modalidad que se presenta se denomina atributo o categoría y la medición consiste en una clasificación de dichos atributos. Las variables cualitativas pueden ser ordinales y nominales según su nivel de medición o también según el número de alternativas de respuesta en la clasificación, dicotómicas cuando sólo pueden tomar dos valores posibles (sí/no, hombre/mujer) o politómicas cuando pueden adquirir tres o más valores. Así…
Denominamos variables cuantitativas a aquellas que se expresan mediante cantidades numéricas con relaciones proporcionales o cuasi proporcionales entre los elementos de su dominio. Las variables cuantitativas además pueden ser:
variable discreta, que presenta interrupciones sistemáticas en la escala de valores que puede tomar. Estas separaciones o interrupciones indican la ausencia de valores entre los distintos valores específicos que la variable pueda asumir, como por ejemplo el número de coches en una unidad familiar (1, 2, 3,…).
variable continua, que puede adquirir cualquier valor dentro de un intervalo especificado de valores. Por ejemplo el vemos en el apartado preliminar (matriz) las variables peso (23 kg, 24 kg, 25 kg…) o la altura (1.25 m, 1.26 m, 1.27 m…). Estos dominios están limitados por la precisión del aparato medidor, ya que en la teoría permiten que siempre exista un valor entre dos cualesquiera.
Son las que el investigador escoge para establecer agrupaciones en el estudio, clasificando intrínsecamente a los casos del mismo. Un tipo especial son las variables de , que modifican al resto de las variables independientes y que de no tenerse en cuenta adecuadamente pueden alterar los resultados por medio de un sesgo.
Son las variables de respuesta que se observan en el estudio y que podrían estar influenciadas por los valores de las variables independientes. Existe una relación de causa - efecto en su relación con otras variables también dependientes o independientes.
Para acabar con los fundamentos del análisis de datos, debemos incluir una referencia a los diferentes elementos que componen el conjunto de análisis en la terminología del ámbito de trabajo.
La herramienta cuestionario, fundamentalmente utilizada como soporte de recogida de la información permite estructurar y homogeneizar la ordenación de la misma, se compone de elementos de rango inferior denominados pregunta que son utilizadas por los investigadores para cubrir los objetivos del objeto de análisis y por extensión atender a las necesidades de información de los investigadores. Podemos afirmar que el cuestionario es una colección ordenada de preguntas.
La pregunta es un elemento que compuesto por un protocolo verbal o enunciado que debe ser comunicado o planteado en igual forma a todos los sujetos u objetos analizados. Para atender los requerimientos de esta pregunta, los sujetos u objetos analizados formularán respuestas que pueden ser en ocasiones simples o compuestas. Cada una de estas respuestas deberá ser considerada una variable de respuesta a la pregunta, dado que cada elemento de respuesta tendrá un dominio propio.
Respecto al término respuesta que ya fue definido en apartados anteriores y que lo identificamos con el término variable, la consideramos como simple cuando con una única variable respondemos a los requerimientos de la pregunta y la consideramos compuesta cuando requerimos de más de una variable para representar la respuesta del sujeto u objeto analizado. Es importante que sepamos diferenciar lo que será mejor para el tratamiento de la información, porque en muchos casos, una pregunta con variables compuestas, puede ser representada como simple.
Así, diremos que cada respuesta que ofrece el sujeto u objeto analizado, es una respuesta y por extensión una variable.
Resta por definir qué es un código. En nuestro ámbito de trabajo, un código es la representación numérica de una respuesta, al que se le puede atribuir:
Hablamos de un nivel de medición nominal cuando planteamos su escala de medición sobre la base de una mera asignación de nombres de categoría a los distintos valores que pueda tomar la misma. Es una escala de medición donde lo importante no son los valores numéricos sino su representación textual. Un ejemplo puede ser el datos sociodemográfico “sexo” cuyos valores a tomar serán hombre / mujer con independencia de que asignemos valores 1 y 2 ó también 99 y 2000. No es importante el valor codificado sino su representación. Decimos que en este nivel de medición hay una presencia de clasificación, pero hay una ausencia de orden y cuantificación. Éste es el nivel de medición más básico en las Ciencias Sociales.
Hablamos de escala de medición de tipo ordinal, cuando ante un evento o variable planteamos su medida de forma que no sólo clasificamos, sino que incluimos un cierto orden entre las alternativas de respuesta a la variable. En la medición se aprecia un lineal entre las respuestas extremas. Por ejemplo, ante una pregunta sobre la capacidad que presenta un estudiante ante un simulador de negocios, las respuestas son:
Ante dos evaluaciones distintas a dos entrevistados sobre su nivel de capacidad, veríamos que si uno de ellos contesta la opción mucha capacidad y otro contesta la opción bastante capacidad, entre ellos hay una cierta idea de orden además de clasificación. No sabemos cuántas veces más es capaz el primer individuo que el segundo, pero sí sabemos que es más capaz.
Este ejemplo hace que se vea más clara la diferencia entre las dos primeras escalas. En la escala nominal no importaba que hombre fuera en primer lugar o en segundo lugar, sin embargo en este segundo caso, sí es importante que mucha capacidad esté antes que bastante capacidad, y además que su valor sea el correspondiente en la relación. Por tanto, la escala ordinal es válida para clasificar y para ordenar, pero como dijimos al inicio es incapaz para cuantificar la relación.
La escala de intervalo es un nivel de medición que poseyendo las características de las anteriores, podemos decir que aporta un cierto nivel de cuantificación a la medición. Sin llegar a ser una cuantificación absoluta, decimos que las variables medidas en escala intervalo permiten establecer relaciones con la medida utilizada, pero no de forma absoluta.
Por ejemplo, las temperaturas son el exponente de este tipo de escalas. Podemos proporcionar mediciones en escalas diferentes (Celsius, Fahrenheit, Kelvin) y podemos transformarlas a un único patrón de medida. Otro ejemplo de este tipo de medición son las valoraciones que a menudo introducimos como por ejemplo el grado de satisfacción ante un servicio evaluado entre 0 y 5.
Conocida también como nivel de medida proporcional, se refiere aquella medición más ambiciosa de todas las conocidas, puesto que clasifica, ordena y cuantifica, existiendo además un cero absoluto en la cuantificación. La propiedad esencial de esta escala de medida es la posibilidad de establecer cuántas veces es más XXX un objeto que otro, por ejemplo, cuantas veces es más pesado A que B, cuantas veces es más alto el individuo x que el individuo y, etc. Constituyen por decirlo de alguna forma el nivel ideal de medida, pues su utilización implica clasificación, orden y cuantificación.
Es importante destacar que las categorías o alternativas de respuesta que se utilicen tanto en las variables que hemos medimos en escalas nominales como en las variables que medimos con escalas ordinales han de cumplir:
Existen cuatro tipos de categorías especiales de respuesta, valores perdidos, o también llamados valores especiales:
Estos valores que en otros programas suelen no estar identificados o incluso si tienen valor numérico, pueden perturbar el cálculo matemático de medias, desviaciones, etc. . Estos valores, reciben códigos especiales en cualquier software, y particularmente en R, toman el valor NA.
En este documento nos referiremos a estos valores como valores especiales, missing values o valores perdidos.
En los apartados anteriores, hemos realizado una distinción entre variables medidas con escalas cualitativas y cuantitativas, ahora debemos hacer lo mismo con los métodos de análisis.
Una vez que hemos comprendido que no todos los valores ausentes son iguales (recordemos las categorías: No contesta, No sabe, No aplica, No definido), debemos abordar el problema de forma sistemática. Un error común es precipitarse a “rellenar” o “borrar” los datos faltantes sin antes entenderlos. El análisis de valores perdidos es un trabajo de detective: debemos buscar pistas, entender el “porqué” de su ausencia y solo entonces decidir el mejor curso de acción. Las siguientes tareas nos guiarán en este proceso.
Antes de analizar la ausencia de datos, debemos asegurarnos de que los datos que sí tenemos son correctos. Esta fase inicial de limpieza es crucial, ya que muchos “valores perdidos” pueden estar ocultos como valores imposibles o códigos sin etiquetar.
NAs, sino valores que, aunque presentes, son lógicamente incorrectos. Un valor de 999 en una variable de “edad” o un 3 en una variable de “género” (codificada como 1=Hombre, 2=Mujer) no son NA, pero son errores o, muy probablemente, códigos especiales que representan un valor perdido (como “No contesta”) y que no han sido correctamente registrados. Si no los identificamos, un cálculo como la edad media se verá completamente distorsionado.satisfaccion, encontramos valores como 1, 4, 5, 2, 9, 3, 1, -1. Los valores 9 y -1 están fuera del rango permitido. No son “ausentes” en el sentido estricto, pero son incorrectos. Nuestro trabajo es investigar qué significan. Tras consultar la documentación de la encuesta (el “libro de códigos”), descubrimos que 9 se usó para “No sabe / No contesta”. Por lo tanto, debemos convertir todos los 9 a NA para que R los reconozca como valores perdidos y no los incluya en el cálculo de la satisfacción media. El -1 podría ser un simple error de transcripción.En esta fase, nos ponemos el abrigo y tomamos la lupa de detective. No nos interesa (todavía) qué hacer con los valores perdidos, sino entender su naturaleza. ¿Por qué están ahí? ¿Aparecen al azar o siguen un patrón?
Ahora que tenemos sospechas sobre los patrones, necesitamos herramientas para confirmarlas y medir su alcance. Esta fase utiliza técnicas más formales para objetivar lo que encontramos en la fase de análisis.
NA hay en cada variable (columna)? ¿Y en cada observación (fila)? Esto nos da una idea de la magnitud del problema. Una variable con un 90% de valores perdidos es prácticamente inútil y probablemente deberíamos descartarla. Un encuestado que solo ha respondido a 2 de 100 preguntas no aporta información y podría ser eliminado.email_contacto tiene un 85% de valores perdidos, mientras que edad solo tiene un 2% y satisfaccion_general un 5%. Concluimos que email_contacto no es fiable para nuestro análisis. También identificamos 10 encuestados que tienen más del 90% de sus respuestas en blanco; probablemente abandonaron la encuesta al principio, por lo que decidimos eliminar esas filas.NAs cambia entre los grupos.ingresos (con un 20% de valores perdidos en total), calculamos el porcentaje de NAs por género. Descubrimos que solo el 5% de los hombres no respondieron, mientras que el 35% de las mujeres no lo hicieron. ¡Hemos encontrado un patrón claro! La ausencia de respuesta sobre los ingresos está fuertemente relacionada con el género.edad) entre estos dos grupos. Si la media de edad es significativamente diferente entre el grupo A y el B, significa que la edad está relacionada con el hecho de responder o no a la pregunta X.edad influye en si la gente responde o no a la pregunta sobre intencion_de_voto.
1 si el dato está perdido y 0 si no lo está. Luego, podemos calcular la correlación de esta nueva variable 0/1 con otras variables de nuestro dataset. Una correlación alta (positiva o negativa) indica una fuerte relación.falta_ingreso (1 si ingresos es NA, 0 si no lo es). Luego calculamos su correlación con la variable desconfianza_instituciones (una escala del 1 al 10). Si obtenemos una correlación positiva fuerte (ej. 0.7), significa que a mayor desconfianza en las instituciones, mayor es la probabilidad de que una persona no reporte sus ingresos.Finalmente, después de entender la naturaleza, la magnitud y los patrones de los datos perdidos, decidimos qué hacer. No hay una solución única; la elección depende del diagnóstico previo.
NAs están esparcidos por muchas filas. Solo es recomendable si la cantidad de filas a eliminar es muy pequeña (ej. <5%) y hemos comprobado que los datos perdidos son completamente aleatorios (MCAR).edad e ingresos, solo usamos las filas donde ambas variables tienen valor. Si luego queremos correlacionar edad y satisfaccion, usamos las filas donde esas dos tienen valor, que puede ser un conjunto de datos diferente.edad, 80 respondieron ingresos, y 75 respondieron ambas.
NA de una variable numérica con la media de esa variable, o los NA de una variable categórica con la moda (el valor más frecuente). Es un método simple pero peligroso, ya que reduce artificialmente la variabilidad de los datos (la desviación estándar se encoge) y puede distorsionar las relaciones con otras variables.NA de la columna edad con el valor 42. Ahora tenemos un pico artificial de personas con exactamente 42 años, lo cual no es realista y debilita cualquier correlación que la edad pudiera tener con otras variables.NA con un valor elegido al azar de entre los valores observados en esa misma variable. Esto es mejor que la media porque preserva la distribución y la variabilidad originales de los datos.NA en edad, miramos todas las edades que sí tenemos, elegimos una al azar (ej. 35) y la asignamos. Para el siguiente NA, repetimos el proceso y nos sale otra edad (ej. 51). El resultado es mucho más natural que rellenar todo con 42.NA.NA de ingresos, creamos un modelo: ingresos = f(edad, nivel_educativo, años_experiencia). Para una persona con datos de edad, estudios y experiencia pero sin ingresos, introducimos sus datos en el modelo y este nos devuelve una predicción (ej. 45,000€). Esta predicción se usa para rellenar el NA. Es un método muy potente porque utiliza toda la información contextual disponible.