SESIÓN PRÁCTICA 3: TRANSFORMACIONES DE DATOS PROBABILIDAD Y ESTADÍSTICA PROF. Esther González Sánchez Departamento de Informática y Sistemas Facultad de Informática Universidad de Las Palmas de Gran Canaria Curso 2008-2009 Tema 3. Transformaciones De Datos En una situación ideal, los datos introducidos en el Editor de datos serán perfectamente adecuados al tipo de análisis que se desea realizar y cualquier relación entre las variables será perfectamente visible. Desafortunadamente, raras veces estamos en el caso ideal y generalmente necesitaremos de algunos “arreglos” de los datos para obtener la verdadera relación entre las variables. 3.1 Cálculo de valores. Desde este procedimiento, al que se accede del menú Transformar → Calcular, se pueden calcular valores de una variable basándose en transformaciones numéricas de otras variables. Por ejemplo, el archivo de datos Datos de empleados.sav (incluido con el SPSS) contiene una variable para la fecha de nacimiento de los encuestados (fechnac), sin embargo, no contiene una variable para la edad actual del encuestado. Podemos crear una nueva variable que sea la diferencia calculada entre la fecha actual y la fecha de nacimiento, que deberá ser la edad aproximada, en este momento, del encuestado. Para indicar al SPSS la definición de esa nueva variable, a la que llamaremos edad, hay que entrar en el cuadro de diálogo calcular variable: 1 En el recuadro “variable de destino” se indica el nombre de la variable que va a recibir el valor calculado. Puede ser una variable existente o una nueva. Si es una nueva, el nombre que le demos debe cumplir las normas de los nombres de variables en SPSS (en nuestro ejemplo, es una variable nueva y la llamaremos edad). Las nuevas variables, por defecto se consideran numéricas. Si se desea calcular una nueva variable de cadena o asignar etiquetas a las variables, se pulsa el botón “Tipo y etiqueta…” En el recuadro “expresión numérica” definimos la operación utilizada para calcular el valor de la variable de destino. Esta expresión puede utilizar nombres de variables existentes, constantes, operadores aritméticos y funciones (hay varias funciones preincorporadas, incluyendo funciones aritméticas, funciones estadísticas, funciones de distribución y funciones de cadena. En el panel de texto encontramos una descripción de lo que hace cada función y de los parámetros que necesita). Se puede teclear directamente la expresión en el cuadro de texto y también se puede utilizar la calculadora, la lista de variables y la lista de funciones para pegar elementos en la expresión. Para ello, pueden seleccionarse las variables de la lista de la izquierda o la función y trasladarla a la expresión numérica pulsando el botón con punta de flecha. Los operadores y números se pasan a la expresión picando en ellos con el ratón Se recomienda poner paréntesis cada vez que se incluya una operación para una variable. En nuestro ejemplo, como vamos a trabajar con variables de tipo fecha, usaremos funciones para creación y cálculo de fechas y rellenaremos los parámetros que necesita cada función. Una vez definida la nueva variable se ejecuta la orden en el botón ‘Aceptar’ y el resultado aparece como una nueva columna al final del Editor de datos del SPSS. También se pueden utilizar expresiones condicionales para aplicar transformaciones a subgrupos seleccionados de casos (para los que la expresión condicional es verdadera). Para especificar la expresión condicional pulsamos en “Si…” que, a su vez, abre un cuadro de diálogo como este: 2 Si, por ejemplo deseáramos realizar el cálculo anterior pero no para todos los empleados sino sólo para aquellos con determinadas categorías laborales (catlab <5) y que hubieran comenzado trabajando en la empresa con un determinado salario inicial (salini ≥ 12000), que quizá sean los posibles candidatos “ideales” a una prejubilación elegiríamos lo anterior. 3.2 Recuento de apariciones Para contar apariciones de los mismos valores en una lista de variables seleccionamos el procedimiento Transformar→ Contar y se abre el siguiente cuadro de diálogo: Este cuadro de diálogo crea una variable (que debe ser siempre numérica) que, para cada caso, cuenta las apariciones del mismo valor, o valores, en una lista de variables. El valor de la variable de destino, que, en cada caso, variará entre 0 y el número de variables seleccionadas de la lista, se incrementa en 1 cada vez que una de las variables seleccionadas (extraídas de la lista total de variables) coincide con una especificación de la lista “Contar los valores” (que se definen pulsando el botón “Definir valores…”). 3 Por ejemplo, un estudio podría contener una lista de revistas con las casillas de verificación sí/no para indicar qué revistas lee cada encuestado. Se podría contar el número de respuestas sí de cada encuestado para crear una nueva variable que contenga el número total de revistas leídas. Las especificaciones de valores pueden incluir valores individuales, valores perdidos o valores perdidos del sistema y rangos de valores. Los rangos incluyen sus puntos finales y los valores definidos como perdidos por el usuario que estén dentro del rango. En el ejemplo del fichero anterior podríamos estar interesados en contar, en la nueva variable valor, el número de variables (de entre salini, salario, aumensal y salmedio) que, en cada caso, tiene un valor entre 5000 y 20000. También se pueden utilizar expresiones condicionales para aplicar transformaciones a subgrupos seleccionados de casos (para los que la expresión condicional es verdadera). Para especificar la expresión condicional pulsamos en “Si…” que, a su vez, abre un cuadro de diálogo como el ya explicado anteriormente 3.3 Recodificación de valores Otra opción importante dentro del menú ‘Transformar’es la que permite codificar los valores originales de una variable en otros diferentes. El resultado puede reemplazar al de la variable original o puede grabarse en otra variable distinta. En caso de optar por la primera opción se perderán los valores originales; y en caso de optar por la segunda, la nueva variable aparecerá en el editor de datos con el nombre que 4 le asignemos. Se pueden recodificar las variables numéricas y de cadena, y se pueden recodificar varias variables a la vez, siempre que sean del mismo tipo. El cuadro de diálogo correspondiente a recodificar en nuevas variables tiene el siguiente aspecto: En el recuadro “Var. numérica -> Var. de resultado” se indica cuál es la variable original que se quiere recodificar y cómo se llamará la variable resultante. Supóngase que queremos recodificar los valores de la variable ingresos (del fichero demo.sav) en las siguientes cuatro categorías (hasta 25, de 25 a 50, de 50 a 75 y más de 75) definiendo una nueva variable llamada cating2. Para ello trasladamos la variable ingresos al recuadro derecho. En el recuadro “Nombre” hay que etiquetar a la variable resultado (por ejemplo cating2). Finalmente pulsamos en cambiar. En el recuadro tiene que aparecer ingresos -> cating2. Para indicar los nuevos valores seleccionamos la opción “valores antiguos y nuevos” y desde el cuadro de diálogo correspondiente indicamos cada uno de ellos. Puesto que en nuestro ejemplo los valores antiguos serán agrupados en intervalos, hay que utilizar la opción ‘Rango’. Los valores nuevos pueden ser numéricos o de cadena. Si desea recodificar una variable numérica en una variable de cadena, también se deberá seleccionar “Las variables de resultado son cadenas”. Por ejemplo, primera recodificación: valor antiguo: Rango del menor hasta 24,999; valor nuevo: 1. Una vez especificado el cambio, se pulsa en ‘Añadir’. Hay que repetir la operación para cada uno de los cambios. El cuadro final tiene que tener el siguiente aspecto: 5 3.4 Categorizar variables Categorizar variables, otra de las opciones del menú Transformar, convierte datos numéricos continuos en un número discreto de categorías. Este procedimiento crea nuevas variables (numéricas) que contienen los datos categóricos. Los datos se categorizan según grupos percentiles, por lo que cada grupo contiene aproximadamente el mismo número de casos. 6 Por ejemplo, la especificación de cuatro grupos asignará el valor 1 a los casos situados bajo el percentil 25, 2 a los casos entre el percentil 25 y el 50, 3 a los casos situados entre el percentil 50 y el 75 y 4 a los casos por encima del percentil 75. Si, en el ejemplo de los datos de empleados, categorizamos la variable salini, en tres grupos, crea la nueva variable nsalini, dividiendo los posibles valores de la variable en tres grupos homogéneos, que puede tomar los valores 1, 2 ó 3, según el valor de la variable salini, para el caso en concreto, pertenezca a uno de los tres grupos creados 7 3.5 Recodificación automática Recodificación automática, accesible desde Transformar→ Recodificación automática, convierte los valores numéricos y de cadena en valores enteros consecutivos. Asignará el valor 1 al menor/mayor valor que toma la variable y continuará incrementándolos. Si la variable a recodificar tiene el mismo valor para más de un caso, se asigna el mismo valor recodificado a todos los casos de igual valor de la variable original. 8 La nueva variable, o variables, creadas por la recodificación automática conservan cualquier variable ya definida y las etiquetas de valor de la variable antigua. Para los valores que no tienen una etiqueta de valor ya definida se utiliza el valor original como etiqueta del valor recodificado. Una tabla muestra los valores antiguos, los nuevos y las etiquetas de valor. Los valores de cadena se recodifican por orden alfabético, con las mayúsculas antes que las minúsculas. Los valores perdidos se recodifican como valores perdidos mayores que cualquier valor no perdido y conservando el orden. Por ejemplo, si la variable original posee 10 valores no perdidos, el valor perdido mínimo se recodificará como 11, y el valor 11 será un valor perdido para la nueva variable. 3.6 Ordenar casos Esta no es propiamente una opción de transformación de datos, sino más bien una forma de organizar el fichero de los datos, la encontramos en el menú Datos → Ordenar casos. 9 Este cuadro de diálogo ordena los casos (las filas) del archivo de datos basándose en los valores de una o más variables de ordenación. Se pueden ordenar los casos en orden ascendente o descendente. • • Si se selecciona más de una variable de ordenación, los casos se ordenarán por variable dentro de las categorías de la variable anterior de la lista Ordenar por. Por ejemplo, si se selecciona Sexo como la primera variable de ordenación y Minoría como la segunda, los casos se ordenarán por minorías dentro de cada categoría de sexo. Para las variables de cadena, las letras mayúsculas preceden a las minúsculas correspondientes en orden. Por ejemplo, el valor de cadena "Sí" precede a "sí". 3.7 Seleccionar casos Igual que la anterior, esta no es propiamente una opción de transformación de datos, sino más bien una forma de organizar el fichero de los datos, la encontramos en el menú Datos → Seleccionar casos. Seleccionar casos proporciona varios métodos para seleccionar un subgrupo de casos basándose en criterios que incluyen variables y expresiones complejas. También se puede seleccionar una muestra aleatoria de casos. 10 “Si se satisface la condición”: permite seleccionar subconjuntos de casos utilizando expresiones condicionales. Por ejemplo sólo los casos correspondientes a os sujetos de menos de 50 años y nivel educativo inferior o igual a 12. “Muestra aleatoria de casos”: permite seleccionar una muestra aleatoria que incluya, bien con un porcentaje de los casos o un número exacto de ellos. Por ejemplo una muestra del 25% de todos los casos. El SPSS los selecciona al azar. Se puede filtrar o eliminar los casos que no reúnan los criterios de selección. Los casos filtrados permanecen en el archivo de datos pero se excluyen del análisis. Seleccionar casos crea una variable de filtro, filter_$, para indicar el estado del filtro. Los casos 11 seleccionados tienen un valor de 1; los casos filtrados tienen un valor de 0. Estos últimos también se indican con una barra transversal sobre el número de fila en el Editor de datos. Para desactivar el filtrado e incluir todos los casos en el análisis, se selecciona la opción “Todos los casos”. Si se guarda el archivo de datos después de eliminar casos, no se podrán recuperar los casos eliminados. 12 PRACTICAS DE PROBABILIDAD Y ESTADISTICA (SESION 3) 1.- Activar la opción del Visor de resultados para ver las anotaciones con la sintaxis de los comandos y cargar el fichero de datos practica.sav de la sesión anterior. 2.- Generar una variable difhoras cuyos valores correspondan a la diferencia de los valores entre h_dormir e h_estudi. 3.- Generar, (utilizando recuento de apariciones) a partir de la variable difhoras, una nueva variable, gandul, tal que 0 si h_dormir < h_estudi Î difhoras < 0 gandul Î 1 si h_dormir ≥ h_estudi Î difhoras ≥ 0 4.- Generar, partiendo de la variable peso, una nueva variable (llámenla como quieran) cuyos valores correspondan a la división de los valores de la variable peso en 4 categorías diferentes: Delgado, peso medio-bajo, peso medio-alto, gordo, acorde a los 4 cuartiles de la variable. 5.- Ordenar el archivo de datos en orden ascendente de valores de edad 6.- Generar una nueva variable difpesid que, para las mujeres de estatura entre 1,65 y 1,75 y menores de 20 años, calcule el redondeo de la diferencia entre su peso y el peso ideal para esa edad-estatura, que es 59 kilos. 7.- Resumir más los valores posibles de la variable creatividad, en la misma variable, de manera que ahora sus posibles categorías sean las siguientes: 1.- por debajo de la media, 2.- en la media y 3.- por encima de la media. La media no se refiere a la media aritmética, sino a uno de los valores de la variable original. 8.- Recodificar, en una nueva variable, talla, los valores de la estatura, en los siguientes grupos: estatura < 1,68 Î talla = bajos 1,68 ≤ estatura ≤ 1,70 Î talla = media estatura > 1.70 Î talla = altos 9.- Seleccionar los casos de los alumnos que no se explica que hacen estudiando esta carrera (estudiar ≤ 2; util ≤ 3; mate = 0 y edad ≥ 20) y listar, indicando el nº del caso, el tiempo perdido (h_estudi) y el sexo. 10.- Etiquetar todas las nuevas variables creadas y sus valores convenientemente. 11.- Almacenar el fichero resultante con el nombre de practica2.sav 13