Programa de Métodos Estadísticos para el Análisis de...

22
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

Transcript of Programa de Métodos Estadísticos para el Análisis de...

Page 1: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar 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

Page 2: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar de

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:

Page 3: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar de

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

Page 4: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar de

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

Page 5: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar de

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

Page 6: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar de

6

DIF : Calcula la primer diferencia para el n-esimo rezago

LAG : Valores de las variables rezagadas

SASVER : Retorna la versión SAS

Page 7: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar de

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

Page 8: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar de

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.

Page 9: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar de

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...

Page 10: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar de

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.

Page 11: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar de

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:

Page 12: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar de

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 ;

Page 13: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar de

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;

Page 14: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar de

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;

Page 15: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar de

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.

Page 16: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar de

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.

Page 17: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar de

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;

Page 18: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar de

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.

Page 19: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar de

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 $.

Page 20: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar de

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:

Page 21: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar de

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. ;

Page 22: Programa de Métodos Estadísticos para el Análisis de ...cms.univalle.edu.co/socioeconomia/media/files/Ramirez H F- Notas de... · 3 La longitud de los nombres deben constar de

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;