Paquete Estadístico SAS

 

Introducción:

El paquete SAS (Statistical Analysis System) es un sistema de programas para el análisis de datos. Consiste de un conjunto de módulos capaces de entregar resultados de diferentes procesos como regresión, análisis de varianza, estadística básica, distribución de frecuencias, procedimientos multivariados y muchos mas.

 

SAS bajo MSDOS

 

 

 

 

Entrada al paquete SAS


Para entrar al paquete SAS bajo MSDOS se deben de teclear las siguientes ordenes:

CD\
CD SAS
SAS

 

Al entrar a SAS se observan 3 diferentes ventanas:

 

En cada una de las ventanas de SAS encontrará una orden llamada:

COMMAND ==> Esta parte del SAS permite la entrada de diversas ordenes o comandos al sistema.

 

Salida del SAS


Para salir del paquete SAS bajo MSDOS se escribe BYE después de la orden COMMAND ==> BYE. También puede salir del SAS si escribe ENDSAS

 

 

Teclado de Funciones del SAS


Las teclas de funciones son ordenes pre-programadas para el manejo del paquete SAS.

A continuación se indican las más importantes para el SAS bajo MSDOS:

F1 AYUDA
F2 Teclado programado de funciones.
F3 Ventana de mensajes de compilación (LOG)
F4 Ventana de salida de resultados (OUTPUT)
F5 Siguiente ventana (NEXT)
F6 Ventana del editor de programas (PGR)
F7 Agrandar o reducir ventana (Zoom)
F8 Subtópicos.
F9 Llamar el programa de nuevo al editor de programas.
F10 Reducir la ventana y ejecutar (Zoom off)

 

 

Comandos del SAS


Los comando en SAS son ordenes pre-definidas con una acción en particular, se escriben después del indicador de Command ==>. En caso de que el cursor no se encuentre junto a Command ==> presione la tecla de INICIO (HOME).

Algunos de los comandos más comunes son:

HELP.- Ayuda

END.- Cierra la ventana activa con excepto las de OUTPUT, LOG, EDIT.

TOP.- Manda el cursor a la parte más alta de la ventana activa (primer renglón).

BOTTOM.- Manda el cursor a la parte más baja de la ventana activa (último renglón)

BYE.- Salida del paquete SAS. También se puede usar el comando ENDSAS para salir del SAS.

FILE "RUTA:NOMBRE.EXT".- Almacena el contenido de una ventana en disco duro o flexible. Para este comando se recomienda utilizar diferentes extensiones para el almacenamiento de datos. Estas extensiones son:

Por ejemplo:

FILE "A:DATOS.SAS"

En el ejemplo se almacena en la ventana del editor el programa datos en el disco flexible unidad A.

 

FILE "PRN".- Manda el contenido de la ventana activa a la impresora.

 

INCLUDE "RUTA:NOMBRE.EXT".- Llama un programa desde una unidad de discos a la ventana activa. Si en la ventana activa existía información la agrega al final de los datos.

 

Por ejemplo:

INCLUDE "A:DATOS.SAS"

En el ejemplo se llama el archivo DATOS.SAS de la unidad A para ser agregado en la ventana activa.

 

CHANGE.- Cambia caracteres dentro del editor de texto.

Por ejemplo:

CHANGE "&" "@" ALL Cambia el símbolo & por @ en el editor de programas.

 

Algo muy común en SAS es eliminar los saltos de página que automáticamente SAS asigna en la salida de resultados esto se puede hacer:

CHANGE "" " " ALL Cambia el símbolo por un espacio en blanco en el editor de programas.

 

 

SAS bajo X-Win 32

 

SAS bajo UNIX es un sistema que trabaja en Windows 95 / 98 en el modo de X-Win 32.

Para entrar al paquete se selecciona INICIO, PROGRAMAS Y X-Win32 como lo indica la siguiente figura:

 

 

Al entrar a X-Win32 y seleccionar SAS como paquete la computadora muestra la entrada siguiente:

 

Después de algunos segundos aparecen diferentes ventanas como lo muestra la siguiente figura.

 

 

Algunos menús de SAS bajo X-Win 32

FILE


 

Open.- Se utiliza para abrir un documento.
Import.- Se utiliza para importar un documento en formato dbf o o en otros formatos.
Save.- Guarda el contenido de la ventana activa. Si el programa no tiene nombre SAS lo pregunta.
Save as... .- Permite nombrar y guardar el contenido de un programa.
Export.- Permite Exportar programas de SAS a otros formatos.
Print.- Se utiliza para imprimir el contenido de una ventana activa en SAS en la impresora de la red.
Print utilities.-
Sent mail ... .- Manda el contenido de una ventana a una cuenta de correo electrónico.
Exit .- Se utiliza para salir de SAS.

 

 

EDIT


Undo.- Se utiliza para eliminar la última acción dada en SAS.
Deselect.- Se utiliza para quitar la selección de texto dentro de una ventana de SAS.
Cut selected text.- Corta el texto seleccionado.
Copy to paste buffer.- Almacena la información seleccionada en la memoria de la computadora para ser utilizada en otro momento.
Paste text.- Pega la información que se encuentre dentro de la memoria previo Copy to paste buffer
Clear selected text.- Borra el texto seleccionado.
Clear text .- Borra todo el texto.
Select text.- Se utiliza para marcar o seleccionar todo el texto.
Select all.- Se utiliza para seleccionar todo el contenido de la ventana activa.
Find ... .- Busca palabras dentro de la ventana activa.
Repeat find .- Repite el comando Find con la última búsqueda.
Change.- Se utiliza para cambiar palabras o símbolos dentro de una ventana activa.
Repeat change.- Repite el comando Change con el último cambio
Check spelling.- Se utiliza para verificar la sintaxis de los programas en SAS.
Options.- Permite entrar a las diferentes opciones del SAS para X-Win 32
 

 

