ELEMENTOS DE LA VENTANA SPSS - VENTANA DE LA APLICACIÓN: contiene la aplicación SPSS - VENTANAS SECUNDARIAS: el SPSS utiliza cinco tipos de ventanas secundarias: la que contiene los datos (New data), la de resultados (Output), la de instrucciones (syntax), la de los gráficos utilizados durante la sesión y la de edición de éstos (y chart editor). - DATA EDITOR WINDOW (NEW DATA): contiene el archivo de los datos activo y permite modificarlos. * Esta ventana se abre automáticamente al iniciar la sesión. * La información de esta ventana se guarda con extensión “.SAV” Aquí está el nombre del archivo: “Employee data” Aquí están los nombres de las variables (COLUMNAS) Aquí están los casos (FILAS) - OUTPUT WINDOW: contiene el resultado de los análisis estadísticos, así como otras informaciones que presenta el sistema, como son los mensajes de error, por ejemplo * Esta ventana se abre automáticamente al iniciar la sesión. * La información de esta ventana se guarda con extensión .SPO Gema Vega 1 Aquí está el nombre del archivo, que en este caso sale por defecto “output1” “Colgando” de esta raíz, aparecerán las distintas órdenes ejecutadas, ofreciéndonos la oportunidad de elegir una o varias entre todas, abrirlas y/o cerrarlas (símbolo de libro abierto o cerrado) En esta ventana aparecerán los resultados de las órdenes ejecutadas y elegidas en la ventana de la izquierda con la opción de “abiertas” ! Barra de Estado: el símbolo nos informa que es en este archivo donde van a salir los siguientes resultados que ejecutemos Esta ventana puede tener diferentes resultados: 1. Un gráfico: el cual podemos modificar editándolo (CHART EDITOR) La orden es Graph y la selección es la Para “entrar” en el gráfico se hace “clic” dos veces con el botón izq. del ratón o se edita con el botón derecho Gema Vega 2 Es una ventana nueva de CHART EDITOR Estas son diferentes herramientas para modificar el gráfico * Esta nueva ventana se abre a través de la ventana de output: nos ofrece las funciones de gráficos y además nos da la opción de modificar, copiar o exportar el gráfico. Podemos exportar Podemos copiar 2. Textos con tablas: Algunos resultados de tablas y textos son pequeños y directamente se pueden visualizar de forma completa en la ventana derecha del output; pero otras veces son tan amplios que se quedan “truncados” y para poder visualizarlos es necesario editarlos en otra ventana nueva denominada “SPSS Text Output”. La forma de editar un texto es igual que con el gráfico: primero se selecciona y luego se edita con el ratón ¡Ya sabéis! Botón derecho del Ratón y editar o, botón izquierdo con doble clic. Una vez que se abre la nueva ventana de edición de texto, al igual que con los gráficos, en la ventana de output se quedará ennegrecido el texto seleccionado. Gema Vega 3 Para “entrar” en la ventana de texto se hace “clic” dos veces con el botón izq. del ratón o se edita con el botón derecho. Posteriormente lo que se ha seleccionado quedará “ennegrecido” Se abre esta ventana nueva como texto dentro de la anterior, con sus funciones de editor individuales, pudiendo modificar, imprimir o copiar el texto - SYNTAX WINDOW: contiene instrucciones y procedimientos que permiten manipular el contenido de la ventana de datos y generar la información que aparece en la ventana de resultados. * El sistema permite configurar la apertura automática de la ventana de instrucciones al iniciar la sesión (EDIT/ PREFERENCES) * La información de esta ventana se guarda con extensión .SPS Aquí esta el nombre del archivo de sintaxis Aquí están las herramientas más utilizadas Aquí están órdenes las distintas ** Pueden tenerse abiertas simultáneamente varias de resultados, de sintaxis y de editor de gráficos o de textos, pero SOLO UNA ventana de datos Gema Vega 4 * Recomendamos que las ventanas secundarias se organicen en mosaico (MAYUS + F4) OBJETOS DE LAS VENTANAS - BARRA DE MENUS: casi todas las acciones que realiza la aplicación pueden activarse a partir de un sistema de barra de menús y menús desplegables. - BARRA DE HERRAMIENTAS: permite ejecutar rápidamente las funciones de uso más frecuentes. - BARRAS DE DESPLAZAMIENTO: desplazan el texto de las ventanas secundarias de instrucciones y resultados. - LINEA DE ESTADO: informa sobre el estado en el que se halla el proceso de datos y si existe alguna restricción relativa a los casos que intervienen (por ejemplo si se han seleccionado algunos que cumplan una condición, vendrá un texto con "filter on" indicándonos que los análisis que realicemos sólo se efectuarán en esos casos). Además cuando se posiciona el puntero del ratón sobre una función de la barra de herramientas, en la línea de estado aparece una descripción de la función que realiza. Barra de Herramientas Barra de Desplazamiento Barra de Menús Caso NO Seleccionado Barra de Desplazamiento Barra de Estado - File: permite crear, recuperar y grabar archivos. También contiene la opción Exit que sirve para salir de la aplicación. Gema Vega 5 - Edit: permite editar el texto de la ventana de resultados y de instrucciones, realizar funciones de búsqueda y cambio. También contiene el menú de REFERENCES que permite personalizar diferentes aspectos del funcionamiento del programa. - Data: permite definir variables y realizar cambios globales en la ventana de datos. - Transform: contiene procedimientos de creación y modificación de variables. - Statistics: contiene los diferentes procedimientos de análisis estadístico. - Graph: contiene opciones de representación gráfica. Gema Vega 6 - Utilities: permite configurar diferentes aspectos de la aplicación (por ej. Tipo de letra), crear y activar grupos de variables, obtener información sobre los datos y consultar y seleccionar variables a instrucciones. - Window: permite controlar diferentes atributos de las ventanas de la aplicación (por ej. disposición en cascada o en mosaico) y cambiar la ventana activa. - Help: proporciona información sobre diferentes aspectos del funcionamiento del programa. Gema Vega 7 CUADROS DE DIALOGO El programa solicita información del usuario a través de los Cuadros de Diálogo que a parecen cuando se selecciona un elemento del menú. Existe un conjunto de botones de comando y cuadros de lista que aparecen en la mayor parte de los cuadros de diálogo: 1. OK: Ejecuta las opciones del cuadro del diálogo que se ha seleccionado. Directamente pasaremos a la ventana de resultados donde nos mostrará la orden y el resultado correspondiente si es un análisis o un gráfico. Si fuera una orden de definir o de transformar una variable sólo aparecerá la orden en dicha ventana. 2. PASTE: Inserta la orden en la ventana de sintaxis. ¡NO LA EJECUTA! 3. RESET: Elimina las especificaciones que se han hecho en la utilización previa de dicho cuadro de diálogo. 4. CLOSE: Cierra el cuadro de diálogo sin ejecutar ninguna orden. 5. HELP: Abre una ventana de ayuda específica para la realización de las órdenes de ese cuadro de diálogo. Variable seleccionada Orden elegida Botones de Comando Cuadro de Lista: variables no seleccionadas para ejecutar la orden Botones de acciones de la orden Botón para organizar las variables seleccionadas en los Cuadro de Lista Además de los botones de comando en el cuadro de diálogo existen dos Cuadros de Lista. Estos cuadros suelen contener listas de archivos o de variables. Existen dos tipos de cuadros de lista de variables: los que contiene a todas las variables y los que sólo contiene las variables seleccionadas. Las variables se seleccionan del primer cuadro al "picar" una o varias a la vez con el ratón y, posteriormente volver a hacer "clic" sobre el botón con la flecha. Pasarán de una ventana a la otra. También es posible quitar alguna variable de la lista de variables seleccionadas realizando la misma operación pero en sentido inverso. *** Las opciones de los cuadros aparecen atenuadas cuando no tiene sentido seleccionarlas. Casi siempre es porque la orden no está completa. * Los puntos suspensivos "... " a continuación de un texto de un botón indican que si se pulsa dicho botón aparecerá otro nuevo cuadro de diálogo con más opciones. **** Os recomiendo que os acostumbréis a utilizar la opción PASTE y de esa manera tendréis la posibilidad de guardar en distintos ficheros o archivos de instrucciones con extensión .SPS, que pueden ser muy útiles en distintas ocasiones. Según esto, la propuesta de modo de trabajo es: 1º seleccionar un menú de la barra de menús (por ejemplo: statistics), 2º elegir un elemento de la ventana que se despliega al seleccionar el menú (summarize, frecuencies). 3º configurar el cuadro de diálogo y finalizar con PASTE y 4º después de pulsar PASTE, la instrucción aparece en la ventana de sintaxis, pero no ha sido ejecutada. Para ser ejecutada habrá que seleccionarla si hay otras ("ennegrecerla con el ratón") y posteriormente hacer "clic" sobre el botón con una flecha que aparece en la barra de herramientas de esta ventana. *** El único cuadro de diálogo que no ofrece la opción PASTE es el de DEFINE VARIABLE. Si queréis guardar la orden, la única opción que a mi se me ocurre es seleccionándola con el ratón ("ennegreciéndola" hasta el último punto) en la ventana de resultados (OUTPUT) y con el menú EDIT de la barra de menús dais la orden de COPY. Posteriormente os vais a la ventana de sintaxis (haciendo "clic" directamente sobre la Gema Vega 8 barra de herramientas o a través del menú Window donde os da la opción de cambiar la ventana activa). Una vez en esa ventana, nuevamente entráis en el menú EDIT y ponéis PASTE, teniendo en cuenta que os copiará dicha orden en el punto donde esté el cursor. (Para que la orden se pueda ejecutar hay que quitar las "flechas" que aparecen al principio de cada línea). LECTURA DE DATOS La lectura de los datos se realiza con el menú FILE de la barra de menús. Dentro de la ventana que se despliega al elegir este menú tenemos varias opciones. Utilizaremos la opción OPEN y posteriormente DATA. Dentro de este cuadro de diálogo existen varias opciones: nombre del fichero (donde sale una lista de nombres de ficheros que tiene la condición de tener la extensión .sav, que por defecto es la que aparece), tipo de fichero (donde por defecto siempre aparece los ficheros de SPSS con extensión .sav), directorios (donde aparece la posición de directorio y subdirectorio de donde "cuelgan" los ficheros que aparecen en la ventana de nombre de fichero) y unidades (donde te da la opción de leer de distintos discos: c:\, a:\,...etc.). Si lo que se quiere es abrir una base de datos con extensión .SAV del SPSS, no hace falta modificar nada de la ventana desplegable de tipo de fichero y lo único es que hay que hacer "clic" para seleccionar el fichero que queramos Se activa aquí Pero si queremos abrir ficheros con otra extensión habrá que elegir primero en esta ventana desplegable la extensión de los ficheros que queremos. Si queremos ficheros de la versión de MS_DOS de SPSS, la extensión es .SYS, si es de DBASE la extensión es .DBF y de Excel, la extensión es .XLS. Gema Vega 9 Se elige en FILE Se localiza el archivo y se escoge arrastrándolo con el ratón de izquierda a derecha En el caso de que el fichero que queramos abrir sea ASCII, directamente en el menú FILE da la opción de leer datos desde ASCII ("Read ASCII Data"). Aquí la orden será distinta: Gema Vega 10 GUARDAR EL TRABAJO DE CADA SESIÓN Hay que distinguir entre las distintas posibles ventanas que disponemos en el programa. Podremos guardar la matriz de datos (con extensión .sav), el fichero de órdenes (con extensión .sps) y el fichero de resultados ( con extensión .spo). Para guardar estos distintos ficheros tenemos que tener activa dicha ventana y entrar en el menú FILE y hacer clic sobre SAVE FILE si ya lo hemos guardado con anterioridad, con lo que guardará el archivo con el mismo nombre que estaba antes. Como ya sabréis esta acción se puede hacer más rápidamente haciendo clic en la barra de herramientas donde esté el símbolo de un diskete. Por el contrario, en el caso de que sea la primera vez que se vaya a guardar dicho fichero, se abrirá una ventana de diálogo donde se deberá escoger el directorio y subdirectorio oportuno, además de ponerle un nombre a dicho fichero, al cual le añadirá la extensión oportuna dependiendo del fichero que se esté guardando. Otra posibilidad, es que queramos guardar el fichero en otro disco o otro directorio/subdirectorio, para lo cual habrá que hacer "clic" en SAVE AS, donde se abrirá una ventana de diálogo igual a la comentada anteriormente. Como sabéis, ventana de matriz de datos sólo hay una en activo; pero de las demás ventanas es posible tener varias abiertas al mismo tiempo. Os recomiendo que, tanto la ventana de resultados como la de sintaxis tengáis "unas de sucio" que será la que por defecto os abre el programa al inicializarlo y donde expresará todas las órdenes y resultados que se realicen durante la sesión y, "otras de limpio" donde iréis copiando las órdenes y resultados que queráis guardar. También os recomiendo que cada vez que copies un resultado o una orden en dichos ficheros, lo guardéis; pues pudiera ser que se fuera la luz o que alguien tocara en vuestro ordenador y perdierais lo que habéis hecho. Una buena práctica es que cada vez que uno modifica algo o, se levanta de la silla, se guarde lo que ha hecho, pues ¡se puede tropezar con el cable! ¿no? DEFINICION Y ATRIBUTOS DE UNA VARIABLE Se accede al menú en "DATA" / "DEFINE VARIABLE" o "picando" dos veces en la columna de la variable en la matriz de datos. ATRIBUTOS: 1. NOMBRE: para asignar un nombre a una variable hay que seguir una serie de normas:* LONGITUD: entre 1- 8 caracteres * 1er CARACTER: una letra de A-Z (NO Ñ) * CARACTERES RESTANTES: letras: A-Z; nº: del 0-9; signos: _ . $ * PALABRAS PROHIBIDAS: ALL, BY, TO, WITH, EQ, NE, LT, LE, GT, AND, OR, NOT 2. ESCALA DE MEDIDA: Categórica o Numérica 3. FORMATO: Numérica: Se indica como (Fa.d), siendo "F" la indicación de que es un número real, la "a" el número total de caracteres que ocupará la variable cuando se escriban (con el punto y decimales) y la "d" indicaría el número de decimales. Siempre tener en cuenta que se deben de poner el mínimo nº de decimales posible. Alfanumérica (string). Acordaros que en los listados de cada cuadro de diálogo las variables string vendrán indicadas por un signo ">" ó Fecha/hora (hay distintas modalidades de poner las fechas). 4. ETIQUETAS: Descripción de la variable. Si es numérica, se debe de poner la escala de medida. Si la variable es categórica, además de poner la etiqueta a la variable, hay que etiquetar cada valor o código de las distintas categorías de la variable. (Por ejemplo en la variable Raza: el valor "0" le corresponde la etiqueta "raza blanca", al "1" "la raza negra" y al "2" "la raza amarilla") 5. VALORES MISSING: códigos asignados a los valores desconocidos o a los valores no evaluables. A veces el contenido de un caso en una variable no es un valor válido. Esto puede ser por varias razones: porque sea un error en la transcripción de los datos, porque no se haya recogido el valor que toma esa variable en ese caso o porque realmente no se pueda saber dicho valor. En cualquiera de estas Gema Vega 11 circunstancias la realidad es que se desconoce ese valor y, por tanto no se puede utilizar para realizar los análisis. El programa tiene que reconocer a estos valores como "missing values". Para ello tenemos dos posibilidades: 1ª dejar el espacio en blanco y el programa por defecto lo reconoce como missing (posibilidad que no os recomiendo porque nunca sabremos si es que se te ha olvidado poner ese valor por error o realmente reconoces dicho valor como perdido). Y 2ª: darle un valor en concreto que el programa reconozca como missing una vez informado de ello. Ese valor se codifica al definir la variable y tiene que cumplir la condición de que sea un valor tal, que la variable en cuestión nunca pueda tomar.(Por ejemplo en el caso de la variable edad el número "-9"). A pesar de lo que os he dicho en el manual del programa recomiendan que se dejen los espacios en blanco antes que darles un valor a los missing. Ventana de diálogo de la orden DEFINE VARIABLE Variable seleccionada haciendo doble clic sobre el nombre de la variable (hb_4) Ventana de diálogo de DEFINIR LAS ETIQUETAS: se puede etiquetar la variable y los valores que tome la variable en las cualitativas Descripción completa de la variable Botones para definir la variable Etiqueta de la variable hb_4 CODIFICACION DE LAS VARIABLES CUALITATIVAS: El objetivo de codificar una variable es representar de forma simplificada las diferentes categorías de las variables cualitativas (dicotómicas o no dicotómicas: nominales y ordinales). Los códigos que se asignan a cada categoría son arbitrarios pero deben de cumplir dos condiciones: simplificar su representación e identificarle de manera inequívoca. Así pues una variable cualitativa se puede codificar como numérica o alfabética (string) en función del tipo de códigos que queramos poner a cada categoría; aunque como ya os dije, habría que acostumbrarse ya a codificarles como numéricas o, más bien os recomiendo que lo hagáis. Si son dicotómicas (0/1) y las no dicotómicas con las categorías a partir del "0" en adelante. Por supuesto, tenéis que tener presente que aunque la variable la codifiquéis como numérica, tal número no expresa ninguna cantidad. Por ejemplo, la variable exitus se puede codificar como string SI/NO o numérica 0/1. Gema Vega 12 Como veis el nombre de la variable no coincide con la etiqueta de la variable La etiqueta de la variable “exi” es EXITUS Etiqueta del valor 1 es SI APPLY DATA DICTIONARY Dentro del menú FILE, existe una posibilidad que es APPLY DATA DICTIONARY, que es una forma alternativa de definir variables. Aplica el diccionario de un archivo SPSS de datos, es decir, con extensión .SAV, al archivo de datos que se tenga en activo en ese momento. Esta operación se realiza solo para variables cuyo nombre y formato sea igual en ambos archivos. Para ejecutar la orden al seleccionar APPLY DATA DICTIONARY se abrirá una ventana de diálogo con el fín de que se busque el otro archivo .SAV del que hay que copiar el diccionario de variables. La orden quedará así: APPLY DICTIONARY FROM = 'NOMBRE.SAV'. Ventana de diálogo de APPLY DATA DICTIONARY en donde hay que escoger el nuevo archivo a través de los diferentes subdirectorios Esta orden se elige AQUÍ Gema Vega 13 SELECT CASES A esta orden se accede desde la barra de menús haciendo clic en el menú DATA y luego seleccionando SELECT CASES. Se abrirá una ventana de diálogo donde aparecen diferentes formas de seleccionar los datos para realizar los siguientes análisis. Estas opciones son: 1- Seleccionar todos los casos (que es la que aparece por defecto): ALL CASES 2- Seleccionar una submuestra de los casos de forma aleatoria: RANDOM SAMPLE OF CASES. Tenemos la opción de elegir un número determinado de casos o una proporción de ellos. 3- Seleccionar una submuestra según el valor o rango de una variable: BASED ON TIME OR CASE RANGE 4- Seleccionar una submuestra según un valor de una variable ya existente: USE FILTER VARIABLE 5- Seleccionar una submuestra si cumplen alguna condición: IF CONDITION IS SATISFIED. Esta condición la expresamos en otra ventana que entraremos al hacer clic sobre la orden IF, donde tendremos que crear la expresión lógica de la condición que ponemos (ver la parte correspondiente a elementos que constituyen una expresión lógica). Una vez que ya hemos construido la orden para seleccionar los casos, tenemos que especificar si los no seleccionados queremos que los borre de la matriz de datos (UNSELECTED CASES ARE DEJETED: orden poco o nada recomendable) o por el contrario, simplemente que no los tenga en cuenta de forma temporal para los futuros análisis que realicemos (UNSELECTED CASES ARE FILTERED). A esta última posibilidad la denominamos FILTRADO DE CASOS, cuando simplemente queremos excluir temporalmente del análisis a los sujetos que no cumplen determinada condición. Ventana de diálogo de SELECCIONAR Se selecciona AQUÍ Se ha elegido la opción de que EXISTA UNA CONDICIÓN EN LA SELECCIÓN Ventana de diálogo para poner la condición La condición en este caso es que la variable “exi” tome el valor 1, es decir escogemos a los fallecidos AQUÍ nos dan la opción de eliminar o filtrar los datos no seleccionados Para poder ejecutar esta orden, el ordenador sigue los siguientes pasos: 1º Crea una nueva variable de selección (que llama FILTER_$) que toma el valor "0" para los sujetos que no cumplen la condición (los excluidos) y un valor “1” para aquellos que si la cumplen, es decir, para los sujetos que realmente queremos seleccionar. 2º Activa un filtro para seleccionar solo aquellos pacientes que en la anterior variable creada tomen el valor "1". Gema Vega 14 Esto lo realiza el programa simplemente con que nosotros pongamos la condición en la ventana correspondiente y posteriormente demos a OK. Una vez ejecutada la orden, en la barra de estado aparecerá un mensaje "FILTER ON", indicando que sólo trabajará a partir de ese momento con los casos seleccionados. Además en la matriz de datos aparecerá el número de registro tachado en los casos no seleccionados. Cuando se quiera volver a seleccionar a todos los casos volveremos a DATA/SELECT CASES/ y pondremos ALL CASES. En este momento la orden que aparecerá ejecutada será "FILTER OFF" y desaparecerá el mensaje de la barra de estado. Debe de quedar claro que cada vez que se seleccione un grupo de casos la variable los valores de “0” ó “1” de la variable Filter_$ cambiarán, aunque la variable se siga llamando igual. Por tanto, si tal selección os interesa por algo en especial, debéis cambiar el nombre de la variable. Por ejemplo, una situación que se me ocurre que es interesante hacer este cambio de nombre es cuando habéis seleccionado una muestra aleatoria del total de la muestra de estudio, la única variable que os definirá tal sub_muestra será “Filter_$” y en este caso debéis de modificar el nombre de esta variable para dejarla como permanente en la matriz de datos y poder volver a seleccionar esta sub_muestra cuando vosotros queráis. Me imagino que a estas alturas no os tengo que decir cómo se cambia el nombre de una variable ¿no? ...En DEFINE VARIABLE, haciendo doble clic sobre el nombre original de la variable (en este caso Filter_$). SORT CASES A esta orden se accede escogiendo el menú DATA de la barra de menús y sirve para ordenar los datos según los valores de la variable o variables criterio que se establezcan. Si se especifica una lista de variables, primero se ordenan según los valores de la primera variable, a continuación según los de la 2ª y así sucesivamente. Por defecto la ordenación es ascendente, para ordenarlo de forma descendente, hay que especificarlo. VENTANA UTILITIES Esta ventana tiene varias opciones que son muy útiles (¡de ahí su nombre claro!). 1- VARIABLES: donde se puede ver las distintas variables (formato, etiquetas y missing values) de la base de datos activa. 2- FORMAT: da la opción de cambiar el tipo de letra 3- OUTPUT PAGE TITLE: pone un título al trabajo que aparecerá en la primera línea de cada hoja del "output". El texto del título puede tener una longitud máxima de 58 caracteres. 4- OUTPUT PAGE SUBTITLE: pone un subtítulo al trabajo que aparecerá en la segunda línea de cada hoja del "output". El texto del subtítulo puede tener una longitud máxima de 64 caracteres. 5- *(Coment): permite insertar un texto entre las instrucciones SPSS con objeto de documentar el trabajo. ELEMENTOS, ESTRUCTURA Y ORDEN DE EJECUCION DE UNA EXPRESION LOGICA Consideramos expresiones lógicas cuando queremos dar una información condicionada. Normalmente las utilizamos en las órdenes de transformar variables o cuando seleccionamos datos que cumplan una condición. Vamos a comentar los elementos que constituyen una expresión lógica: Expresión Aritmética: Constantes Variables Operadores aritméticos (ver COMPUTE) Funciones (ver COMPUTE) Operadores de relación: " = " -->Igual " <> " -->Diferente " < " -->Menor que " > " -->Mayor que Gema Vega 15 " <= " -->Menor o igual " >= " -->Mayor o igual Operadores Lógicos: " AND " --> y (inserción) " OR " --> o ( reunión) " NOT " --> no (negación) Estructura de una expresión lógica: (exp.arit. ope.rel. exp.arit.) op. lógico (exp.arit. op.rel. exp.arit) Orden de ejecución de una expresión lógica: 1º 2º 3º 4º 5º 6º Expresiones situadas en paréntesis Expresiones aritméticas Operadores de relación Operador lógico NOT Operador lógico AND Operador lógico OR AQUÍ VA UN EJEMPLO: aunque creo que debe de ser innecesario, pues os habréis enterado perfectamente SELECT IF (SEXO = 1 AND EDAD <= 40 AND PESO/TALLA**2 > 25). Donde sexo, edad, peso y talla son diferentes variables, el "=", "<=" y ">" son expresiones de relación, la división peso/talla**2 es una expresión matemática y "AND" es un operador lógico. Lo que queremos seleccionar son los varones con edad menor o igual a 40 años y que además tengan una masa corporal inferior a 25 Kg/m2 TRANSFORMACION DE DATOS COMPUTE Dentro del menú "Transform" existe una posibilidad que es "COMPUTE". Esta orden permite crear una variable o modifica el valor de una variable ya creada, a partir de una expresión en la que puede intervenir: variables existentes, constantes, operadores aritméticos y funciones. -->Dentro de los operadores aritméticos tenemos: sumar (+), restar(-), multiplicar (*), dividir (/) y elevar a una potencia (**) que habrá que poner detrás el número de la potencia a la que se eleva. Orden en que se procesa una expresión aritmética: 1º Las expresiones situadas en paréntesis 2º Las funciones 3º Las operaciones con la siguiente jerarquía: 1)Exponenciación (**) 2)Producto (*) y Cociente (/) 3)Suma (+) y Resta (-) Cuando dos operadores tiene una misma jerarquía el Sistema efectúa las operaciones de izquierda a derecha. Ejemplos: 4 + 3*2 - 6/2 =7 -->Primero la multiplicación, 2º la división, 3º la suma y 4º la resta (4+3)*2 - 6/2 = 11 --> Primero la suma del paréntesis, 2º la multiplicación, 3º la división y 4º la resta -->Dentro de las funciones, se dispone de un amplio grupo de ellas, entre otras, las más frecuentemente utilizadas son: *Funciones aritméticas: - ABS (arg) Gema Vega Valor absoluto 16 - RND(arg) TRUNC(arg) SQR(arg) EXP(arg) LG10(arg) LN(arg) Redondeo Parte entera Raíz cuadrada Exponencial del número "E" Logaritmo Decimal Logaritmo Neperiano,...etc. *Funciones Estadísticas: - SUM[.n](arg) Suma de diferentes variables - MEAN[.n](arg) Media - SD[.n](arg) Desviación Estándar - VAR[.n](arg) Varianza - MIN[.n](arg) Mínimo, ...etc. *Funciones Fecha: Saber que las fechas se almacenan internamente como el número de segundos transcurridos desde las 0 horas del día 14/10/1581, con formato de 20 caracteres - DATE.DMY(d,m,a) A partir del día, mes y año retorna la fecha. - CTIME.DAYS(arg) Transforma en días la diferencia entre dos fechas - XDATE.MDAY(arg) Retorna el día del mes - XDATE.MONTH(arg) Retorna el mes del año - XDATE.YEAR(arg) Retorna el año en cuatro dígitos, ... etc. *Funciones de valor missing: - NVALID (agr) Retorna el número de valores validos de una lista de variables - MISSING(arg) Retorna el valor 1 (verdadero) si la variable es missing y el valor 0 cuando tiene missing, ... etc. Vamos a poner ejemplos de alguna de las funciones anteriormente expuestas: --> Tratamiento de Fechas: Supongamos que tenemos dos variables FI (fecha de ingreso) y FA (fecha de alta) y queremos calcular el número de segundos, días y semanas transcurridas entre esas dos fechas. Para ello tendremos que crear otras tres variables nuevas: SEGHOSP, DIAHOSP y SEMHOSP. Lo haremos de la siguiente forma: COMPUTE SEGHOSP= FA - FI. COMPUTE DIAHOSP= CTIME.DAYS(FA-FI). COMPUTE SEMHOSP= TRUNC((CTIME.DAYS(FA-FI))/7). Luego, tendréis que poner las etiquetas respectivas a cada variable con DEFINE VARIABLE --> Cálculo de la edad de un sujeto que contestó a un cuestionario el día 6 de Octubre de 1991, suponiendo que tenemos la fecha de nacimiento (FN): Podemos hallar la edad en días, semanas, meses o años, creando las variables EDAD_DIA, EDAD_SEM, EDAD_MES Y EDAD_ANO. Lo haremos de la siguiente forma: COMPUTE EDAD_DIA=CTIME.DAYS(DATE.DMY(6,10,91)-FN). COMPUTE EDAD_SEM=TRUNC(CTIME.DAYS(DATE.DMY(6,10,91)-FN)/7). COMPUTE EDAD_MES=TRUNC(CTIME.DAYS(DATE.DMY(6,10,91)-FN)/30). COMPUTE EDAD_ANO=TRUNC(CTIME.DAYS(DATE.DMY(6,10,91)-FN)/365). La orden TRUNC se utiliza para tomar sólo los números enteros. Gema Vega 17 COMPUTE se escoge AQUÍ Ventana de diálogo de COMPUTE AQUÍ ponemos el nombre de la nueva variable AQUÍ se elige la FUNCIÓN que en este caso, entre todas las existentes, elegimos TRUNC. Con el Botón de la flecha hacia arriba, hacemos que pase a la ventana de arriba para completar la expresión AQUÍ pondremos la ETIQUETA y el TIPO de esa variable, que por defecto ya existe uno AQUÍ podemos poner la condición de que sólo se cree esa nueva variable para los casos que cumplan tal condición AQUÍ hemos elegido la función que transforma en días la diferencia entre dos fechas: CTIME.DAYS(timevalue). Como veis al pasar la función a la ventana de arriba aparece un símbolo “?” en el que hay que poner un “timevalue”, es decir, un valor de tiempo de diferencia entre dos fechas; pero en nuestro caso queremos la edad del individuo al hacer el cuestionario el día “6 de Octubre de 1991” y es necesario especificar esta fecha con otra función Esta es la función que nos transforma el dato de del 6 de octubre de 1991 en una fecha “entendible” para el ordenador y poderla restar. El formato es: día,mes,año Gema Vega 18 Ponemos la fecha con el formato correspondiente en el lugar de las interrogaciones (?,?,?) Ahora hay que rellenar las otras “?”: la primera sería para especificar a que fecha hay que restarle la del 6/10/91. En nuestro caso es la variable que indica la fecha de nacimiento (bdate) que ya es una variable con formato de fecha, por lo que no hay que cambiarla. PRIMERO pondremos el OPERADOR ARITMÉTICO DE RESTAR (que se puede poner desde el teclado del ordenador o escogiéndolo del teclado que aparece en el menú de diálogo), y SEGUNDO pondremos la variable “bdate”, la cual se escoge de la ventana izquierda y se “lleva” a la ventana de la expresión numérica con el botón con la flecha DAROS CUENTA de que los botones no se han activado hasta que la orden estaba terminada. Lo único que queda es rellenar la última “?” dentro de la función TRUNC, que sirve para dividir los días de la resta anterior entre 7 para conseguir tener semanas que es lo que queríamos ¿no? La función TRUNC escogerá para la nueva variable solo el número entero, no los decimales Ahora, también se le podría poner una condición, por ejemplo, que solo creara esta nueva variable en aquellos casos que fueran mujeres Dentro de la orden COMPUTE tenemos la opción IF que sirve para poner una condición a la ejecución de esta orden, es decir, la orden de COMPUTE sólo se ejecutará cuando se cumpla dicha condición que se expresará como una "expresión lógica" (mirar el apartado de expresión lógica). Al final la orden quedará: IF (expresión lógica) NOMBRE DE NUEVA VARIABLE= EXPRESION ARITMETICA. Por ejemplo: IF (SEXO= “f”) EDAD_SEM=TRUNC(CTIME.DAYS(DATE.DMY(6,10,91)- bdate)/7). Queremos decir que sólo cree la nueva variable EDAD_SEM para aquellos sacos que sean mujeres. En la imagen siguiente se puede visualizar cómo hacerlo. HAY QUE TENER EN CUENTA QUE LA VENTANA MÁS ANTERIOR ES LA QUE ESTÁ MÁS ACTIVA. Normalmente se superponen y no se ven, pero yo os las he separado con la intención de que lo comprendáis mejor... Gema Vega 19 AQUÍ se elige que incluya el caso que satisfaga la condición siguiente: Ventana de diálogo de la condición “IF” AQUÍ se pone la condición utilizando las funciones u operadores que se necesiten. En este caso, sólo hay que poner que el sexo (variable gender) sea (operador aritmético “=”) mujer (“f”, con comillas porque no es una variable numérica, sino de carácter: string) Una vez que se ha ejecutado la condición, en la ventana de diálogo de COMPUTE sale expreso la condición RECODE A esta orden también se llega por el menú Transform, haciendo clic sobre recode. Aquí tenemos dos posibilidades para la recodificación de variables: recodificando en la misma variable hacer la recodificación creando otra variable. Para ello hay que escoger la correspondiente orden en la ventana desplegable que aparece al hacer clic sobre recode. Os recomiendo que siempre mantengáis la información original en la variable original, pues luego la podéis utilizar para nuevas recodificaciones o para otros análisis que se os ocurran posteriormente. Por ejemplo, si tenéis la variable edad en años y la queréis clasificar en distintas categorías, lo haréis con esta orden; pero es importante que mantengas la información de la edad "intacta" para nuevas categorizaciones o para otros análisis. Por eso os recomiendo que utilicéis la opción de "INTO DIFFERENT VARIABLE". Gema Vega 20 Por tanto, si hemos escogido la recodificación de una variable en otra nueva variable, se abrirá una ventana de diálogo. En ella, lo primero que hay que especificar es: qué variable queremos recodificar y que nombre le damos a la nueva variable que queremos crear. Ventana de diálogo de RECODE IN DIFFERENT VARIABLES AQUÍ se escoge la variable a recodificar AQUÍ se pone el NOMBRE de la nueva variable AQUÍ se pone la ETIQUETA de la nueva variable OPCIÓN para cambiar los valores Además en este tipo de orden (RECODE) se trata de cambiar unos valores por otros; por lo tanto, tendréis que dar la información correspondiente al valor antiguo (el actual) y el valor nuevo (el que queréis que tome en la nueva variable). Para ello existe una opción que pone "OLD AND NEW VALUE", en la cual tenéis que entrar para dar esta información. Si estáis utilizando la opción de recodificar en la misma variable, al poner el "new value" tiene que ser en el mismo formato que la variable de partida; pero si por el contrario estáis utilizando la opción de "different variable", el nuevo valor puede ser en formato diferente. Ya he escrito el NOMBRE de la nueva variable; pero hay que darle a CHANGE para que la acepte y la cambie AQUÍ está la ETIQUETA nueva variable de la Ventana de diálogo de “OLD A NEW VALUES” Columna donde se especificarán los valores viejos o actuales de esa variable Columna donde se especificarán los nuevos valores que tome la variable recodificada En el caso de las variables numéricas, tenemos una serie de claves que se pueden utilizar para facilitar la orden que queremos dar para el "old-value": ¾ LO: Valor más bajo de la variable Gema Vega 21 ¾ ¾ ¾ ¾ ¾ HI: Valor más alto de la variable THROUGH: Permite especificar el intervalo de valores MISSING: Valor missing de cada variable. La palabra clave missing, hace referencia tanto a los user-missing como a los system-missing SYSMIS: Simboliza sólo el valor de system-missing ELSE: Simboliza el resto de los valores no especificados, incluso los missing. En el caso de las variables categóricas, esta clave es la única que podría utilizarse. Iniciamos con el rango inferior Le damos el nuevo valor Que hay que añadir para que se ejecute el la recodificación Al que le damos otro valor Utilizamos otros rangos En esta ventana aparecerán los que ya se han elegido Aquí hemos elegido que todos los que sean missing (tanto los reconocidos por el investigador, como por el programa) se transformen en missing del programa Elegimos tanto los valores perdidos (missing) que especificó el investigador, como los que toma el programa ¡HAY QUE TENER CUIDADO! Aquí y no darle a CONTINUE hasta que no tengas todas las recodificaciones hechas, pues el programa puede ejecutar la orden; pero tu no consigues lo que querías Comentar que se puede tener un problema en las variables creadas por la orden COMPUTE en función de otras variables, pues la precisión de esta nueva variable es muy alta. Por ejemplo si creamos la variable MASA CORPORAL a partir del peso y la talla (nos aparecerán muchos decimales) y posteriormente queremos codificar esta nueva variable para definir obesos y no obesos, diferenciando en el valor 25. En este caso deberemos poner la orden desde el menor hasta el 25 será 0 y a partir de 25 será 1 (LO THRU 25 = 0)(25 THRU HI = 1), en este caso todos los enfermos con masa corporal inferior o igual a 25 serán codificados con el "0" y cualquier valor mayor de 25 (25,00003 por ejemplo) será codificado como "1". Gema Vega 22 Para codificar el nuevo valor ("new-value"), en el caso de las numéricas la clave SYSMIS, sustituye los old values en missing. Y la clave COPY, replica los valores originales (old) en los nuevos sin codificarlos. En las variables string, esta clave es la única que se puede utilizar. La orden de recodificar la variable en diferente variable se puede ejecutar para varias variables al mismo tiempo, poniendo para cada variable el nuevo nombre de la variable y su etiqueta correspondiente; pero siempre con la salvedad de que la recodificación será en todas las variables igual. Por ejemplo, imaginaros que tenéis varias variables categóricas codificadas en alfanumérico S/N (SI/NO), como por ejemplo HTA (hipertensión arterial), DM (Diabetes Mellitus), ACVA (Accidente cerebro vascular) y CI (cardiopatía Isquémica) y, queréis cambiarlas a numéricas 1/0; pues entrareis en TRANSFORM/RECODE/IN DIFFERENT VARIABLE y una vez en el cuadro de diálogo vais escogiendo HTA y le dais el nuevo nombre que puede ser por ejemplo HTAN (de numérica) y le ponéis la etiqueta "HTA en números" y le dais al CHANGE. Luego escogéis DM y le dais el nuevo nombre DMN y ponéis la etiqueta "DM numérica" y así con las otras dos ACV-->ACVAN y CI-->CIN y CHANGE cada vez. Veréis que en la ventana se van quedando las órdenes de crear las nuevas variables. Ahora hay que darle la orden del cambio, de la recodificación. Para ello entramos en OLD AND NEW VALUES y ponemos que al old value "S" le corresponde el new value 1 y hacemos clic en ADD, comprobando que la orden aparece reflejada en la ventana de abajo. Posteriormente ponemos que el old value "N" le corresponde el new value 2 y volvemos a dar a ADD. Antes de cerrar la ventana de diálogo con CONTINUE, decimos que queremos pasar las variables de string a numéricas (abajo a la derecha). Se seleccionan varias variables que están codificadas igual: N/S y se les asigna a cada otra nueva variable Se asigna missing a todos los demás valores que no sean S ó N Se les ha asignado nuevos valores a los “viejos” ó actuales: S/N AUTOMATIC RECODE Cambia los valores de una variable (numérica o alfanumérica) por valores numéricos consecutivos y asigna los valores de la variable recodificada a una nueva variable. No hace falta darle formato, siempre empieza a codificar desde el número 1 y siempre arrastra las etiquetas que hubiera en el "old value" de la variable original. Por ejemplo imaginaros que tenemos una variable con las distintas provincias españolas, pero codificadas por el código postal y a cada código se le puso su etiqueta del nombre de la provincia correspondiente. Si recodificamos esta variable de forma automática aparecerá una nueva variable desde el valor 1 hasta el total de provincias y a cada valor mantendrá la etiqueta del nombre de la provincia. Gema Vega 23