Está en la página 1de 13

Serie de Módulos tienen básicamente las mismas opciones que en

cualquier otro programa para Windows.


SAS# 1
Introducción a SAS Si lo desea puede utilizar sólo las ventanas
EDITOR, OUTPUT y LOG y cerrar la ventana
EXPLORER. Puede organizar las ventanas como
1.0 ¿Qué es SAS? desee al estilo Windows.
SAS (Statistical Análisis System) es un programado
para el análisis de datos. SAS se utiliza para
desarrollar programas y múltiples procedimientos
que cubren aplicaciones en diversas áreas, tales
como:
• Estadísticas descriptivas
• Regresiones
• Análisis de series de tiempo
• Gráficas

1.1 ¿Cómo iniciar y terminar el


programado de SAS?

Para invocar el programa de SAS haga clic en el


siguiente icóno: Para terminar la sesión de SAS seleccione Exit del
menú de File o haga clic en la “X” localizada en la
esquina superior derecha de la pantalla de SAS.

1.2 El Ambiente SAS


o localice el programa en el menú de All programs
en Start. Aparecerá una pantalla similar a la El programa de SAS consiste de tres ventanas
siguiente. desplegables: (1) Editor, (2) Log, y (3) Output. Por
lo general, cada ventana tiene una barra en la parte
inferior de la pantalla que permite moverse de una
ventana a la otra. Además, se pueden acceder a
través del menu de “View”.

La ventana del EDITOR corresponde a la ventana


de sintaxis. En esta ventase se escribe el programa
con los comandos e instrucciones que le dicen a
SAS lo que deseamos hacer.

La ventana de OUTPUT es donde SAS presenta los


resultados después de ejecutar (run) el programa
que se encuentra en la ventana del EDITOR.

Ventanas de diálogo desplegables: SAS es un • En ocasiones el output es demasiado largo como


programa adaptado para trabajar bajo Windows, de para poderse imprimir en una impresora. En
estos casos es recomendable copiar las secciones
forma que la mayoría de ventanas desplegables
que sean relevantes y pegarlas (cut and paste) en
MS-WORD para luego imprimirlas.
© 2007 Prof. Aníbal Báez Díaz, PhD
La ventana de LOG es donde SAS nos indica lo que
hizo y presenta mensajes de advertencia y de errores
encontrados en el programa. El LOG es la guía
para depurar (debug) el programa que se encuentra
en la ventana del EDITOR. Por lo general, los
comandos e instrucciones que fueron ejecutados
aparecen en azul o negro en el LOG. Sin embargo,
en aquellas instancias donde SAS confrontó
problemas aparecerá un mensaje en color ladrillo
(maroon) o verde.

• IMPORTANTE: Usualmente, cuando el


programa corre sin problemas se activa la
ventana de OPUTPUT. Sin embargo, en
ocasiones esto ocurre aún cuando hay
errores. Por lo tanto, es importante verificar
el LOG cada vez que se ejecute (run) un
programa.

El LOG es muy importante cuando deseamos


seguirle la pista al número de observaciones con el
que estamos trabajando. En ocasiones el programa
modifica o limpia el archivo de datos y elimina
algunas observaciones.

© 2007 Prof. Aníbal Báez Díaz, PhD


Serie de Módulos NO se pueden utilizar ni guiones (-) ni
espacios.
SAS# 2
Estructura de un Programa SAS 2.2 Instrucciones más Comunes

2.0 Reglas Básicas Los programas de SAS están compuestos por


dos tipos de instrucciones: datos ( ) y
Las instrucciones en un programa de SAS procedimientos ( ).
pueden comenzar en cualquier lugar de la
pantalla del EDITOR y pueden ser tan largas DATA se utiliza en aquellas secciones del
como sea necesario. programa donde se necesita leer, digitar,
manipular, o calcular datos.
Cada una de las instrucciones de SAS termina
con punto y coma (;). Por lo tanto, si se desea PROC se utiliza para indicarle a SAS que
se pueden redactar múltiples instrucciones en ejecute uno o más procedimientos que
una misma línea siempre y cuando cada una produzcan informes, gráficas, regresiones,
de ellas termine con punto y coma (;). estadísticas descriptivas, regresiones y otros.