VIEW


 
Change display .- Permite cambiar el tipo de monitor en que se esta trabajando.
Preferences... .- Muestra una ventana de dialogo con las preferencias sobre las ventanas de dialogo de SAS.
ToolBox .- Muestra una ventana con la caja de herramientas de SAS
Edit ToolBox ... .- Permite editar la caja de herramientas
Close ToolBox ... .- Cierra la ventana de la caja de herramientas.
Change Directory... .- Permite cambiar el directorio del sistema
Change Font... .- Permite cambiar el tipo de letra de las ventanas en SAS.

 

 GLOBALS


Dentro del menú de Globals aparecen diferentes ordenes, algunas de estas son:

Program editor (Editor de programas) llama la ventana del editor de programas. El Program editor es el lugar donde se escriben los programas.
Log llama la ventana de log. Log es el lugar donde se ven si existen o no errores en la sintaxis de las instrucciones en el momento que se estén ejecutando.
Output (Salida) llama la ventana donde salen los resultados de los programas o las salidas de los análisis.
Graph (Gráfica) lugar donde saldrán las gráficas del SAS.
 

La figura siguiente muestra el menú de Globals

 

HELP


Extended help.- Muestra la ayuda completa de SAS para X-Win 32
Online training.-
Online documentation.- Muestra la documentación en línea.
Keys.- Muestra el funcionamiento de las teclas de funciones.
SAS System.- Referencia sobre el sistema SAS.
Sample Programs- Muestra ejemplos de programas elaborados para SAS.
SAS Companion.- Muestra información sobre el SAS bajo UNIX y comparaciones con versiones anteriores.
What's New.- Muestra las cosas nuevas que tiene SAS con respecto a la versión anterior.
About... .- Muestra información referente el paquete SAS para X-Win 32.
 

 

Teclado de Funciones del SAS bajo X-Win 32


Si selecciona el menú de HELP dentro de cualquier ventana del paquete SAS aparecen diferentes opciones, si se posiciona sobre KEYS y da clic con el ratón o presiona la tecla de F2 SAS muestra la siguiente figura que indica el funcionamiento de las diferentes teclas de funciones.

F1 AYUDA (Help)
F2 Teclado programado de funciones. (Keys)
F3 Ejecutar
F4 Ventana del editor de programas o llamado del programa al editor. (PGM; RECALL)
F5 Siguiente búsqueda (rfind)
F6 Siguiente cambio(rchange)
F7 Atrás (backward)
F8 Adelante (forward).
F10 Izquierda (left)
F11 Derecha (right)
 

 

Estructura de un programa en SAS

Un programa en SAS tiene la Siguiente estructura:

 

 

En cada parte del programa en SAS se van indicado un conjunto de instrucciones, estas se pueden repetir de acuerdo a las necesidades de análisis.

 

Editor SAS

El Programa SAS bajo MSDOS tiene un editor donde se pueden escribir los programas.

El PROGRAM EDITOR muestra una ventana con:

COMMAND ==>

ORDENES

¯

00001 INSTRUCCIONES
00002
00003

 

En la parte superior aparece COMMAND ==> En esta parte se escriben los comandos antes explicados, en la parte inferior aparece una numeración, junto a ella se escriben las instrucciones y sobre ésta los ordenes del editor.

 

ORDENES DEL EDITOR DEL SAS BAJO MSDOS

Las ordenes del editor son letras pre-definidas con una función específica y se deben escribir en la primera columna de la sección numérica. Estas ordenes son:

 

Agregar (I)

I Agrega línea(s) en blanco.

Por ejemplo: se tienen las siguientes líneas:

00001 DATA S;
00002 CARDS;
00003 23 45 67 87

 

Se desea agregar un espacio entre las líneas 00001 y 00002. Para realizar la inserción se coloca el cursor sobre la primera columna de la línea 00001, se teclea I y se presiona la tecla de ENTER.

I¿ 001 DATA S;
00002 CARDS;
00003 23 45 67 87
 

El editor responde a la orden de la manera siguiente:

00001 DATA S;
00002
00003 CARDS;
00004 23 45 67 87

Se observa que se agregó una línea después de la 00001 y los renglones que le seguían se recorrieron en la numeración.

 

Si se desea agregar más de una línea, estas se pueden indicar después de la orden In, donde n es el número de líneas a agregar.

Por ejemplo:

Se desean agregar 3 líneas después de la indicada con el número 00003 del ejemplo anterior. Para efectuar esto se hace:

00001 DATA S;
00002
I3¿ 03 CARDS;
00004 23 45 67 87

El editor responde como:

00001 DATA S;
00002
00003 CARDS;
00004
00005
00006
00007 23 45 67 87

NOTA: Se pueden insertar n líneas que no sean múltiplos de 10, esto es, 1 o 5 o 9 o 29 o 39 pero no 10 ni 20, , etc.

 

Borrar (D)

D Borra línea(s) desde donde se indique la orden.

Para borrar una línea del editor se utiliza la orden D. Por ejemplo:

Se desea borrar la línea 00002 del editor de programas.

Para efectuar estos cambios es necesario colocar el cursor sobre la primera columna de la línea 00002, escribir la letra D y presionar ENTER (¿ ).

