El Secretario que suscribe hace constar que la información ...
Programa de Métodos Estadísticos para el Análisis de...
-
Upload
nguyenliem -
Category
Documents
-
view
215 -
download
0
Transcript of Programa de Métodos Estadísticos para el Análisis de...
1
FACULTAD DE CIENCIAS SOCIALES Y ECONOMICAS
Departamento de Economía – Programa de Economía
MÉTODOS ESTADÍSTICOS PARA EL ANÁLISIS DE INFORMACIÓN
Semestre: AGOSTO – DICIEMBRE 2007 Profesor: HECTOR FABIO RAMÍREZ
Notas de Clase: Introducción a la programación con SAS
Introducción
Esta pequeña guía de SAS, está muy orientada a la sintaxis de programación de SAS.
De las utilidades que pueden realizarse con la interfaz (entorno gráfico) de usuario y que se presentan en esta guía, indicaremos cómo generar el código SAS correspondiente, siempre que sea posible. El código SAS, permite almacenarlo en un archivo y poder ejecutarlo de nuevo en otra sesión SAS.
Propósitos
El sistema SAS proporciona numerosas herramientas para el análisis estadístico de datos y la generación de informes.
Además del SAS BASE y del SAS/STAT, en este centro se encuentran los módulos, SAS/GRAPH para la realización de gráficos, SAS/ASSIST para la construcción guiada de los procedimientos, SAS/OR de investigación operativa, SAS/IML para cálculos matriciales, SAS/FSP para construcción de paneles de entrada de datos y SAS/EIS (Executive Interactive System), SAS/CONNECT para realización de ejecución en remoto, SAS MDDB Server common products.
Otros módulos con licencia sólo en Windows: SAS/AF, SAS/QC, SAS/INSIGHT, SAS PC File Formats.
Existen macros de SAS que pueden encontrarse en http:/www.sas.com/ (mediante cualquier navegador de internet, por ejemplo netscape). Cabe destacar entre ellas TREEDISC para aplicación de la técnica de árboles de segmentación.
SAS es un sistema de computación para:
Manejo de información
Creación de reportes
2
Recuperación de información
Análisis estadístico
Otros análisis
ESTRUCTURA GENERAL DE UN PROGRAMA SAS
Ejecución de SAS En WINDOWS
Por lo general realizaremos la ejecución en el entorno de ventanas.
En la ventana editor (o, en su defecto la ventana program editor), se incluye el programa SAS.
Los resultados de cualquier proceso que demande algún tipo de salida, se incluye en la ventana output.
El diagnóstico de la ejecución de un comando o un programa se muestra siempre en la ventana log. Si se desea almacenar en un fichero el contenido de una ventana, se activa la ventana y se realiza desde File/Save o File/Save as.
En general los archivos de sentencias sas serán de tipo sas, los de salida de diagnósticos de tipo
log y los de salida de resultados de tipo lst.
El lenguaje SAS
SAS como cualquier lenguaje tiene su propio vocabulario y sintaxis mas un grupo de reglas que indican como utilizarlo. A través de una lista de instrucciones que conforman un programa, se define lo que se pretende hacer con un conjunto de datos.
Los elementos de este lenguaje son:
Nombre SAS
Palabras reservadas
Caracteres especiales
Operadores
Funciones
Nombres SAS
Pueden ser nombres de variables, archivos SAS, formatos, arreglos, macros, etc. Se caracterizan por:
3
La longitud de los nombres deben constar de 1 a 32 caracteres alfanuméricos o _, no pudiendo comenzar por un número.
Los nombres de variables permiten letras mayúsculas y minúsculas
El primer carácter debe ser una letra (A...Z) o un “underline” (_).
No pueden contener espacios en blanco
No permiten caracteres especiales (!, #, $, %, ^, &, etc.).
Palabras reservadas
Son nombres especiales de SAS que identifican una proposición o instrucción SAS por ejemplo:
DATA FORMAT PROC
DELETE INPUT MACRO
IF INFILE DROP
Caracteres especiales
Están entre otros los siguientes:
.: Punto decimal
;: Fin de la proposición
$: Indica una variable alfanumérica
#: Mueve apuntador de lectura (hilera - fila)
@: Mueve apuntador de lectura (columna)
Operadores SAS
Son todos aquellos signos que indican operaciones matemáticas, lógicas y de comparación.
Matemáticos : **, *, / , +, -
Lógicos : & o AND
l o OR
^ o NOT
De comparación = o EQ
^= o NE
> o GT
4
< o LT
>= o GE
<= o LE
Funciones SAS
Son rutinas de SAS que retornan valores calculados de uno o más argumentos. Se invocan especificando su nombre y los argumentos para los cuales él calculo va a ser ejecutado.
Nombre de la función (argumento 1, argumento 2,...)
Las funciones pueden ser aritméticas, matemáticas, trigonométricas e hiperbólicas, de caracteres, estadísticas, de probabilidad, de números aleatorios, para tiempo y fecha, de truncación y algunas consideradas especiales. La tabla 1 contiene las mas comúnmente usadas.
Principales funciones disponibles en SAS.
El siguiente listado de funciones solo es una muestra de las funciones más utilizadas y no pretende ser exhaustivo, el programa contiene un conjunto mucho más amplio de funciones disponibles.
FUNCIONES ARITMÉTICAS
ABS : Retorna el valor absoluto
SQRT : Calcula la raíz cuadrada
MAX : Retorna el valor mas grande
MIN : Retorna el valor mas pequeño
SIGN : Retorna el signo del argumento
FUNCIONES MATEMÁTICAS
LOG : Produce el logaritmo natural (base e)
LOG2 : Calcula el logaritmo en base 2
LOG10 : Produce el logaritmo común
EXP : Retorna valores de la función exponencial
GAMA : Produce la función gamma completa
5
FUNCIONES TRIGONOMETRICAS E HIPERBÓLICAS
ARCOS : Calcula el arco coseno
ARSIN : Calcula el arco seno
ATAN : Calcula el arco tangente
COS : Calcula el coseno
SIN : Calcula el seno
COSH : Calcula el coseno hiperbólico
SINH : Calcula el seno hiperbólico
ANH : Calcula la tangente hiperbólica
FUNCIONES DE PROBABILIDAD
PROBT : Función de distribución T de student’s
PROBF : Función de distribución F
PROBCHI : Función de distribución chi-cuadrado
PROBGAM : Función de distribución gamma
POISSON : Función de distribución poisson
PROBBETA : Función de distribución beta
PROBBNML : Función de distribución binomial
FUNCIONES DE ESTADÍSTICAS
CV : Calcula el coeficiente de variación
STD : Calcula la desviación estándar
VAR Calcula la varianza
MEAN : Calcula el promedio aritmético
RANGE : Retorna el rango
FUNCIONES DE CARACTERES
COMPRESS : Suprime los caracteres en blanco
LEFT : Alinea los caracteres a la izquierda
RIGHT : Alinea los caracteres a la derecha
TRANSLATE : Cambia caracteres en una variable
FUNCIONES ESPECIALES
6
DIF : Calcula la primer diferencia para el n-esimo rezago
LAG : Valores de las variables rezagadas
SASVER : Retorna la versión SAS
7
Proposición SAS
Es una cadena de palabras reservadas, nombres SAS, caracteres especiales y operadores, que invoca la ejecución de una acción.
Las proposiciones SAS se caracterizan por:
Toda proposición debe terminar en punto y coma (;).
Pueden comenzar en cualquier columna.
Se pueden escribir dos o más proposiciones en la misma línea.
Una proposición puede ocupar más de una línea.
Las proposiciones le indican al SAS, la procedencia de los datos y sus características, la necesidad de realizar transformaciones a los mismos, el tipo de análisis que se desea realizar y qué resultados obtener. Un programa SAS está formado por sentencias SAS que se encuentran agrupadas en pasos DATA o pasos PROC, quedando determinada la terminación de un paso por el comienzo de otro.
En el paso DATA se crean o modifican conjuntos de datos SAS que serán procesados por los pasos PROC. Asimismo, pueden utilizarse para crear archivos externos de datos o generar informes mediante programación.
El paso PROC posterior al paso DATA, tiene como argumento de entrada un conjunto de datos SAS, que serán analizados a partir del paso PROC. Comienzan por la palabra PROC seguido del nombre del procedimiento requerido en el análisis.
Ejemplo :
IF LOC = ‘ALABAMA’ THEN DELETE;
Archivo de datos SAS
Es un conjunto de datos arreglados en forma matricial donde las filas corresponden a las observaciones y las columnas a las variables. Por observación se entiende el conjunto de valores asociados a una única entidad o individuo; la variable es el conjunto de valores que describen una característica para un grupo de entidades o individuos, pueden ser de caracteres o numéricas, definidas en un rango entre 10-73 y 1073.
En un archivo de datos, cada observación contiene un solo valor en cada una de las variables.
El ambiente SAS bajo Windows y la interfase con el usuario
8
Salida de resultados.
Es el resultado del análisis sobre el conjunto de datos según las pautas reseñadas por las sentencias de control. Si la ejecución se realiza de forma no interactiva aparecerá en un fichero con último nombre lst y si es de forma interactiva en la ventana OUTPUT.
Salida de diagnósticos.
Durante la ejecución, SAS va realizando diagnósticos sobre los pasos que procesa. En ellos se incluyen los errores de sintaxis, el tiempo de ejecución y memoria utilizadas, las páginas de la salida de resultados en que aparecen los resultados correspondientes a cada paso, etc... Si la ejecución se realiza de forma no interactiva aparecerá en un fichero con último nombre log y si es de forma interactiva en la ventana LOG.
Interfaz de usuario
Esta interfaz de usuario corresponde a la versión sas v8.0 Cuando la ventana editor o program editor están activas, el icono de ejecución permite la ejecución de partes del contenido de la ventana correspondiente sin más que seleccionar esa parte con el ratón. Si no se ha seleccionado un texto, se ejecuta todo el contenido de la ventana. La sentencia run; marca el final de un paso data o paso proc. El final de los pasos data o proc queda marcado igualmente por el inicio de otro paso data o proc. Es conveniente incluir la sentencia run; al final de un bloque que se envía a ejecución, aunque es innecesaria incluirla entre pasos data o proc.
Se recomienda el uso de la ventana editor en lugar de la ventana program editor (presente en versiones anteriores de SAS como ventana PROGRAM) ya que incorpora algunas novedades:
El contenido de la ventana editor 2 permanece en la ventana después del envío de sentencias a ejecución.
Es sensible al lenguaje mostrando diversos colores en las palabras.
NOTA: En la ventana program editor si se selecciona sólo una parte con el ratón y se envía a ejecución, entonces este contenido sí permanece en la ventana. Ejecutar Línea de comandos
Pestañas de activación de ventanas
Tiene los símbolos – y + que permiten agrupar o desagrupar conjuntos de sentencias.
Menús:
El menú View permite abrir algunas ventanas si estas se han cerrado. Enhanced Editor activa la ventana editor. La opción Program Editor activa la ventana program editor de versiones anteriores a SAS V8.0. La opción Contents Only activa la ventana explorer de la forma de inicio en el entorno SAS.
9
La ventana explorer permite ver y gestionar las librerías y archivos SAS y carpetas (shortcut) de archivos no SAS. Permite crear librerías y archivos sas, abrir, copiar, mover, borrar archivos, etc… Una librería de SAS se asocia a un directorio y contiene tablas o sas-files ( además de Queries y Catálogos).
La ventana results permite navegar entre las distintas salidas de los procedimientos que se encuentran en la ventana output.
La ejecución de SAS en el entorno de ventanas
La ejecución se ordena desde la pantalla editor (o program editor) seleccionando con el ratón el conjunto deseado de sentencias. Si se desea ejecutar todas las sentencias de la ventana no es necesario seleccionarlas.
El final de un paso data o un procedimiento se indica por el comienzo de otro. Para indicar que el último paso data o proc (procedimiento) enviado a ejecución ha finalizado, debe indicarse el comando o sentencia run; .
Programa SAS
Es una secuencia de proposiciones SAS, las cuales pueden agruparse en dos clases de pasos:
Paso DATA
Paso PROC
Un programa SAS puede formarse con pasos DATA o PROC o ambos.
CREACION DE CONJUNTOS DE DATOS SAS (SAS-FILES).
Propósitos :
Crear archivos de datos.
Calcular nuevas variables.
Detectar errores de datos y corregirlos.
Generar nuevos archivos de datos.
Como ya se ha dicho anteriormente, es necesaria la creación de un SAS-FILE para el procesamiento de cualquier conjunto de datos por los procedimientos de SAS. Un SAS-FILE es un archivo con una estructura especial creada por SAS. Este archivo almacena, además de los datos, toda la información relativa a las variables, sus nombres, etiquetas, valores desconocidos, tipo de los datos, etc...
10
Los SAS-FILEs pueden ser temporales a la ejecución del programa SAS o permanentes. Los SAS-FILEs temporales se almacenan automáticamente en una librería de datos WORK. Los SAS-FILEs permanentes se almacenan en una librería de datos que el usuario debe especificar con el comando LIBNAME o con la interfaz de usuario. El nombre del SAS-FILE se compone, en este caso, del nombre de la librería, seguido de un punto y del nombre del fichero donde se almacena el SAS-FILE.
Creación de un SAS-FILE
Ésta puede realizarse:
En un paso DATA, por importación de datos de otros formatos (Ej: Excel) o como salida de un procedimiento SAS. En un paso DATA:
Por entrada de datos del usuario están contenidos en un archivo externo en ASCII. o insertados en el programa SAS que esta en ejecución.
Mediante programación, haciendo uso de las herramientas de SAS: Asignación, operaciones, funciones.
Por entrada de datos de otros SAS-FILEs creados con anterioridad.
Sentencias necesarias en un paso DATA:
En todos los casos, la sentencia DATA para indicar el comienzo del paso.
INFILE ó CARDS e INPUT si los datos provienen de un archivo externo en ASCII o están insertados en el mismo programa.
ninguna de las de a) y el resto son optativas
SET o MERGE o UPDATE, sin mezclar sentencias de distinto nombre en el mismo paso DATA, cuando los archivos han sido creados en secciones anteriores.
Por importación de datos de otros formatos (Ej: Excel).
En este apartado, se verán las sentencias fundamentales y necesarias, en general, del paso DATA, en el caso de entrada de datos del usuario contenidos en un archivo externo en ASCII o contenidos en el programa SAS.
Definición de un archivo de datos
Características de los archivos de datos SAS (SAS-FILE).
Los archivos, son conjuntos de datos específicos de SAS que contienen, en formato binario, matrices de datos u observaciones (filas), por variables (columnas). Cada caso está compuesto por los valores de las variables que toma dicha observación.
11
La forma rectangular, sin embargo, no requiere que los ficheros de datos aportados por el usuario en la entrada, sean rectangulares, ya que SAS tiene posibilidad de entrada de datos en muchas estructuras posibles.
LIBRERÍAS DE DATOS SAS
Una librería de datos SAS es un conjunto de SAS-FILEs en un directorio. Un mismo directorio puede incluir diferentes librerías SAS.
En general, y en relación con SAS-FILEs, sólo se hace referencia a una librería SAS en el caso de que se desee crear un SAS-FILE permanente o leer de un SAS-FILE permanente.
La referencia de una librería SAS se especifica en una sentencia LIBNAME (o mediante una variable de entorno). La sentencia LIBNAME es externa a un paso DATA o PROC y debe especificarse en el programa con anterioridad a su uso.
Cada librería SAS tiene asociados el directorio en el que se encuentra, una referencia y opcionalmente una máquina. La referencia es el nombre de la librería y la máquina indica cómo son accesibles los datos de dicha librería. Si no se especifica una máquina, se toma por defecto la librería de los ficheros SAS-FILE correspondientes a la versión actual de SAS.
Sentencia LIBNAME.
LIBNAME ref-librería ['directorio'; ref-librería: nombre que se da a la librería directorio: directorio de la librería. “Dicho directorio debe existir previamente”.
NOTA IMPORTANTE. En otra sesión SAS la librería creada existe pero no es visible en la ventana explorer. Para hacerla visible ( y así que sean visibles los SAS-FILES correspondientes) basta con ejecutar la sentencia LIBNAME en la nueva sesión.
Se logra mediante la instrucción
DATA nombre (opciones);
La cual inicia el paso DATA, asigna el nombre al archivo y define sus características básicas en términos de permanencia y composición.
En cuanto a permanencia los archivos pueden ser:
Temporales: Los que están activos solo durante la sesión de trabajo y se especifican:
12
DATA Nombre; : DATA n.n: secuencia
DATA A; Nombre: A
Permanentes: Quedan almacenados en disco o cualquier otro dispositivo y permanecerán hasta que el usuario lo crea conveniente. Se especifican mediante la sentencia:
DATA A3.DIAS; Nombre: DÍAS
Composición del archivo
DATA nombre (opciones)
KEEP = Se Define una lista de variables para ser retenidas en el archivo
DROP = Se Define una lista de variables para ser eliminadas del archivo
RENAME = Renombra variables según la siguiente sintaxis:
RENAME = (Nombre. viejo1=Nombre.nuevo1 . Nombre.viejo.....k= Nombre.nuevo2.........k)
Resumen parcial
DATA (KEEP = X1 X2 X3 X4 Y W);
DATA B (DROP=X4 X5 X6) ;
DATA A3.C (RENAME = (X1= Raza X2= Clase x3= Comuna Y = Estrato W = Lugar)) ;
Generación de variables
Se generan usando expresiones matemáticas y funciones que provee SAS.
Ejemplo
R = (X**2 + Y) / 12 ;
T = ARSIN (angulo);
A = A / 20;
Eliminación, retención y cambio de nombre de variables
DROP lista de variables ;
KEEP lista de variables ;
RENAME viejo1=nuevo1 ... viejok=nuevok ;
13
Estos comandos no deben confundirse con las opciones del paso DATA.
Selección o eliminación de observaciones Se usa la siguiente sentencia
IF expresión;
Ejemplos
IF ANO > 1987;
IF ANO <= 1987 THEN DELETE;
Manejo diferencial de observaciones
Para este caso es preciso usar una estructura de selección, la cual presenta la siguiente forma
IF condición THEN comando 1; ELSE comando2;
Ejemplo
IF X + Y = 18 THEN Z = 4; ELSE Z = 4;
Generación de archivos
Los archivos se pueden generar a través de diversas maneras, a continuación se presentan las más comunes:
Copia idéntica
DATA copia; SET original;
Ejemplo
DATA ARA; SET AR;
14
Modificación en el número de variables: El archivo resultante es un subconjunto con las mismas observaciones y solo algunas variables.
Ejemplos
DATA ARA (KEEP= variables conservadas); SET AR;
DATA ARA (DROP=variables eliminadas); SET AR;
Modificación en el número de observaciones
El nuevo archivo es un subconjunto con las mismas variables y solo algunas observaciones.
Ejemplos
DATA ARA; SET AR; IF condición 1;
DATA ARA; SET AR; IF condición 2 THEN DELETE;
Generación de varios archivos a partir de uno inicial
DATA A1 A2; SET A;
IF condición 1 THEN OUTPUT A1;
IF condición 2 THEN OUTPUT A2;
DATA A1 A2 A3; SET A;
IF condición 1 THEN OUTPUT A1; ELSE
IF condición 2 THEN OUTPUT A2; ELSE OUTPUT A3;
Como resultado de ejecutar estas ultimas tres líneas se obtiene que en A1 quedaran todas aquellas observaciones que cumplen con la condición 1, en A2 solo las cumplen con la condición 2 y en A3 las restantes.
Generación de un archivo a partir de varios
Existen básicamente dos formas: la primera consiste en el aumento del número de observaciones y la segunda en el de variables para cada observación.
Aumento en el número de observaciones
DATA FINAL; SET original 1 original 2 . . . original n;
15
Ejemplo
DATA A; SET A1 A2 A3
Aumento en el número de variables para cada observación.
DATA FINAL; MERGE original 1 original 2 ... original n ;
Ejemplo
DATA A; MERGE A1 A2 A3; BY variables;
Para ejecutar esta sentencia, se supone que previamente ha debido ordenarse el archivo por las variables de control o de clasificación.
Archivo SAS
Consideraciones generales:
Para su proceso, los datos deben llevarse a archivos SAS, esta operación se realiza automáticamente después de la importación de un archivo de datos.
Los archivos SAS son diferentes de los archivos externos y solo son utilizables por SAS.
La configuración especial de los archivos SAS hace más eficientes los programas.
Los más frecuentes archivos SAS son de datos, pero pueden contener otro tipo de información.
Si se desea almacenar diferentes archivos SAS en el mismo lugar, se recomienda crear una librería SAS.
El nombre de un archivo SAS, de datos, está formado por dos palabras separadas por un punto.
nombre 1.nombre 2
El nombre 1 hace referencia a la librería donde es almacenado y el nombre 2 designa al identificador o nombre del archivo en esa librería. Por ser archivo de datos SAS, el sistema define automáticamente su extensión como SD2. Como nombre 1 no pueden ser usadas palabras como WORK, LIBRARY, USER, SASxxxx , ya que son reservadas por SAS para algunos tipos especiales de archivos.
16
El sistema SAS identifica a que directorio se refiere el nombre 1 gracias a la instrucción:
Ejemplos
DATA A; SET VARIOS.CURSO;
Inicialmente se debe haber creado la LIBRERÍA ‘VARIOS’ un directorio del disco duro del computador, o cualquier otro dispositivo de almacenamiento:
En una nueva sesión de SAS bajo el nombre de CURSO, se tomará el archivo almacenado en el dispositivo definido por el usuario con anterioridad de la librería SAS, llamada VARIOS.
17
PASO PROC
Procedimientos para producción de reportes
PROC SORT
Se usa para ordenar las observaciones de un archivo de datos SAS por una o más variables, guardando los resultados en un nuevo archivo SAS o reemplazando el original.
Se especifica usando la siguiente sintaxis:
PROC SORT opciones;
BY opción variable opción variable ... ;
Entre las opciones del procedimiento se destacan :
DATA = nombre: Hace referencia al nombre del archivo que se desea
ordenar. Si el DATA = se omite, entonces SAS ordenará
el ultimo archivo creado.
OUT = nombre: Es el nombre del archivo ordenado. Si OUT = se omite
SAS reemplazará el archivo original por el que acaba de
ordenar.
Para el comando BY, la principal opción corresponde a:
ESCENDING: Ordena las variables en forma descendente. La opción se
especifica antes de la variable por la que se pretende
ordenar. Si no se especifica el ordenamiento será en
forma ascendente.
Ejemplos
PROC SORT DATA = A; BY FORMULAR COMUNA;
PROC SORT DATA = A; BY DESCENDING INGRESO;
18
PROC SORT; BY RELAJEFE DESCENDING INGRESO;
PROC PRINT
Sirve para imprimir un listado de valores de todas o algunas de las variables de un archivo SAS, además imprime totales para todas o algunas de las variables numéricas.
La sintaxis para el comando es la siguiente:
PROC PRINT opciones;
VAR variables;
ID variables;
BY variables ;
PAGEBY variable ;
SUM variables ;
SUMBY variables ;
Las opciones más utilizadas son :
DATA = nombre: Nombre del archivo a imprimir
DOUBLE: Imprime a doble espacio
ROUND: Redondea valores numéricos a dos posiciones decimales o
al número de posiciones que sé haya especificado con
comando FORMAT.
NOOBS: Suprime la impresión del número de la observación.
PROC PRINT :
VAR variables: Especifica los nombres de las variables que van a ser impresas.
ID variables: Las variables listas en este comando reemplazan el número de Observación que identifica a cada una de las observaciones en el listado.
BY variables: Define las variables con las cuales se conformarán grupos para ser impresos en forma separada.
19
PAGEBY variable: El PROC PRINT comienza la impresión en una nueva página, cuando el valor de la variable especificada cambia o cuando cambia cualquier variable que la preceda en el BY.
SUM variables: Totaliza las variables especificadas.
SUMBY variable: Imprime totales cuando la variable especificada cambia o cuando cambia cualquier variable que la preceda en el BY
Ejemplos:
DATA A; SET CURSO.DAT;
RUN;
PROC PRINT DATA = A;
RUN;
PROC SORT DATA = A; BY ESTRATO;
RUN;
PROC PRINT; BY ESTRATO;
PROC PRINT; BY ESTRATO;
VAR RELAJEFE INGRESO;
SUM INGRESO;
PROC FORMAT
Define los formatos de salida para variables con valores numéricos o de caracteres También agrupa valores de la variable sin hacer modificaciones en el archivo original. Los formatos se definen mediante el uso de PROC FORMAT de la siguiente manera:
PROC FORMAT;
VALUE nombre del formato
rango 1 = descripción
rango 2 = descripción
rango 3 = descripción ;
El nombre del formato debe ser un nombre SAS valido; si el formato es para una variable alfabética, el nombre debe estar precedido por el signo $.
20
Rango 1... rango n: especifican rangos y valores, lista de valores y/o lista de rangos. La sintaxis corresponde a:
valor = un solo valor
valor 1-valor 2 = un rango entre valor 1 y valor 2
valor 1, valor 2, ...valor n = lista de valores
valor 1-valor 2, valor3, valor 4-valor 5 = combinación de lista de valores y rangos.
Para el manejo de rangos aparecen las siguientes palabras claves:
LOW : Se refiere a valores por debajo de un valor dado.
LOW - 12=‘NIÑO’
HIGH : Se refiere a valores por encima de un valor dado.
20 - HIGH=‘ADULTO’
OTHER: Se usa al lado izquierdo del signo igual para indicar todos los
Valores no especificados en otros rangos.
VALUE SEX
1 =‘MUJER’
2 =‘HOMBRE’
OTHER =‘NOCODIGO’;
La descripción (ver formato) debe ir entre ` `, incluidos los espacios en blancos. Las siguientes son observaciones que deben tenerse en cuenta:
No traslapar valores en los rangos o lista de valores
En un solo PROC FORMAT pueden especificarse varios ‘VALUE’ , o definir nobres de formatos para varias variables.
La asignación de los formatos, previamente definidos por el PROC FORMAT, puede hacerse en dos partes del programa:
21
PASO DATA: su efecto se produce sobre el archivo SAS y por lo tanto se manifestarán en todos los procesos que se ejecuten sobre él.
PASO PROC: la acción del formato solo actúa en las salidas de los procedimientos que lo asignen y se especifica así:
FORMAT variable 1 formato 1. variable 2 formato n.;
Así SAS asume que el nombre seguido del punto será el formato asociado a la variable que lo procede. Si son variables alfanuméricas, recuerde escribir el signo de $ antes del nombre del formato.
Ejemplos
PROC FORMAT;
VALUE VV
1= ‘ZAMORANO’
2= ‘RAP 211’
;
VALUE DD
1=‘200000 PL/HA’
2=‘220000PL/HA’
3=‘240000PL/HA’
4=‘260000PL/HA’
5=‘280000PL/HA’
6=‘300000PL/HA';
RUN;
DATA A; SET CURSO.DAT;
FORMAT VARIEDAD VV. ;
POC PRINT DATA = A;
FORMAT DENSIDAD DD. ;
22
En el ejemplo anterior estamos realizando la asignación del formato ‘VV’ a la variable variedad en el archivo ‘A’, posteriormente se utiliza el procedimiento ‘PRINT’, para generar un listado con las variables del archivo ‘A’ y se hace referencia a el formato ‘DD’, para que la variable densidad aparezca en el listado con las etiquetas definidas por el formato.
PROC FORMAT;
VALUE $E6ESTCI
'1'='SOLTERO'
'2'='UNIÓN LIBRE'
'3'='CASADO'
'4'='SEP. O DIVOR'
'5'='VIUDO'
'9'='NO INFORMA'
;
RUN;