Sin embargo, por cuestiones de organización SAS también tiene instrucciones globales que
y de facilitar el proceso de depuración del aplican a todo el programa y no cambian a
programa es recomendable escribir cada menos que se introduzca otra instrucción
instrucción en líneas separadas. global: y .

SAS no distingue entre letras mayúsculas y Todos los programas de SAS terminan con la
minúsculas. Sin embargo, si está ejecutando instrucción de RUN.
el programa en un servidor es probable que
esto no sea cierto. Por lo tanto, es 2.3 Datos
recomendable ser consistente siempre.
SAS puede leer datos en varios formatos.
SAS sólo tiene dos tipos de variables: texto y Estos módulos utilizan archivos de datos con
numéricas. Por defecto SAS identifica todas los siguientes formatos: TXT, CVS, y SAS.
las variables como numéricas. Las variables
de texto se tienen que identificar en el Utilizaremos los datos de la Tabla 1 para explicar
programa utilizando el signo de dólar: $. este módulo. La tabla 1 presenta el precio de cierre
mensual de las acciones del Banco Popular, el
precio del mercado (S&P 500), y la tasa de interés
2.1 Nombres de Variables y Datos
mensual de los T-bills de 3 meses (risk-free interest
rate = tasa libre de riesgo). La tasa libre de riesgo a
No pueden exceder 8 caracteres. a 3 meses fue obtenida de la siguiente página
electrónica:
Tienen que comenzar con una letra o el signo http://mortgage-x.com/general/indexes/default.asp ,
de subrayar (underscore _). y los precios del Banco Popular y del S&P fueron
obtenidos de la siguiente página electrónica:
El resto de los caracteres del nombre pueden http://finance.yahoo.com.
ser letras, números, o el signo de subrayar.

© 2007 Prof. Aníbal Báez Díaz, PhD


Tabla1 "nombre_libreria.nombre_archivo"
month year ticker price SandP tbill
8 2008 BPOP 8.15 1282.83 0.00148
7 2008 BPOP 6.87 1267.38 0.00144 2.5 Paso de DATA: ¿Cómo cargar (upload)
6 2008 BPOP 6.59 1280.00 0.00158
datos a SAS?
5 2008 BPOP 10.90 1400.38 0.00143 Básicamente, todos los programas de sintaxis
4 2008 BPOP 12.47 1385.59 0.00110 elaborados con SAS contienen dos
3 2008 BPOP 11.66 1322.70 0.00115 tipos de instrucciones: y .
2 2008 BPOP 11.04 1330.63 0.00187
1 2008 BPOP 13.52 1378.55 0.00249 La instrucción se utiliza en SAS para cargar o
crear un archivo de datos en SAS. Existen varias
Digitar: Incorporar datos a la computadora utilizando el formas de estructurar la instrucción de DATA:
teclado. 1. Entrar los datos directamente en la ventana
del EDITOR.
2.4 Creación de una Librería (LIBNAME) 2. Leer los datos de un archivo externo con
formato de CSV.
Si el programa de SAS está en una PC es necesario 3. Leer los datos de un archivo externo con
crear una Librería con una dirección (ruta) en la formato de SAS.
cual buscar los archivos de datos que se van a
utilizar. Para crear una librería en SAS usamos la 2.6 Ejemplo de un programa en SAS
instrucción LIBNAME especificando el nombre de entrando los datos directamente en la
la librería y la ruta dónde ubicarla.
ventana de EDITOR

Este método es viable si la cantidad de datos es