00001 DATA S;
D¿ 002
00003 CARDS;
00004
00005
00006
00007 23 45 67 87
El editor del SAS responderá con:
00001 DATA S;
00002 CARDS;
00003
00004
00005
00006 23 45 67 87

 

Observe que borró la línea y recorrió la numeración en otras instrucciones hacia arriba.

 

Si se desean borrar más de una línea esto se pueden hacer con la órden Dn donde n es el número de líneas a borrar y no deben ser múltiplos de 10.

Por ejemplo:

Se desean borrar 3 líneas después de la indicada con el número 00003 del ejemplo anterior. Para efectuar esto se hace:

00001 DATA S;
00002 CARDS;
D3¿ 03
00004
00005
00006 23 45 67 87

 

El editor responderá como:

00001 DATA S;
00002 CARDS;
00003 23 45 67 87

 

Otra forma de borrar líneas es al través del comando DD. Con DD puede indicar el principio y el fin de un bloque que desea borrar. Por ejemplo:

  1. Se desea borrar un bloque de líneas de la 00002 a la 00005. Para efectuar esto se hace:
  2. Se coloca el cursor sobre la línea 00002 primera columna.
  3. Se escribe DD y se presiona ENTER (¿ ).
  4. Se mueve el cursos sobre la línea 00005 primera columna.
  5. Se escribe DD y se presiona ENTER (¿ ), como se muestra a continuación:
00001 DATA S;
DD¿ CARDS;
00003
00004
DD¿
00006 23 45 67 87

 

Copiar una línea(C,B)

C Indica la línea que se desea copiar (origen).
B Indica la línea donde se desea copiar (destino).
 
Por ejemplo: se desea copiar la línea 00002 en la línea 00005.

Para hacerlo:

  1. Se coloca el cursos en la línea 00002 primera columna
  2. Se teclea C
  3. Se presiona ENTER (¿ ), la numeración 00002 desaparecerá
  4. Se mueve el cursor a la línea 00005 primera columna,
  5. Se escribe B
  6. Se presiona ENTER (¿ ) como se muestra en la figura:
 
00001 DATA S;
C¿ CARDS;
00003 23 45 67 87
00004
B¿

 

Aparecerá la línea copiada como se muestra en la figura siguiente:

00001 DATA S;
00002 CARDS;
00003 23 45 67 87
00004
00005 CARDS;

 

Copiar varias líneas o un bloque de líneas(CC,B)

CC Indica Inicio/Fin de bloque a copiar (origen).
B Indica que se copie el bloque (destino).
 
Por ejemplo: se desean copiar las líneas 00001 a la 00003 en la línea 00005.

Para efectuar la copia:

  1. Se mueve el cursor a la línea 00001 columna 1
  2. Se teclea CC .
  3. Se presiona ENTER (¿ )
  4. Se mueve el cursor a la línea 00003 columna 1
  5. Se teclea CC,
  6. Se presiona ENTER (¿ ),
  7. Se mueve el cursos a la línea 00005 columna 1
  8. Se teclea B
  9. Se presiona ENTER (¿ ) como se muestra en la figura:
CC¿ DATA S;
00002 CARDS;
CC¿ 23 45 67 87
00004
B¿ CARDS;

El resultado de esta operación es:

00001 DATA S;
00002 CARDS;
00003 23 45 67 87
00004
00005 DATA S;
00006 CARDS;
00007 23 45 67 87
00008 CARDS;

 

 

 

Instrucciones básicas

 

Las instrucciones son ordenes que se le da al paquete SAS dentro de un programa para el análisis de datos. Al termino de cada instrucción se debe escribir un punto y coma (;).

 

OPTIONS


La instrucción OPTIONS indica al programa de SAS las opciones con que se quiere trabajar para la salida de resultados. Las opciones más utilizadas son:

LS ( Linesize) indica el número de columnas utilizadas.
PS (pagesize) indica el número de renglones utilizados.
NODATE indica que el reporte no tenga la fecha.
NONUMBER indica que el reporte no tenga número de página
 

Por ejemplo:

OPTIONS LS=80 PS=56 NODATE;

En el ejemplo se indica que se van a usar 80 columnas, 56 renglones y que el reporte va sin fecha. Note que cada una de las opciones va separada por al menos un espacio.

 

 

DATA


La instrucción DATA se usa para indicar un conjunto de elementos. Este conjunto de datos muestran valores diferentes obtenidos en un experimento, una muestra o la unión de diferentes subconjuntos de datos. El formato de la Instrucción DATA es el siguiente:

DATA nombre del conjunto:

Por ejemplo:
DATA S;

 Donde S indica el tamaño de muestra.

 

INPUT


La instrucción INPUT se usa para indicar las variables que serán utilizadas para el análisis de datos. El formato de la Instrucción INPUT es el siguiente:

INPUT variable(s) [@@];

Las variables pueden ser numéricas o alfanuméricas ($) separadas por un espacio en blanco.

Por ejemplo:
INPUT MERCADO $ X Y;
 

El ejemplo anterior muestra que la variable MERCADO es de tipo alfanumérica y acepta letras y números; X y Y son variables de tipo numéricas.

Si se utiliza @@ los datos pueden introducirse en forma horizontal por ejemplo:

INPUT MERCADO $ X Y @@;

Si se utiliza @ los datos pueden introducirse desde un archivo externo en forma de tabla.

 

 

CARDS


La instrucción CARDS indica al programa en SAS que se introducirán datos a continuación y que van a ser tomados por la(s) variable(s) puestas en INPUT. La forma de escribir CARDS es la siguiente:

CARDS;
valor valor valor ...
...

 

Por ejemplo:

options ls=72 ps=60 nodate;
data s;
input x @@;
cards;
23 34 25 27 23 29 29 43 28 33 31 32 31 23 29
25 28 35 38 39 42 41 40 29 31 25 29 27 28 33
27 29 32 33 39 43 41 45 29 39 33 32 34 37 34
35 28 33 33 38 37 36 42 39 41 32 34 39 41 33
37 29 33 28 27 22 29 34 43 37 22 28 29 45 37
40 28 33 30 30 23 30 34 45 31 33 29 33 45 28

En el ejemplo anterior con options se indica que se utilizaran 72 columnas, 60 renglones y que no se quiere la fecha; en data se indica que el conjunto universal se llama s; en input se indica que la variable x tomara valores en forma de tabla utilizando la orden cards; después cards indica que se escribirán los valores con al menos un espacio.

 

 

INFILE


La instrucción INFILE se utiliza para indicar al programa que va a tomar datos desde un archivo externo y no por conducto de la orden CARDS; la sintaxis para infile es la siguiente:

INFILE 'RUTA:NOMBRE.EXT' ;

Si a la orden INFILE se le agrega MISSOVER esto indica que se van a pedir otros archivos para analizar.

INFILE 'RUTA:NOMBRE.EXT' MISSOVER ;

 

Por ejemplo:

options ls=72 ps=60 nodate;
data s;
infile "edades.dat";
input x @;

 

 

Ciclos iterativos DO


Los ciclos iterativos en el paquete SAS se hacen utilizando las instrucciones:

DO variable=valor inicial TO valor final;
.....
.....
END;

Regularmente los ciclos iterativos se utilizan para indicar la entrada de valores a variables para no indicar el valor de una sola. Por ejemplo:

data s;
do datos=1 to 5;
input obs @@;
output;
end;
cards;
2 4 5 6 1

 

 El valor que la variable datos tomará será desde 1 hasta el valor de 5 incrementandose el valor de uno en uno, se introducirán 5 datos a la variable obs que seran tomados desde afuera del ciclo(output) después de la órden cards; esto da como resultado:

datos obs
1 2
2 4
3 5
4 6
5 1

Los ciclos pueden estar anidados, por ejemplo:

do trat=1 to 5;
do bloq=1 to 5;
input obs@@;
output;
end;
end;
cards;
8 10 12 13 11
2 6 7 11 5
4 10 9 8 10
3 5 9 10 6
9 7 5 5 3

donde la variable trat tomará valores desde 1 hasta 5, bloq desde 1 hasta 5, y en total se tomarán 25 observaciones quedando los valores:

 

trat bloq obs
1 1 8
1 2 10
1 3 12
1 4 13
1 5 11
...    
...    
5 5 3

 

Condicionales por medio de IF-THEN


La instrucciones if-then son instrucciones que condicionan la entrada de datos de un programa. Su formato es el siguiente:

IF condición THEN instrucción;

Si se cumple la condición se efectuará lo que indique la instrucción, por ejemplo:

IF trat=1 THEN trata="I";

Una de las formas en que más se usa esta instrucción es para indicar que si cumple con cierta condición quite el dato del análisis, esto se hace indicando la instrucción DELETE.

IF ps<=0 THEN DELETE;

 

 

Procedimientos

Procedimiento PRINT


El procedimiento PRINT imprime las observaciones de un conjunto de datos en forma de un reporte simple. El formato general de PRINT es el siguiente:

PROC PRINT;

 

Procedimiento FREQ


Con el procedimiento FREQ se puede obtener cálculos de distribución de frecuencias de un conjunto de datos por variable indicada en INPUT, su formato general es el siguiente:

PROC FREQ;

 

Procedimiento MEANS


MEANS se utiliza para obtener cálculos de estadística básica, valor mínimo, valor máximo, desviación estándar, sumatorias, entre otras. El formato general para MEANS es el siguiente:

PROC MEANS;

Si se desea sacar información sobre media, varianza, desviación estándar, valor máximo, valor mínimo, coeficiente de variación y amplitud escriba la siguiente orden:

PROC MEANS MEAN VAR STD MAX MIN CV RANGE;

 

Procedimiento SORT


El procedimiento SORT se utiliza para ordenar los datos en orden ascendente o descendente. SORT se usa cuando los datos de entrada no están completamente ordenados para realizar algun análisis en particular. El formato general para SORT es el siguiente:

PROC SORT;
BY [descending] variable o variables;

 

En caso de que se desee el orden ascendente agregue lo que esta entre corchetes.

Por ejemplo:

PROC SORT;
BY DESCENDIG tamaños;
 

Procedimiento CHART


El procedimiento CHART hace gráficas de en diferentes formas:

histogramas verticales y horizontales , gráficas de bloques, pies y gráficas de estrella. CHART tiene como formato general:

PROC CHART;
Tipo de gráfica;
 
Donde tipo de gráfica puede ser:
VBAR variables;
HBAR variables:
BLOCK variables;
PIE variables;
STAR variables;
 
Nota: si se quiere sacar una gráfica de pastel (PIE) debe escribir en el programa:
Options ls=72 ps=60;

Esto se hace por que la gráfica de pastel no cabe en la salida por defecto de SAS.

 

Procedimiento PLOT


PLOT gráfica una variable contra otra a través de procedimientos

de impresión de gráficos (gráficas XY), su formato general es el siguiente:

PROC PLOT;

PLOT vertical*horizontal="caracter";

 

 

Otros Procedimientos