pequeña. El programa es como sigue:
En asignamos un nombre que no pase de
8 caracteres. debe indicar la dirección en el
disco duro donde se deben guardar los archivos de
datos que se van a crear
La instrucción le indica a SAS que empiece a
crear un conjunto de datos con un nombre asignado
(ej. !" #.
por usted. Por lo tanto, debe ser
IMPORTANTE: El “punto y coma” (;) que sustituido por el nombre que usted desee asignarle a
aparece al final de la línea es necesario para indicar este conjunto de datos.
el final de la instrucción y el inicio de la siguiente
El nombre de un conjunto de datos en SAS NO
instrucción o comando
debe contener espacios y no debe ser mayor de 8
caracteres.
SAS utiliza la librería para guardar los datos en
formato SAS. La librería es una herramienta muy Por defecto, SAS utiliza el conjunto de datos creado
útil cuando se manejan archivos grandes de datos. en el paso más reciente.
Si el programa de SAS está leyendo un archivo de
datos muy grande puede que su ejecución tarde Observe que la línea termina nuevamente con
varios minutos. Una alternativa es depurar el “punto y coma”.
archivo de datos y guardar una versión simplificada
del mismo en la librería.
$ % &' ( ) &
&**
Una vez creada la librería, para crear un archivo de
datos permanente que pertenezca en esta librería se La instrucción $ se utiliza para declarar las
utiliza el siguiente nombre compuesto: variables que se van a leer del archivo de datos.

© 2007 Prof. Aníbal Báez Díaz, PhD


$ lista el nombre de las variables del conjunto algunas de las observaciones del archivo de datos
de datos en el orden en que aparecen en el archivo seleccionado en el paso de .
de datos, y determina su tipo: numéricas o
alfanuméricas = texto.
Observe que la línea termina nuevamente con
El símbolo de dólar (( () que aparece después del “punto y coma”.
título & ' indica que esta variable es de texto
(alfanumérica). Por defecto (by default), aquellas 2.8 Como Ejecutar (run) un Programa
variables que no sean seguidas por el signo de dólar
son interpretadas por SAS como variables Todo programa debe terminar con la siguiente
numéricas. instrucción:
Observe que la línea termina nuevamente con
“punto y coma”. $

Observe que la línea termina nuevamente con


Este comando indica que a continuación se “punto y coma”.
presentarán los datos separados por un espacio en Para ejecutar el programa se puede hacer de tres
blanco. El dejar un espacio en blanco entre un dato maneras:
y el próximo le indica al programa que se trata de
otra variable. Para facilitar la depuración del 1. Seleccione la ventana del EDITOR donde
programa es conveniente entrar los datos de la se encuentra el programa y presione [F3].
manera más organizada posible. En algunas versiones de SAS, el uso de [F3]
borra el programa de la ventana del
8 2008 BPOP 8.15 1282.83 0.00147 EDITOR. Para traer el programa
7 2008 BPOP 6.87 1267.38 0.00144 nuevamente al EDITOR sin tener que
6 2008 BPOP 6.59 1280.00 0.00158 digitarlo, presione [F4].
5 2008 BPOP 10.90 1400.38 0.00142 2. Seleccione la ventana del EDITOR donde se
4 2008 BPOP 12.47 1385.59 0.00110 encuentra el programa y seleccione Submit
3 2008 BPOP 11.66 1322.70 0.00115 del menú de Run.
2 2008 BPOP 11.04 1330.63 0.00186 3. Seleccione la ventana del EDITOR donde se
1 2008 BPOP 13.52 1378.55 0.00249 encuentra el programa y presione el
siguiente icóno:
Observe que al finalizar la entrada de TODOS
los datos la última línea termina nuevamente con
“punto y coma”. 2.9 Limpiando las Ventanas
2.7 Descripción de la instrucción de PROC Si ejecuta (run) múltiples programas el resultado de
los mismos se almacenará en las ventanas de
La instrucción de PROC es un conjunto de OUTPUT y LOG . Por esta razón, es recomendable
instrucciones que comienzan con el comando PROC limpiar (clear) ambas ventana antes de ejecutar un
y ejecutan un programa sobre un conjunto de datos. nuevo programa. Para limpiar las ventanas, primero
abra la ventana que va a limpiar (OUTPUT o LOG)
La estructura para utilizar un paso de procedimiento y seleccione Clear All en el menú de Edit, o
es como sigue: presione el siguiente icóno:
+ *) && #

es el procedimiento que imprime, en


la ventana de OUTPUT (no en papel), todas o

© 2007 Prof. Aníbal Báez Díaz, PhD


Serie de Módulos 3.2 Como crear un archivo permanente de
datos.
SAS# 3
Lectura y Creacción de El programa es como sigue:
Archivos de Datos Externos
3.1 Ejemplo de un programa en SAS para
leer los datos de un archivo externo con " , ** - !.,
formato de CSV. /,0, 1 /234
$ % &' (
) & &**
El programa es como sigue:

& &- %&.


!

" , ** - !.,
/,0, 1 /234 La instrucción
$ % &' (
) & &** & &- %&.