REG se usa para el modelo de regresión lineal simple, lineal múltiple y no lineal.

ANOVA es un procedimiento para hacer análisis de varianza de los datos.

CORR procedimiento para calcular la correlación entre datos.

GLM Modelo general lineal (General Lineal Model), con este procedimiento se pueden hacer análisis de varianza para diferentes modelos lineales como regresión lineal simple, regresión lineal múltiple, diseños completamente al azar, bloques al azar, cuadro latino, contrastes ortogonales, factoriales, entre otros más.

 

 Programas de SAS

Programa 1 Distribución de frecuencias, estadística básica y gráficas.


Cálculo de la distribución de frecuencias de datos, estadística básica y gráfica de histográmas de un conjunto de datos correspondientes a 90 edades tomadas a un grupo de personas en una cafetería un día del mes de mayo.

options ls=72 ps=60 nodate;
data s;
input x @@;
cards;
23 34 25 27 23 29 29 43 28 33 31 32 31 23 29
25 28 35 38 39 42 41 40 29 31 25 29 27 28 33
27 29 32 33 39 43 41 45 29 39 33 32 34 37 34
35 28 33 33 38 37 36 42 39 41 32 34 39 41 33
37 29 33 28 27 22 29 34 43 37 22 28 29 45 37
40 28 33 30 30 23 30 34 45 31 33 29 33 45 28
proc print;
proc freq;
proc means;
proc chart;
vbar x;
run;

 

Programa 2. Uso de Infile


Se tienen los siguientes datos:
 
23 34 25 27 23 29 29 43 28 33 31 32 31 23 29
25 28 35 38 39 42 41 40 29 31 25 29 27 28 33
27 29 32 33 39 43 41 45 29 39 33 32 34 37 34
35 28 33 33 38 37 36 42 39 41 32 34 39 41 33
37 29 33 28 27 22 29 34 43 37 22 28 29 45 37
40 28 33 30 30 23 30 34 45 31 33 29 33 45 28
 
Los datos son capturados en un procesador de texto (EDIT del MSDOS o en otro procesador). y almacenado con el nombre edades.dat como solo texto con saltos de línea o en código ASCII para que SAS pueda leerlo.
 
El programa en SAS es el siguiente:
options ls=72 ps=60 nodate;
data s;
infile "edades.dat";
input x @;
proc print;
proc freq;
proc means;
proc chart;
vbar x;
run;

Note que la orden INFILE esta colocada antes de INPUT y que los datos deben tener el orden como si se metieran con la orden CARDS.

 

 

Programa 3 Covarianza y correlación.


La siguiente tabla consiste de las observaciones resultantes de medir el peso y la estatura de cada uno de diez individuos.

Peso (X) 63 52 78 49 71 62 68 48 56 67
Estatura (Y) 162 158 167 151 162 168 167 153 152 173

Calcular la covarianza y la correlación

*Ejemplo tomado del libro de Métodos Estadísticos, Cap.3. Said Infante Gil y Guillermo Zarate de Lara. Editorial Trillas.data s

data s;
input x y ;
cards;
63 162
52 158
78 167
49 151
71 162
62 168
68 167
48 153
56 152
67 173
proc corr cov;
run;
 

 

 

Programa 4 Distribución Binomial


Calcular la probabilidad de X desde 0 hasta 10 cuando X ~ Bin(10,0.4)

data s;
input p n x;
y=probbnml(p,n,x);
cards;
0.4 10 0
0.4 10 1
0.4 10 2
0.4 10 3
0.4 10 4
0.4 10 5
0.4 10 6
0.4 10 7
0.4 10 8
0.4 10 9
0.4 10 10
proc print;
run;
 

 

Programa 5 Distribución Poisson


Calcular la probabilidad de X desde 0 hasta 8 cuando X~Poisson(0.9,X)

data s;
input lamda x;
y=poisson(lamda,x);
cards;
0.9 0
0.9 1
0.9 2
0.9 3
0.9 4
0.9 5
0.9 6
0.9 7
0.9 8
proc print;
run;

 

Programa 6 Distribución Normal del Cálculo de la Probabilidad puntual.


Calcular la probabilidad con z=-1, z=1, z=-2, z=2, z=-3 y z=-3

data s;
input z@@;
y=probnorm(z);
cards;
-1 1
-2 2
-3 3
proc print;
run;

 

Programa 7 Distribución Normal del Cálculo de la probabilidad entre dos límites.


Calcular la probabilidad de:

  1. (-3 £ Z £ +3)
  2. (-2 £ Z £ +2)
  3. (-1 £ Z £ +1)
  4. (-2.3 £ Z £ +3.4)
data s;
input zliminf zlimsup;
y=probnorm(zlimsup)-probnorm(zliminf);
cards;
-3 3
-2 2
-1 1
-2.3 3.4
proc print;
run;
 

Programa 8 Distribución Chi cuadrada


  1. Calcular alfa con 10 grados de libertad y un valor de 3.9403
  2. Calcular alfa con 15 grados de libertad y un valor de 24.9958
data s;
input valor gl;
y=1-probchi(valor,gl);
cards;
3.9403 10
24.9958 15
proc print;
run;

 

 

Programa 9 Distribución T


  1. Calcular alfa con 25 grados de libertad y un valor de 1.700
  2. Calcular alfa con 50 grados de libertad y un valor de 2.870
  3. Calcular alfa con 1 grados de libertad y un valor de 1
  4. Calcular alfa con 14 grados de libertad y un valor de 1.761
  5. Calcular alfa con 30 grados de libertad y un valor de 2.042
data s;
input valor gl;
y=1-probt(valor,gl);
cards;
1.700 25
2.870 50
1 1
1.761 14
2.042 30
proc print;
run;
 

 

 

Programa 10 Distribución F


data s;
input valor n m;
y=1-probf(valor,n,m);
cards;
3.3200 2 30
3.0556 4 15
proc print;
run;

 

Programa 11 Regresión lineal simple


Observaciones resultantes de medir el peso y la estatura de cada uno de diez individuos.

Peso (X) 63 52 78 49 71 62 68 48 56 67
Estatura (Y) 162 158 167 151 162 168 167 153 152 173

*Ejemplo tomado del libro de Métodos Estadísticos, Cap.12. Said Infante Gil y Guillermo Zarate de Lara. Editorial Trillas.

 

Para calcular el análisis de varianza de la Regresión Lineal simple se hace:

data s;
input x y;
cards;
63 162
52 158
78 167
49 151
71 162
62 168
68 167
48 153
56 152
67 173
proc plot;
plot y*x;
proc reg;
model y=x;
run;

El programa anterior muestra la regresión lineal simple y también agrega la gráfica de dispersión de puntos.

 

Programa 12 Regresión lineal múltiple


En seguida se presentan datos de tres variables de gran importancia económica en un país. Las variables son:

Y1: petróleo y petroquímica.
Y2 Producción de alimentos, bebidas y tabaco
Y3: energía eléctrica

 Los datos de estas variables se dan como índices a lo largo de 15 años. Todos los datos son porcentajes de producción con respecto al año de 1960. La variable X es 1 para 1961, 2 para 1962, ..., 15 para 1975.

 

Indices de volumen de la producción Industrial en México (1960 = 100%)

X(año)

Y1

Y2

Y3

1

110.9

106.5

105.9

2

114.3

109.6

117.4

3

121.2

118.7

136.3

4

134.2

129.3

159.4

5

142.8

137.8

176.1

6

148.9

147.4

195.8

7

169.1

153.9

217.7

8

183.8

165.1

241.8

9

195.2

175.9

275.2

10

214.7

186.6

306.7

11

221.8

188.0

335.5

12

241.2

198.1

371.4

13

247.1

208.2

409.6

14

284.5

214.6

448.6

15

309.8

221.9

455.4

 

*Ejemplo tomado del libro de Métodos Estadísticos, Cap.3. Said Infante Gil y Guillermo Zarate de Lara. Editorial Trillas.data s

data s;
input x y1 y2 y3;
cards;

1

110.9

106.5

105.9

2

114.3

109.6

117.4

3

121.2

118.7

136.3

4

134.2

129.3

159.4

5

142.8

137.8

176.1

6

148.9

147.4

195.8

7

169.1

153.9

217.7

8

183.8

165.1

241.8

9

195.2

175.9

275.2

10

214.7

186.6

306.7

11

221.8

188.0

335.5

12

241.2

198.1

371.4

13

247.1

208.2

409.6

14

284.5

214.6

448.6

15

309.8

221.9

455.4

proc reg;
model x=y1 y2 y3;
run;
 

Programa 13 Diseño Básico

 

*Con el objeto de ilustrar el procedimiento de A. de V. se presenta un ejemplo sin mayor interés práctico. Se tiene una muestra aleatoria de tamaño 15, que se supone una población Normal (m ,s 2). Las observaciones en la muestra son:

Yi: 68, 69, 78, 86, 73, 69, 80, 67, 59, 68, 70, 66, 69, 72, 77

Se desea probar la hipótesis Ho: m =68 contra Ha: m ¹ 68.

*Ejemplo tomado del libro de Métodos Estadísticos, Cap.11. Said Infante Gil y Guillermo Zarate de Lara. Editorial Trillas.

data s;
input obs@@;
cards;
68 69 78 86 73 69 80 67 59 68 70 66 69 72 77
proc glm;
model obs=;
run;

 

Programa 14 Diseño completamente al azar


*En un experimento se van a comprobar los porcentajes de carbohidratos en 4 marcas de pan, para lo cual se van a hacer 18 determinaciones: 5 en la primera marca, 3 en la segunda, 4 en la tercera y 6 en la cuarta. Para obtener las respuestas se tomarán muestras aleatorias de los tamaños especificados de cada marca y se harán determinaciones de los porcentajes mediante un procedimiento (hasta donde sea posible) idéntico en las 18 unidades experimentales.

En la tabla se presentan los resultados de las 18 determinaciones de carbohidratos.

Tratamiento 1

(marca 1)

Tratamiento 2

(marca 2)

Tratamiento 3

(marca 3)

Tratamiento 4

(marca 4)

63

60

59

70

68

65

66

69

71

61

58

62

70

 

59

71

69

   

70

     

66

*Ejemplo tomado del libro de Métodos Estadísticos, Cap.11. Said Infante Gil y Guillermo Zarate de Lara. Editorial Trillas.

 

Para solucionar el problema por medio de un DCA el programa en SAS es:

data s;
input trat obs;
cards;
1 63
1 68
1 71
1 70
1 69
2 60
2 65
2 61
3 59
3 66
3 58
3 59
4 70
4 69
4 62
4 71
4 70
4 66
proc glm;
classes trat;
model obs=trat;
run;

 

 

Programa 15 Bloques al azar


*En un experimento se quieren comparar las capacidades de reproducción de frecuencias bajas de 4 recubrimientos de cinta magnética y se van a efectuar 5 observaciones de cada uno. Se pretende utilizar 5 diferentes grabadoras para el experimento, utilizando cada grabadora como un bloque en el que se probaran los 4 tratamientos. El propósito del experimento no es comparar las grabadoras sino comparar los cuatro recubrimientos.