es necesaria para exportar los datos de un dataset a


) ) & la libnrería y formato de sas.

3.3 Ejemplo de un programa en SAS para


La instrucción " se utiliza para la lectura de leer los datos de un archivo externo con
datos externos y en ella se menciona la ruta dónde formato de SAS.
se encuentra el archivo que contiene los datos.
El programa es como sigue:
La opción permite especificar el delimitador
utilizado para separar las variables. En este caso
,0,representa delimitación por comas (.csv).

La opción 1 evita que, en aquellos casos


donde el valor de una variable no aparece en una & &- 5&*
línea, SAS se mueva a una línea nueva buscando el
valor de una variable perdida (missing value). Por
ejemplo, si estamos leyendo un archivo que ) ) &
contiene 10 variables en cada línea, pero una línea
tiene 9 variables, el programa de SAS se moverá a
la siguiente línea para buscar la décima variable. La La instrucción se utiliza para la lectura de
opción 1 evita que ocurra esto y que el datos externos y en ella se menciona el nombre de
error se corra como cascada a través de todo el la librería (LIBNAME) y el nombre del archivo que
archivo de datos. contiene los datos.

La opción de la instrucción " indica


la longitud máxima de cada línea. Esta opción es
indispensable cuando se tiene un archivo de datos
con líneas o registros con más de 256 caracteres.
© 2007 Prof. Aníbal Báez Díaz, PhD
3.4 PROC SORT 3.6 Fusión de Archivos de Datos - SET

Con el procedimiento se ordenan los datos La instrucción permite unir dos archivos de
según las variables indicadas en la instrucción 6. datos con exactamente las mismas variables.

6. 7 . 2 El programa es como sigue:

7 2
. 7 y . 2 representan los nombres de las
variables que se quieren utilizar para organizar los
datos. Se requiere que las variables (columnas) en ambos
archivos a ser unidos estén organizadas en el mismo
orden.
3.5 Fusión de Archivos de Datos - MERGE

La instrucción 8 permite unir dos archivos de


datos con variables distintas pero con una o más 3.7 Instrucción de KEEP
variables en común.
La instrucción 9 permite guardar en el dataset
El programa es como sigue: creado sólo las variables allí mencionadas. Las
demás variables son eliminadas del dataset final.

8 El programa es como sigue:


7 + / # 2 + / #
6. 7
"
7
9 . 7 . 2 . :
Se requiere que los datos en ambos archivos a ser
unidos (merge) estén organizados (sort) de acuerdo
a una o más variables en común (. . 7).7 Esta
variable se va a utilizar también en la instrucción
6.

Las variables utilizadas en la instrucción 6tienen


que estar presentes en ambos archivos de datos
( 7 2) permitiendo identificar los
2
diferentes casos dentro de cada archivo y asignarles
una cierta correspondencia.

La instrucción "permite que sólo se unan


registros que son comunes en ambos archivos. Si
un registro está en el archivo 1 y no en el 2,
entonces será excluido.

© 2007 Prof. Aníbal Báez Díaz, PhD


Serie de Módulos Las opciones $ y $ permiten crear
datasets con los estadísticos calculados. $
SAS# 4 guarda los coeficientes de correlación Pearson y
PROCEDIMIENTOS I $ los Spearman.

. 7 . 2 y . : representan los nombres de


4.1 PROC CONTENTS las variables que se quieren examinar.

Con el procedimiento , se obtiene


información relativa a los datos que 4.3 PROC FREQ
se mencionan en la opción / , y de
sus variables. Cuando se utiliza la opción " ;genera tablas de frecuencias. Este
, las variables aparecen listadas en el procedimiento es útil para observar la calidad de los
orden en que se crearon en el archivo. Por defecto, datos, comprobando si hay valores extraños. Es
sin la opción , las variables aparecen muy útil para identificar empresas distintas con el a
listadas en orden alfabético. las cuales se le ha asignado un mismo código de
identificación: permno, ticker, etc.
/
" ; . 7
$ $

4.2 PROC CORR . 7 representa el nombre de la variable que se


quiere examinar.
Para estudiar la correlación entre dos o más
variables se utiliza el procedimiento .