Bloque

(grabadora)

Tratamiento

1

Tratamiento

2

Tratamiento

3

Tratamiento

4

1

20

10

30

22

2

30

20

39

26

3

32

19

37

27

4

18

9

26

23

5

26

18

29

20

*Ejemplo tomado del libro de Métodos Estadísticos, Cap.11. Said Infante Gil y Guillermo Zarate de Lara. Editorial Trillas.

data s;
input bloq trat obs;
cards;
1 1 20
1 2 10
1 3 30
1 4 22
2 1 30
2 2 20
2 3 39
2 4 26
3 1 32
3 2 19
3 3 37
3 4 27
4 1 18
4 2 9
4 3 26
4 4 23
5 1 26
5 2 18
5 3 29
5 4 20
proc glm;
classes bloq trat;
model obs=bloq trat;
run;

 

El ejemplo anterior solo que ahora utilizando ciclos iterativos y condicionales:

options ps=60;
data s;
do bloq=1 to 5;
do trat=1 to 4;
input obs@@;
if trat=1 then trata="I ";
if trat=1 then trata="II ";
if trat=1 then trata="III";
if trat=1 then trata="IV ";
output;
end;
end;
cards;
20 10 30 22
30 20 39 26
32 19 37 27
18 9 26 23
26 18 29 20
proc glm;
classes bloq trata;
model obs=bloq trata;
run;

 

 

 

Programa 16 Cuadro Latino


data s;
input hileras columnas $ trat $ dato;
cards;
1 I F 3.5
2 I B 4.2
3 I A 6.7
4 I D 6.6
5 I C 4.1
6 I E 3.8
1 II B 8.9
2 II F 1.9
3 II D 5.8
4 II A 4.5
5 II E 2.4
6 II C 5.8
1 III C 9.6
2 III E 3.7
3 III F -2.7
4 III B 3.7
5 III D 6.0
6 III A 7.0
1 IV D 10.5
2 IV C 10.2
3 IV B 4.6
4 IV E 3.7
5 IV A 5.1
6 IV F 3.8
1 V E 3.1
2 V A 7.2
3 V C 4.0
4 V F -3.3
5 V B 3.5
6 V D 5.0
1 VI A 5.9
2 VI D 7.6
3 VI E -0.7
4 VI C 3.0
5 VI F 4.0
6 VI B 8.6
proc glm;
classes hilera columna trat;
MODEL dato=hilera columna trat;
MEANS trat/alpha=0.05 tukey;
run;

 

Programa 17 Contrastes ortogonales


El experimento consiste en comparar los efectos de siete fungicidas y un testigo sobre maíz infestado con Diplodia spp. Se mide el número de semillas que germinan, para este propósito se planteó un diseño Bloques al Azar, en condiciones de invernadero. Cada unidad experimental consiste de 25 semillas. Los datos se dan en la tabla:

 

Bloq\Trat A B C D E F G H
1 8 16 14 10 8 8 7 12
2 8 19 16 11 7 8 6 19
3 9 24 14 12 1 3 6 9
4 7 22 13 8 1 3 6 11
5 7 19 14 7 3 3 4 9
6 5 19 13 3 2 7 4 5

 

A: Tratamiento testigo
B, C: Fungicidas mercúricos
D, H: Fungicidas no mercúricos producidos por la compañía I
E, F, G: Fungicidas no mercúricos producidos por la compañía II. F y G son nuevas formulaciones de E.

 

Se desea dividir la suma de cuadrados de tratamientos y los 7 grados de libertad para dar un conjunto de comparaciones ortogonales. Las comparaciones están en la base de los tratamientos.

  1. El efecto del testigo es igual al de los siete fungicidas.
  2. El efecto de los Fungicidas Mercúricos es igual al efecto de los fungicidas no mercúricos.
  3. El efecto de los fungicidas mercúricos es el mismo
  4. El efecto de los fungicidas de la Compañía I es igual a efecto de los fungicidas de la compañía II.
  5. El efecto de los Fungicidas de la compañía I es el mismo.
  6. El efecto de los fungicidas de la compañía II es el mismo.
  7. El efecto de las nuevas formulaciones de la compañía II es el mismo.

 

 

El programa en SAS para resolver este problema es el siguiente:

data fungi;
input trat $;
do bloq=1 to 6;
input obs @@;
output;
end;
cards;
A 8 8 9 7 7 5
B 16 19 24 22 19 19
C 14 16 14 13 14 13
D 10 11 12 8 7 3
E 8 7 1 1 3 2
F 8 8 3 3 3 7
G 7 6 6 6 4 4
H 12 19 9 11 9 5
proc glm;
class trat bloq;
model obs trat bloq;
* TRATAMIENTOS A B C D E F G H;
contrast 'A VS B C D E F G H ' TRAT +7 -1 -1 -1 -1 -1 -1 -1;
contrast 'B C VS D E F G H ' TRAT 0 +5 +5 -2 -2 -2 -2 -2;
contrast 'B VS C ' TRAT 0 +1 -1 0 0 0 0 0;
contrast 'D H VS E F G ' TRAT 0 0 0 3 -2 -2 -2 3;
contrast 'D VS H ' TRAT 0 0 0 +1 0 0 0 -1;
contrast 'E VS F G ' TRAT 0 0 0 0 +2 -1 -1 0;
contrast 'F VS G ' TRAT 0 0 0 0 0 +1 -1 0;
run;

 

Programa 18 Diseño Factorial


Se tienen, en un diseño cuadro latino cuatro tratamientos para probar el efecto de fertilizantes inorgánicos y orgánicos sobre el rendimiento de una variedad de papa.

Los tratamientos son:
Tratamiento 1.- Sangre (n0); superfosfato (P0): (n0P0)
Tratamiento 2.- Sulfato de amonio (n1); superfosfato (P0): (n1P0)
Tratamiento 3.- Sulfato de amonio (n1); harina de hueso (P1): (n1P1)
Tratamiento 4.- Sangre (n0); harina de hueso (P1): (n0P1)

Note que la asignación de niveles a los factores es arbitraria.

 

Tenemos entonces dos factores a dos niveles:
Sangre (n0)
Sulfato de amonio (n1)
Superfosfato (P0)
Harina de hueso (P1)
 

El diseño quedo como sigue:

TRAT         OBS        
  I II III IV   I II III IV
I 4 3 2 1 I 645 667 670 787
II 1 2 3 4 II 752 637 655 576
III 3 4 1 2 III 642 627 686 575
IV 2 1 4 3 IV 621 762 596 660

 

data s;
* Las variables trat representa tratamientos, n y p los diferentes niveles
input hileras colum trat n p obs;
cards;
I I 4 0 1 645
I II 3 1 1 667
I III 2 1 0 670
I IV 1 0 0 787
II I 1 0 0 752
II II 2 1 0 637
II III 3 1 1 655
II IV 4 0 1 576
III I 3 1 1 642
III II 4 0 1 627
III III 1 0 0 686
III IV 2 1 0 575
IV I 2 1 0 621
IV II 1 0 0 762
IV III 4 0 1 596
IV IV 3 1 1 660
PROC PRINT;
* se hace el cálculo del análisis de varianza del diseño cuadro latino
PROC GLM;
CLASSES hileras colum trat;
MODEL obs=hileras colum trat;
run;
* se hace el cálculo usando factoriales
* el diseño anterior se respeta solo en el modelo se ponen los
* diferentes niveles de p y n y sus interacciones.
proc glm;
classes hileras colum trat;
model obs=n p n*p;
run;

 

También el factorial se puede escribir como:

proc glm;
classes hileras colum trat;
model obs=n|p;
run;

De esta forma la computadora tomaría los valores de n, de p y la interacción entre ellos.

 

Programa 19 Diseño Jerárquico


En un curso de capacitación reciente los miembros de las clase recibieron, para probar sus conocimientos, un problema final. Cada miembro de la clase fue a la planta y montó un experimento de acuerdo a las técnicas discutidas en clase. El Ingeniero Fernández se propuso estudiar las series de datos de soportes de cátodos de cristal de cinco diferentes máquinas. Cada máquina (M) tiene cuatro cabezas (H) en las cuales el cristal (vidrio) se forma, el Ingeniero decidió tomar 4 observaciones por celda, empleó un Diseño Completamente al Azar para probar que las series de lecturas no presentaban problema.

Los datos se presentan en la tabla:

Cabeza

Máquina A

Máquina B

Máquina C

Máquina D

Máquina E

1

6

10

0

11

1

 

2

9

0

0

4

 

0

7

5

6

7

 

8

12

5

4

9

           

2

13

2

10

5

6

 

3

1

11

10

7

 

9

1

6

8

0

 

8

10

7

3

3

           

3

1

4

8

1

3

 

10

1

5

8

0

 

0

7

0

9

2

 

6

9

7

4

2

           

4

7

0

7

0

3

 

4

3

2

8

7

 

7

4

5

6

4

 

9

1

4

5

0

De la tabla:
Máquinas i= 1,..., 5
Cabezas j= 1 ,...,4
Repeticiones k=1 ,...,4

El ejemplo anterior se puede analizar como un Diseño Jerárquico , ya que cabezas están anidadas dentro de máquinas.

data s;
input cabeza maq $ obs;
cards;
1 A 6
1 A 2
1 A 0
1 A 8
1 B 10
1 B 9
1 B 7
1 B 12
1 C 0
1 C 0
1 C 5
1 C 5
1 D 11
1 D 0
1 D 6
1 D 4
1 E 1
1 E 4
1 E 7
1 E 9
2 A 13
2 A 3
2 A 9
2 A 8
2 B 2
2 B 1
2 B 1
2 B 10
2 C 10
2 C 11
2 C 6
2 C 7
2 D 5
2 D 10
2 D 8
2 D 3
2 E 6
2 E 7
2 E 0
2 E 3
3 A 1
3 A 10
3 A 0
3 A 6
3 B 4
3 B 1
3 B 7
3 B 9
3 C 8
3 C 5
3 C 0
3 C 7
3 D 1
3 D 8
3 D 9
3 D 4
3 E 3
3 E 0
3 E 2
3 E 2
4 A 7
4 A 4
4 A 7
4 A 9
4 B 0
4 B 3
4 B 4
4 B 1
4 C 7
4 C 2
4 C 5
4 C 4
4 D 0
4 D 8
4 D 6
4 D 5
4 E 3
4 E 7
4 E 4
4 E 0
proc print;
PROC GLM;
CLASS maq cabeza;
model obs=maq|cabeza;
run;
PROC GLM;
CLASS maq cabeza;
model obs=maq maq(cabeza);
run;
proc sort; by maq;
PROC GLM;
CLASS maq cabeza;
model obs=maq maq(cabeza)/alpha=.1;
by maq;
run;