provee algunos estadísticos básicos


para cada una de las variables: el número de
observaciones, el promedio, la desviación estándar,
la media, el valor mínimo y el valor máximo.
Además, proporciona también una tabla con la
correlación entre las variables especificadas (var1,
var2, var3, etc.) en la instrucción 1 . Esta tabla
contiene la correlación de Pearson (por defecto) o
Spearman (si se indica) y la significación asociada a
la hipótesis nula de que el coeficiente de correlación
es cero para cada posible combinación de las
variables.

$ / $ /

1 . 7 . 2 . :
$

© 2007 Prof. Aníbal Báez Díaz, PhD


Serie de Módulos Especificando la opción en la instrucción
, evita que el programa imprima en
SAS# 5 el output todo el resultado del procedimiento.
PROCEDIMIENTOS II
Los posibles estadísticos a incluir son:
5.1 PROC MEANS N = Número de observaciones.
MEAN = Promedio.
PROC MEANS permite obtener estadísticos NMISS = Número de observaciones faltantes.
básicos de las variables que se indiquen en la MIN = Valor mínimo.
opción VAR. MAX = Valor máximo.
RANGE = Rango de valores.
SUM = Suma de los valores.
USS = Suma de cuadrados no corregida.
6. 7 VAR = Varianza.
STD = Desviación estándar.
6. 7 STDERR = Error estándar de la media.
CV = Coeficiente de variación.
1 . 2 . : . < SKEWNESS = Skewness.
KURTOSIS = Kurtosis.
$ $ $/ / . 2 . : T = t-Student para la hipótesis nula que la media de
. < / . 2 . : . < la variable es igual a cero.

$ 5.2 PROC UNIVARIATE

Cuando se quiere examinar más detalladamente las


. 7 . 2 y . : representan los nombres de
variables y obtener otros estadísticos descriptivos
las variables que se quieren examinar
así como pruebas relativos a la distribución de los
datos se utiliza PROC UNIVARIATE.
Se requiere que los datos estén organizados (sort) de
acuerdo a la variable (.
. 7)7 que se va a utilizar en
la opción 6. 6. 7

$ 1
Con la instrucción 1 se define qué variables se 6. 7
van a examinar (.. 2 . : . <#
1 . 2
La instrucción $ $ $ / sirve para
guardar los estadísticos en un dataset. Especificando la opción en la instrucción
debe ser reemplazado con el nombre del dataset. Es $ 1 , se presentan dos estadísticos
necesaria incorporar la lista de estadísticos (ej y nuevos para examinar si los datos provienen o no de
y los nombres de las variables con qué se van una distribución normal.
a guardar ( . 2 . : . < . 2
. : . <). W = Estadístico para probar si los datos provienen de
una variable Normal.
Cuando se estudian varias variables al
PROBW Significación de la prueba de normalidad bajo
mismo tiempo, es posible incluir estadísticos para la hipótesis nula que los datos provienen de una variable
ambas variables en el dataset de salida, Normal.
especificando cada uno de los nombres en el orden
en que se incluyeron las variables en la instrucción . 7 y . 2 representan los nombres de las
1 . variables que se quieren utilizar para organizar los
datos.

© 2007 Prof. Aníbal Báez Díaz, PhD


5.3 PROC RANK 5.4 PROC EXPAND

9crea rangos utilizando una variable Este procedimiento se utiliza para crear “lags’y
como base. “leads”.

Este procedimiento es muy útil cuando se necesita El programa es como sigue:


crear decilas o quintilas.

> /
/
. 7 ? /
6. 7
9 8 $ /7= $ /
6. 7 . . 2 /. 2* @A !5 /
+ 8 7#
1 . 2
. . : /. :* A !5 /
9 ' + 7#

$
Se requiere que los datos estén organizados (sort) de
acuerdo a la variable (.
. 7)7 que se va a utilizar en
la opción 6.
Se requiere que los datos estén organizados (sort) de
acuerdo a la variable (.
. 7)7 que se va a utilizar en
la opción 6.

Con la instrucción 1 se define la variable que se


va a utilizar para creear los rangos (.
. 2).
2

La instrucción 9 crea una nueva variable


(columna) en los datos que contiene el rango
asignado a cada observación. Si se usa
8 $ /7= obtendremos rangos del 0 al 9. Cero
es el rango más bajo y 9 el más alto. Si se utiliza
8 $ /3 obtendremos rangos de 0-4.

La opción $ / se utiliza para guardar


los datos en un dataset nuevo. debe ser
reemplazado con el nombre del dataset.

© 2007 Prof. Aníbal Báez Díaz, PhD


Serie de Módulos 6.3 Funciones Numéricas
SAS# 6 ABS(var1) = Valor Absoluto
FUNCIONES DE SAS
SQRT(var1) = Raíz Cuadrada
PROC MEANS permite obtener estadísticos
básicos de las variables que se indiquen en la ROUND(var1) = Redondear
opción VAR.
ROUND(var1, precisión) = Redondear con cierta
Cuando se trabaja con las variables de la base de precisión (la precisión es una potencia de 10, por
datos, es usual crear nuevas variables basadas en ejemplo: 10, 1, 0.1, 0.01, etc.)
aquellas que ya existen utilizando funciones y
operadores. EXP(var1) Exponencial

Igualmente se emplean para crear funciones “if” LOG(var1) Logaritmo

Solo presentamos aquí aquellas que son más LOG10(var1) Logaritmo con base 10
comunes:

6.1 Operadores

+ = suma
- = resta
* = multiplicación
/ = división
** = exponencial

6.2 Comparadores

=
<
>
<=
>=
AND
OR
ne = not equal

© 2007 Prof. Aníbal Báez Díaz, PhD


Serie de Módulos DW
The value of d is close to 2 if
SAS# 7 the errors are uncorrelated. The
REGRESIONES distribution of d is reported by
Durbin and Watson (1951). Tables
7.1 PROC REG of the distribution are found in
most econometrics textbooks
Para estudiar la recta de regresión entre dos
variables, se usa PROC REG. SAS dispone de SPEC
varios procedimientos que pueden realizar análisis SPEC tests that first and second
de modelos de todo tipo, no sólo lineal. moments of model are correctly
specified.
El procedimiento REG requiere la instrucción
MODEL, en la cual se especifica el modelo (la To obtain the White test statistic
ecuación) y las variables que se van a utilizar. for heteroskedasticity, add the
Siempre se escribe la variable dependiente primero option "spec" to your model
seguida de un signo de igual y luego las variables statement
independientes. NO se utilizan signos de suma ni The SPEC option performs a model
resta. specification test.

El procedimiento REG también permite obtener The null hypothesis for this test
representaciones de los datos en una gráfica maintains that the errors are
con la instrucción PLOT. homoscedastic, independent of the
regressors and that several
*CAPM estimating BETA for BPOP; technical assumptions about the
model specification are valid.
PROC REG;
MODEL var1=var2 var3/DW VIF SPEC; For details, see theorem 2 and
PLOT var1 * var2; assumptions 1 -7 of White (1980).
RUN; When the model is correctly
specified and the errors are
independent of the regressors, the
Para obtener la gráfica se escriben las dos variables rejection
intercaladas por un asterisco (*), teniendo of this null hypothesis is
en cuenta que la variable de la izquierda es la evidence of heteroscedasticity.
variable del eje de Y y que la de la derecha es
la variable del eje de X. In implementing this test, an
estimator of the average
covariance matrix (White 1980, p.
VIF = Variance Inflation Factors 822) is constructed and inverted.
These factors measure the The nonsingularity of this matrix
inflation in the variances of the is one of the assumptions in the
parameter estimates due to null hypothesis about the model
collinearities that exist among specification. When PROC REG
the regressor (dependent) determines this matrix to be
variables. There are no formal numerically
criteria for deciding if a VIF is singular, a generalized inverse is
large enough to affect the used and a note to this effect is
predicted values. written to the log.

© 2007 Prof. Aníbal Báez Díaz, PhD


In such cases, care should be
taken in interpreting the results
of this test.

When you specify the SPEC option,


tests listed in the TEST statement
are performed
with both the usual covariance
matrix and the heteroscedasticity
consistent covariance matrix.
Tests performed with the
consistent covariance matrix are
asymptotic. For more information,
refer to White (1980)

© 2007 Prof. Aníbal Báez Díaz, PhD