Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccion Al Manejo de Datos Utilizando SAS PDF
Introduccion Al Manejo de Datos Utilizando SAS PDF
O S
T
DA
DE
J O
N E AS
MA O S
AL AND
N IZ
C I IL
U C UT
O D
T R
IN
CAPTULO 1
Por qu SAS? .............................................................................................1
CAPTULO 2
Las ventanas de SAS ...................................................................................3
CAPTULO 3
Archivos permanentes en SAS ................................................................. 11
CAPTULO 4
Archivos temporales en SAS .................................................................... 15
Para hacer comentarios.................................................................................. 16
Enhanced Editor ............................................................................................. 16
Creacin de una base de datos en SAS ...................................................... 17
Mensajes del Log ......................................................................................... 18
Cambiando de archivos temporales a permanentes....................................... 20
Ver la base de datos ....................................................................................... 21
Guardar los cdigos........................................................................................ 22
Tamao de las bases de datos guardadas en SAS ..................................... 24
Acceso a los cdigos guardados ....................................................................24
CAPTULO 5
Los programas de SAS.............................................................................. 25
Acerca de los comentarios................................................................... 25
Recomendacin ................................................................................... 27
Procedimientos y rdenes (o instrucciones) de SAS......................... 28
Manejo de los resultados ..................................................................... 28
CAPTULO 6
La base de datos........................................................................................... 31
1. Importar bases de datos de Excel ................................................. 32
2. Exportar bases de datos de SAS hacia Excel ............................ 39
3. Otras formar de importar o exportar (sin Wizard)............................. 43
CAPTULO 8.
Algunos procedimientos de SAS.............................................................. 55
1. Para ordenar los datos................................................................................ 55
Proc sort .............................................................................................. 55
Para eliminar datos repetidos .............................................................. 56
2. Para verificar la calidad de los datos y/o resumir informacin
de los datos crudos..................................................................................... 56
Proc freq .............................................................................................. 56
Proc means.......................................................................................... 58
3. Para manejar la base de datos ................................................................... 61
Drop ..................................................................................................... 61
Keep .................................................................................................... 62
Rename ............................................................................................... 62
4. Para crear variables por medio de operaciones matemticas .................... 63
5. Para unir dos o ms bases de datos .......................................................... 65
Set ....................................................................................................... 65
Merge................................................................................................... 66
Otro uso de Merge ............................................................................... 68
CAPTULO 9
Ms de manejo de datos en SAS .............................................................. 71
Los condicionantes ......................................................................................... 71
Ifthen ................................................................................................ 71
Else ifthen......................................................................................... 73
Ifand/or.then.................................................................................. 74
Algunas funciones de SAS........................................................................... 74
Fechas ................................................................................................. 74
Mes, ao .............................................................................................. 75
Mximos, mnimos y sumatorias.......................................................... 76
Sumatoria ............................................................................................ 76
CAPTULO 10.
Algunos cdigos de estadstica.................................................................. 79
Proc glm ......................................................................................................... 80
Proc mixed...................................................................................................... 84
Proc univariate ............................................................................................... 84
Prog reg.......................................................................................................... 89
Para seleccionar el modelo de regresin mltiple ms adecuado.................. 92
Proc corr ......................................................................................................... 93
Proc glm para anlisis de varianza multivariado............................................. 94
Otras ordenes bsicas.................................................................................... 95
Where en proc means ....................................................................... 95
Proc boxplot ......................................................................................... 95
Prueba de Chi-cuadrada en proc freq.................................................. 95
CAPTULO 11
Algunos cdigos de diseos experimentales............................................ 97
1. Diseo completamente al azar ................................................................... 97
2. Comparacin de tratamientos..................................................................... 98
3. Comparaciones mltiples ........................................................................... 99
4. Diseo de bloques completos al azar ......................................................... 99
5. Diseo de bloques al azar generalizados ................................................. 100
6. Diseo de bloques incompletos, incluyendo el diseo de bloques
completos al azar con observaciones perdidas ........................................ 100
7. Diseo de cuadro latino ............................................................................ 101
8. Diseo de cuadro latino con repeticiones ................................................. 101
9. Diseo de parcelas divididas (ejemplos) .................................................. 101
RECONOCIMIENTO
CRDITOS EDITORIALES
DIRECTORIO INSTITUCIONAL
Pg.
NDICE DE CUADROS
Pg.
Por qu SAS?
En sus inicios, el programa SAS llevaba ese nombre por ser las siglas de
Statistical Analysis System (Sistema de Anlisis Estadsticos). Sin embargo,
actualmente SAS incluye toda una familia de programas, por ejemplo, para anlisis
financieros y para manejo de datos sociales (entre muchos otros), y SAS/STAT es
slo uno ms entre sus mltiples funciones, de manera que el nombre SAS es
ahora slo un nombre, sin que tenga un significado especfico. El presente manual se
refiere a algunas funciones bsicas de SAS/STAT, con mayor probabilidad de
utilizarse en investigacin en las ciencias agropecuarias.
Con frecuencia, a las rdenes que se escriben para que SAS ejecute un
procedimiento, se les llama programas o cdigos (la palabra que se utilizar con
ms frecuencia ser cdigo). Hay varias maneras de obtener un mismo resultado
usando SAS, pero en general, se mencionar una sola forma, para que sirva ms
como una gua que como una fuente de confusin.
Esta obra dista mucho de ser un manual completo de SAS. Existen literalmente
cientos de libros, y an ms sitios en Internet dedicados al uso de este poderoso
programa. Sin embargo, esperamos que el contenido del escrito sea de utilidad a
todos los lectores.
Una vez adquirida la licencia, usted tendr, ya sea un enlace para bajar el programa,
o un nmero variable de CDs que contienen el programa de SAS, dependiendo de
la versin, y del tipo de licencia que haya adquirido. La ms bsica, generalmente, es
suficiente para trabajar en todo lo relacionado con la investigacin en ciencias
biolgicas, agropecuarias y forestales. Uno de los CDs vendr marcado como el
apropiado para iniciar la instalacin. Slo hay que introducirlo en la PC y seguir los
pasos que se vayan indicando.
El SAS es un programa grande que requiere al menos de Windows 98, con mnimo
de 10 GB de capacidad en disco duro y RAM de 512, de manera que en cualquier
computadora actualmente puede instalarse el programa SAS. Se debe tomar en
cuenta que la instalacin puede tardar varios minutos. Una de las opciones de
instalacin es el idioma en que se desea trabajar en SAS. Sin embargo, sin
importar que idioma se elija, todas las instrucciones que se escriban para SAS y la
mayora de la informacin que se obtiene de la ventana del Log deben y van a estar
en ingls. Por lo anterior, y tambin para traducir ciertas opciones, el contenido de
esta obra har referencia a la versin en ingls del programa.
Al abrir SAS, se pueden ver varias ventanas y un men (Figura 1). Las ventanas
ms importantes son la del contenido, la del Editor (o Enhanced Editor), la del
Log, y la del Output; esta ltima, detrs de las dos anteriores. En algunas
versiones, al abrir SAS aparece una ventana que ofrece tutoras en el uso del
programa, en diversos niveles de complejidad a escoger. El usuario puede decidir
abrir la ventana y aprovechar estas lecciones o cerrar la ventana e iniciar
directamente con el trabajo en SAS. El ambiente de SAS, es decir, todo el
conjunto de ventanas, puede encontrarse ya maximizado, o estar minimizado, al
momento de iniciar la sesin. En la esquina extremo derecha se encuentran los
smbolos para cerrar, minimizar y para maximizar el programa. Si se oprime el de
cerrar, el programa pregunta: Are you sure you want to end the SAS session?
(Est usted seguro de que quiere cerrar la sesin de SAS?). Si se oprime Yes
(s), entonces, le preguntar, en ingls, si quiere guardar los cambios, y despus de
guardarlos, o de que se le indique que no se desea guardar nada, slo entonces, se
cierra el programa.
Figura 1. Ambiente de trabajo de SAS tal como aparece al abrir el programa (despus
de oprimir el icono con el logotipo de SAS). La ventana de Log es en donde se
encuentran las letras azules. La ventana del Editor se encuentra debajo de la del
Log, y la ventana del Output est detrs de las dos anteriores.
b) La ventana del Log (ver Figura 1), que se encuentra arriba al abrir SAS, tiene
informacin del copyright, de a quien pertenece la licencia de ese programa en
particular, y detalles del uso de los recursos de la computadora en el programa
SAS.
Una vez trabajando, en Log van a aparecer los reportes del resultado del
programa o cdigo, incluyendo una copia del cdigo usado, el nmero de
observaciones ledas, los errores, si los hubiese, algunas veces con sus
correspondientes sugerencias de correccin, y el tiempo utilizado en la ejecucin
del programa. En esta ventana tambin aparece la advertencia cuando la licencia
de SAS est a punto de vencerse, y alerta de que despus de la expiracin, no se
podr utilizar el programa.
c) La ventana del Editor (es la ventana de abajo), es donde se escriben los cdigos
y programas o se dan las instrucciones que se requiere sean ejecutadas. En las
ltimas versiones de SAS , que es a las que se refiere esta obra, el que se abre
por default es el Enhanced Editor, que es una versin mejorada del Editor. Es
muy til porque las instrucciones o cdigos que se escriben van en colores
Puede haber ms de una ventana del Editor abierta, cada una conteniendo
diferentes cdigos. Para hacer que un cdigo especfico se ejecute, primero de
marca o sombrea el cdigo utilizando el botn izquierdo del ratn, y luego
oprimiendo el icono de orden de correr (el icono de Run, como veremos). Si por
alguna razn, se cerrase(n) la(s) ventana(s) del Editor (o del Enhanced Editor),
y se deseara reabrirla(s), hay que hacer clic en View (una opcin en el men), y
seleccionar Enhanced Editor.
d) La ventana del Output se encuentra por default detrs de las de Log y del
Editor mientras no haya resultados que mostrar. Cuando se corre un programa
que genere resultados al Output, este se coloca por delante del Log y del
Editor automticamente. En esta ventana aparecen los resultados que se pueden
imprimir. Esto no significa que de esta ventana sea posible imprimir
directamente, sino que son resultados que aparecen, es decir, son impresos en
forma virtual. Hay muchos resultados que no necesariamente aparecen en el
Output, aunque muchos de ellos pueden solicitarse mediante un cdigo. La
manera que se sugiere aqu para imprimir los resultados a papel, es copiar el
contenido del Output, pegarlo en Word, efectuar las ediciones necesarias; por
ejemplo, cambiar color y tipo de letra, o cualquier otra edicin que se desee, y
finalmente, imprimir.
En ambiente Windows, las ventanas horizontales (es decir, todas, excepto la del
ambiente de SAS) pueden arrastrarse y moverse con el Mouse, y todas las
ventanas pueden abrirse o cerrarse, pero antes de cerrar la ltima ventana de
SAS, el programa pregunta si quieres cerrar la sesin. Al menos una ventana
debe permanecer abierta para continuar con el programa SAS en ejecucin.
Del men principal, que es una lista de ocho palabras (File, Edit, View, Tools,
Run, Solutions, Window, Help) que se encuentra horizontalmente al extremo
izquierdo de la pantalla de SAS, quiero resaltar el uso de View. Si se oprime
View, se abre el men con el cual se pueden acceder todas las ventanas de
SAS, como se observa en la Figura 2, y si se selecciona Contents only, aparece
el contenido de Libraries, los archiveros.
Figura 2. Men que se abre al oprimir la opcin View del men principal.
Escribir instrucciones u oprimir los dibujos da los mismos resultados, por lo que se
recomienda utilizar los dibujos. Los dibujos del men son prcticamente iguales a los
de los programas de Microsoft Word Excel, etc. Incluyen, entre otros:
1. Documento nuevo
2. Abrir archivos
3. Guardar archivos
3. Imprimir
4. Copiar
5. Cortar
6. Pegar
Todos stos son muy tiles para guardar o modificar cdigos, pero no se van a
discutir aqu, pues es obvio su uso, como en el editor de textos Word.
Exclusivos de SAS son los comandos de ejecutar o correr programa (Run), crear
un archivo nuevo, ver la ventana del Explorer, y ayuda de SAS. El usuario deber
explorar poco a poco todas estas opciones. Slo algunas de ellas, las ms
esenciales, se tratarn aqu.
Para tener un lugar especfico donde guardar las bases de datos permanentes para
utilizarse en SAS, se utiliza el comando de creacin de archiveros, cuyo dibujo de
enlace es un archivero amarillo con una estrella azul arriba. Al oprimir este enlace, se
abre una ventana o pantalla como la que se muestra en la Figura 3.
Figura 3. Ventana que se abre al oprimir el icono de creacin de archivero nuevo (el
dibujo del archivero amarillo con una estrella azul).
1. Abrir SAS y oprimir el dibujo de creacin de archivero nuevo (el dibujo del
archivero amarillo, con su estrella azul), va a salir una pantalla como en la
Figura 3.
7. Oprimir Ok
En este captulo vamos a ver como crear una base de datos, en este caso, temporal
(la opcin b de la lista anterior). Una ligera modificacin al cdigo, indicndole a
SAS donde guardar los datos (un archivero diferente de WORK), da la orden de
convertir la base de datos a permanente.
Los archiveros que se crean como se describi en el captulo anterior, sirven para
guardar las bases de datos en forma permanente (aunque tanto los archivos como
los archiveros se pueden borrar en el momento que se desee, con Delete). Sin
embargo, con frecuencia la base de datos es pequea y no se requiere guardarla en
SAS. Es posible que ya se encuentre en algn otro programa, en Excel, por
ejemplo, y que no se desee tener la informacin repetida, o que sea preciso
actualizar la informacin peridicamente, lo cual quiz resulte ms fcil hacer en
Excel que en SAS. En SAS no se puede modificar directamente la informacin
en las bases de datos; es decir, si en una celda se encuentra el nmero 3.001, por
ejemplo, y el nmero est mal, no se puede llegar a ese nmero en particular con el
cursor, ni mediante algn otro artificio, y modificarlo directamente. Se puede, sin
Si en el men (la lnea que contiene las palabras: File, Edit, View, Tools, Run, etc.)
se oprime View y despus se selecciona Contents only, aparece a la izquierda (si
no es que ya estaba ah mismo, pues por default al abrir SAS aparece esta ventana
vertical) el dibujo de un archivero amarillo (Libraries). Si se oprime este enlace
aparecen los archiveros que se tienen. SAS incluye dos archiveros: SASUSER y
WORK. Nos ocuparemos nicamente del archivero WORK. En WORK se
guardan todas las bases de datos a las cuales no se les haya indicado en que
archivero van. Mientras est en proceso la sesin de SAS , las bases de datos
estn disponibles y pueden ser vistas al abrir el archivero WORK (slo se da clic en
WORK, y despus en la base de datos que se desee ver).
/ comentario / o comentario;
Enhanced Editor
Para este ejemplo se va a crear una base de datos. Se debe escribir todo lo que
sigue exactamente como aparece aqu, en la ventana del Editor. O se puede
escribir en Word y despus copiar a la ventana del Editor.
Ejemplo de cdigo para crear una base de datos escrita en SAS (Figura 4):
DATA ejemplo;
INPUT rana tam salto;
CARDS;
1 1 16
2 2 18
3 3 17
4 1 12
5 2 17
6 3 21
7 1 15
8 2 16
9 3 17
;
tamao 1= chico, tamao 2 = mediano, tamao 3 = grande;
Run;
En este caso, se observa que aparece un mensaje en la ventana del Log, como
puede verse en la Figura 5 (la ventana del Log se hizo un poco ms grande
utilizando el ratn, para que se vea todo el contenido, para propsitos de este
ejemplo); el contenido del Log se reproduce a continuacin, para facilitar su lectura:
79 DATA ejemplo;
80 INPUT rana tam salto;
81
82 *tamao 1= chico, tamao 2 = mediano, tamao 3 = grande;
Se observa que:
DATA ranas.ejemplo;
INPUT rana tam salto;
CARDS;
1 1 16
2 2 18
etc.
Para ver la base de datos o archivo (Figura 6), primero se abre la ventana de
Libraries (si la ventana del SAS Environment se encuentra cerrada, el proceso es
oprimir View, y despus Contents Only, para que se abra Libraries) y se hace
Para ver los datos del archivo, se hace clic sobre el mismo (Figuras 6 y 7). Se
pueden tener abiertas simultneamente dos o ms bases de datos, pero es preciso
cerrarlas antes de que se ejecute un cdigo. Es preferible abrir las bases de datos
una por una, e irlas cerrando despus de verlas, para no olvidar cerrar alguna antes
de dar la instruccin de Run.
Figura 7. Los datos abiertos del archivo Ejemplo que se encuentra dentro del
archivero WORK.
Para guardar el cdigo (todo lo que escribimos; en este ejemplo, desde DATA hasta
RUN;) se deber abrir el men File, y seleccionar Save As (Figura 8). Luego se le
da un nombre al cdigo y se elige la carpeta donde queramos que se guarde (Figura
9), o bien, se puede crear una carpeta, tal como se hace en el programa Word.
Figura 9. Pantalla para dar nombre al cdigo de SAS que se desee guardar.
Prcticamente no hay lmite para el tamao de las bases de datos que se guarden en
SAS. El lmite es el tamao del disco duro de la computadora. Por supuesto, para
bases de datos muy grandes, los procesos del programa pueden tardar minutos,
horas, o hasta das. Generalmente, esto sucede slo cuando se manejan datos de
poblaciones muy grandes, como por ejemplo, datos de los habitantes de pases
enteros. En ciencias agropecuarias, puede haber bases de datos muy grandes en
anlisis genticos, pero, para la mayora de la investigacin en agronoma y ciencia
animal, las bases de datos no son muy grandes, y el programa corre en fracciones
de segundo.
Los cdigos guardados pueden encontrarse a travs del dibujo del flder amarillo
abierto, o con File, y luego Open. Cuando se abre un cdigo que se encuentra
guardado, se abre en el Editor, por lo tanto, para ejecutarlo, basta oprimir Run; y
se ejecutarn todos los cdigos guardados, en el orden de aparicin en el Editor.
Por supuesto, si se desea ejecutar uno solo de una serie de cdigos, basta con
sombrearlo y luego oprimir Run;.
Por lo anterior, cuando un programa no corra bien, primero hay que verificar que:
1. No se haya olvidado una ;
2. Todas las palabras estn correctamente escritas, y
3. El orden de las palabras en los programas cdigos.
DATA run;
INPUT rana tamao salto;
CARDS; Tambin puede escribirse DATALINES;
1 1 16
2 2 18
3 3 17
4 1 12
5 2 17
6 3 21
7 1 15
8 2 16
9 3 17
;
tamao 1= chico, tamao 2 = mediano; tamao 3 = grande;
Run;
Para algunos casos de manejo o de anlisis de datos, quiz sea preferible utilizar
cdigos ya hechos con anterioridad, como una receta de cocina, que NO se debe
variar, excepto para cambiar nombres de variables, de base de datos y de archivos.
Recomendacin
Cuando se manejan datos, especialmente cuando las bases de datos tienen muchas
observaciones y/o variables (miles o millones), a veces es necesario o aconsejable,
inventar una pequea base de datos, correrla con el cdigo que est a prueba,
verificar que el cdigo est haciendo lo que se desea, y luego cambiar el nombre de
la base de datos con la que verdaderamente se quiere trabajar. Tambin se
recomienda, antes de manejar los datos, hacer una copia de la base de datos
original, y luego manejar la copia, para que si hubiese algn problema, se tenga un
respaldo.
Si los cdigos son muy largos, pueden escribirse primero en Word y luego cortar y
pegar en el Editor de SAS. Sin embargo, es preferible hacer cdigos sencillos y
cortos, y primero correrlos en archivos de prueba, que sirvan exclusivamente para
verificar que los programas realicen lo que se espera que hagan. Una vez que el
programa corri con el archivo de prueba, se modifica la parte del cdigo que se
refiere a que archivo debe leer SAS, y se le escriben los comentarios apropiados.
Para utilizar una opcin, escriba la palabra OPTIONS como parte del cdigo de SAS,
i.e.
Las opciones se pueden poner en la primera lnea que se escriba, pero puede estar
en cualquier lugar del cdigo, excepto en medio del mismo. Si se escribe otra opcin
despus, se cancelan las primeras.
La base de datos
Los archivos de datos en SAS tienen una estructura bien definida: las variables se
encuentran en columnas (de hecho, a veces se les llama columnas), mientras que
las observaciones estn en hileras, en forma parecida a las tablas de Excel, como
se vio en el ejemplo de las ranas. Sin embargo, se pueden inter convertir las hileras
en columnas con proc transpose (que no se va a tratar en esta obra). En caso de
que se requiriese efectuar este tipo de manipulacin de los datos, se recomienda
utilizar Excel. Esto puede hacerse exportando los datos de SAS hacia Excel
(tambin utilizando la funcin del Wizard, como se ver despus para la
importacin de datos de Excel hacia SAS), efectuar el manejo que se desee en
los datos, y reimportando a SAS, o bien, manipulando los datos originales desde el
principio en Excel. Sin embargo, en este caso (y siempre), se debe cuidar que
todas las celdas de Excel tengan el formato correcto; es decir, que no vaya a haber
un formato de texto donde debera haber un formato de fecha, o un formato de
moneda donde deba ser de nmero, etc. Cuando esto sucede, parte de la
informacin se va a transferir a SAS en forma incorrecta o simplemente no se va a
transferir, ya sea toda, o parte de la tabla de Excel.
2. Hacer que los nombres de las columnas (variables) tengan ocho o menos
letras y que no contengan espacios, guiones, puntos, etc. etc. El nombre debe
empezar con una letra, y se pueden incluir nmeros y guin bajo.
3. Que en los datos perdidos (inexistentes en esta base de datos) haya espacio
en blanco, no puntos, ni ceros.
4. Que si hubiera alguna fecha (no en este caso) fuera seguro que el formato de
celda en Excel, es de Fecha.
6. Eliminar las unidades de medida. Slo deben quedar los nombres de las
variables y las variables.
Algunos programadores prefieren guardar sus bases de datos ya listas para ser
exportadas a SAS, en formato CSV (comma delimited). Todas las instrucciones que
siguen son vlidas para esta opcin, nicamente se elige, en lugar de Excel, CSV,
y todo lo dems se hace exactamente igual.
Figura 10. Archivo de datos de Excel editado para ser exportado a SAS.
Figura 12. Seleccin del programa de donde se van a importar datos a SAS.
Una razn por la que se suelen exportar los datos de SAS a Excel, es porque las
grficas en Excel son ms atractivas y fciles de hacer. El procedimiento es
prcticamente el mismo (en reversa) que para importar utilizando el Wizard (Figuras
19 a 22).
Por ejemplo. Supongamos que tenemos una pequea base de datos en SAS y que
tenemos una base de datos ms grande en Excel. Para unir esas bases de datos
podemos:
Aparece una nueva ventana; ah, debajo de Choose the source SAS dataset
(seleccione la base de datos de origen), en donde dice Library: seleccionar EJS, y
en donde dice: Member, seleccione el archivo llamado Exportar, y luego haga clic
en Next:
Dejamos los defaults, que incluyen exportar a Excel y damos clic en Next.
Entonces se abre la ventana que sirve para buscar la carpeta de Excel (haciendo
clic en Browse) en donde vamos a guardar la base de datos que queremos
exportar. En este caso, la carpeta se llama Curso de SAS. Al archivo le nombramos
Masdatos, y finalmente, damos clic en Guardar.
Para que SAS sepa que hacer con una base de datos hay que especificar: que tiene
que ir a donde, o que tiene que venir de donde.
Se puede utilizar la orden PUT para exportar o INPUT para importar. En estos casos
es muy importante saber si los datos van a ser exclusivamente numricos o si van a
contener otros caracteres.
Los datos numricos contienen slo nmeros. Los nmeros pueden ser positivos o
negativos, y contener decimales. Se pueden realizar operaciones matemticas con
ellos, como sumas, restas, y todas las dems.
Por ejemplo, la identificacin de animales (ID) puede contener slo nmeros: 00001,
y a veces nmeros y letras: 0001ENE_04, si se desea informar, por ejemplo, que es
el primer animal o animal 1, y que naci en enero de 2004, o puede ser:
01HO_Ene05, para informar que fue el primer nacimiento, que fue Holstein, y que
naci en enero de 2005. Por supuesto, esto es un ejemplo, pues la identificacin de
SAS lee primero algunas observaciones de cada columna para decidir el formato
de toda la columna. Si no se especifica en el cdigo que la variable a importar es de
carcter, y no aparece un carcter en las primeras lneas de datos, SAS va a
suponer que es numrica, pues es el default, y todas las observaciones que
contengan algo ms que nmeros, se van a considerar datos perdidos. Para pedirle
a SAS que una variable sea considerada de tipo carcter, al nombre de la variable, le
debe seguir un signo $.
Como puede verse, no importa que las columnas de datos de las variables (ID y
peso) estn alineadas, y ntese que en las observaciones y hasta en el cdigo, se
pueden entremezclar letras y nmeros, y maysculas y minsculas. Sin embargo, es
mejor guardar el mayor orden posible, pues adems de que cuando hay errores de
programacin y un programa no corre, es ms fcil encontrar los errores (o bugs,
Es importante sealar que los nombres de las variables deben contener menos de 32
carcteres (en la versin 7 y anteriores, slo se permita un mximo de ocho). Cada
nombre debe empezar con una letra o con un guin bajo. Los nombres de variables
tambin pueden incluir nmeros. Aqu vamos a restringirnos a nombres de ocho
En este captulo se resumen las maneras de hacer que SAS lea los datos que se
necesiten trabajar. Los mtodos ms usuales ya han sido cubiertos. Este captulo es
opcional. Puede pasarse al Captulo 8 sin ningn inconveniente.
Con esta opcin, los datos crudos (antes del anlisis) son parte del cdigo de SAS y
se escriben en el Editor.
El siguiente programa o cdigo con la orden DATA crea un archivo de datos llamado
ENCUESTA con 10 observaciones y siete variables. Las variables se llaman ID,
SEXO, EDAD, ING, R1, R2, y R3. Los datos corresponden a una encuesta en donde
ING significa los ingresos anuales totales, en miles, R1 a R3 son la calificacin con
que los individuos (ID) evaluaron a tres productos orgnicos que piensan lanzarse al
mercado. La palabra INPUT define a las variables que deben leerse en cada lnea de
datos. La palabra DATALINES le indica a SAS que el proceso de la palabra DATA ha
sido completado y que la siguiente lnea contiene datos reales. Ntese que las lneas
que contienen los datos no terminan en punto y coma. En lugar de la palabra
DATALINES se puede utilizar la palabra CARDS. Las dos son equivalentes. El punto
y coma antes de PROC PRINT es opcional, pero define mejor cuales son los datos.
Proc print se utiliza para que los datos aparezcan en el Output, de tal manera que
no sea necesario abrirlos desde su archivo para verlos, y para que puedan copiarse
a Word e imprimirse.
options nocenter;
DATA encuesta;
INPUT id sexo $ edad ing r1 r2 r3 ;
DATALINES;
1 F 35 17 7 2 2
La variable SEXO en la orden INPUT est seguida por un signo de dlar ($) para
indicar que esta variable es de carcter. Si no se especifica la instruccin, SAS
supone que las variables son numricas. Si entonces encuentra un carcter (una
letra o smbolo), le va a asignar un valor perdido (.) a esa observacin. Por ejemplo,
si se quita el signo de dlar, como se ve en el siguiente cdigo:
DATA encuesta;
INPUT id sexo edad ing r1 r2 r3 ;
DATALINES;
1 F 35 17 7 2 2
17 M 50 14 5 5 3
33 F 45 6 7 2 7
49 M 24 14 7 5 7
65 F 52 9 4 7 7
81 M 44 11 7 7 7
2 F 34 17 6 5 3
18 M 40 14 7 5 2
34 F 47 6 6 5 6
50 M 35 17 5 7 5
;
PROC PRINT; RUN;
A veces es til decirle a SAS exactamente donde encontrar el inicio y el final de una
observacin o columna. Por ejemplo, cuando los datos contienen una o ms
variables de carcter con diferentes longitudes o que contengan espacios. Por
ejemplo, se desea importar las variables llamadas nombre, edad, ciudad y estado de
una base de datos:
data ejem_dos;
input nombre $ 1-20 edad ciudad $ 29-37 estado $ ;
datalines;
Oliver Schabenberger 33 Lansing MI
Juan E. Domnguez 37 New York NY
;
run;
proc print data= estosdat; run;
Para la segunda observacin, SAS encuentra los carcteres 'New' y los asigna a la
variable CIUDAD suponiendo que el espacio entre 'New' y 'York' delimita a las dos
variables. Los carcteres 'York' son asignados a la siguiente variable de la orden
INPUT, que es ESTADO.
data XYZ;
input x y z;
datalines;
data XYZ;
input x y z @@;
datalines;
1 1 12.4 1 2 11.3 1 3 1.4
2 1 2.1 2 2 19.4
;
run;
Por el smbolo @@, SAS lee cada lnea de datos y va llenando las variables X, Y, y
Z en turno, y continuar llenando las variables hasta que llegue al final de la lnea.
Sin el smbolo @@, se habra pasado a la siguiente lnea tan pronto la ltima
variable estuviese llena, dejando fuera datos, como ocurri en el ejemplo anterior
cuando ley New y dej fuera York, y evit que el valor NY siquiera fuese ledo.
Algunas veces se puede obtener gran cantidad de datos que se encuentran escritos
en archivos ASCII, que generalmente tienen extensin TXT. Esto ocurre con editores
de texto, como el Notepad de Microsoft, o muchos otros, que sirven especficamente
para guardar datos (existen editores de texto que se pueden obtener gratis desde
Internet). Algunos programas, como C, C++, Fortran, y otros, requieren que la
informacin se encuentre en archivos de extensin TXT. Sin embargo, generalmente
Tambin es posible que los archivos que se deban analizar con SAS, de origen
vengan en archivos ASCII. Con frecuencia, trabajar con ese tipo de archivos es ms
conveniente que con archivos de hojas de clculo, porque los archivos ASCII ahorran
espacio, y a veces son preferibles cuando las variables contienen muchas
observaciones.
Hay dos formas para hacer que SAS lea un archivo ASCII utilizando la orden DATA:
una es usando slo la palabra INFILE y otra es con la palabra FILENAME ms la
palabra infile.
Infile
data readasc;
infile 'D:\investig\Toxina\Data2007\DO.txt';
input lugar rancho muestra DO;
run;
Filename
Si las columnas del archivo de ASCII no estn delimitadas por espacios (por ejemplo,
los archivos de MSExcel que se guardan como archivos de texto *.prn estn
delimitados por comas), se pueden aadir las opciones de delimitantes dentro de la
declaracin de INFILE. Por ejemplo, para especificar que los delimitantes entre
variables son comas, se escribe: delimiter = ,; tal como se ve a continuacin:
Muchos archivos contienen informacin del encabezado, que no debe ser parte de
los datos para SAS, como en el caso de los datos en el Apndice. Para saltarse
registros al principio del archivo, utilice la opcin FIRSTOBS= . Para leer nicamente
un nmero especfico de registros, utilice la opcin OBS = . Por ejemplo:
filename toxic 'D:\Investig\Toxina\Data2007\DO.txt';
data readasc;
infile toxic delimiter=',' firstobs=12 obs=100;
input lugar rancho muestra DO;
run;
A partir de este captulo, se dar una especie de lista de cdigos. Todos estos deben
de escribirse en la ventana del Editor, y hacer referencia a los archivos que se
deseen manejar o analizar.
A veces sucede que se tienen los datos revueltos, ya sea por haberlos capturado
poco a poco a travs del ao, y/o haber unido varias bases de datos ya una vez
guardados en SAS, o por cualquier otra causa. Tambin puede ser til ordenar o
reordenar las bases de datos por orden alfabtico o por fecha de captura o por
alguna caracterstica, como nmero de lactancia, etc., para revisar ms fcilmente
los datos. Por otra parte, ordenar es un paso indispensable antes de utilizar ciertas
rdenes, como merge (pgina 66), por ejemplo. Para reordenar los datos, se utiliza
la orden proc sort.
Proc sort
2. Para verificar la calidad de los datos y/o resumir informacin de los datos
crudos
Proc freq
Con Proc freq se obtienen frecuencias de las variables de inters. De esta manera,
se puede verificar que se tengan suficientes datos para un anlisis estadstico
confiable, adems de que se pueden ver algunas tendencias generales de los datos.
El cdigo de proc freq, que saca las frecuencias de las variables que se especifiquen,
a la ventana del Output, es:
TheFREQProcedure
CumulativeCumulative
mo_brthFrequencyPercentFrequencyPercent
1198556.83198556.83
25948520.457934027.27
38928630.6916862657.97
46178321.2423040979.21
53069910.5526110889.76
6122574.2127336593.97
742161.4527758195.42
813250.4627890695.88
913610.4728026796.35
1020200.6928228797.04
1133551.1528564298.19
1252541.81290896100.00
FrequencyMissing=26002
Si el archivo va a ser temporal, slo hay que poner un nombre; si se prefiere que se
guarde el archivo en forma permanente en SAS, entonces hay que indicar el
nombre del archivero en donde debe guardarse. Si, por ejemplo, el archivero se
llama: datos y el archivo queremos que se llame results, la orden sera:
out=datos.results.
Proc means
Con proc means es fcil constatar que los datos con que estamos trabajando estn
dentro de rangos razonables y que SAS est tomando los datos con el formato
correcto. Por ejemplo, si se han importado datos de Excel, en ocasiones una
columna que debera tener formato de nmeros, es importada con formato de texto
(o viceversa), y aun cuando fsicamente se pueda ver la tabla en SAS con nmeros,
es posible que tenga otro formato, y en este caso, de los datos de esa columna, no
se sacarn promedios.
Por ejemplo, supongamos que se tiene un archivo (temporal, pues no lleva el nombre
del archivero) llamado j, del cual queremos obtener informacin acerca de plantas
susceptibles a ser atacadas por plagas. Por razones de nuestra investigacin,
necesitamos que la informacin sea por especie de planta atacada y tipo de insecto
plaga. Se requieren estadstica descriptiva con los promedios, desviaciones
estndares y mximos, y mnimos de la cantidad de insectos (en cualquier estado de
evolucin) encontrados en un muestreo y de la edad de las plantas atacadas.
Sin embargo, para poder utilizar esta opcin de proc means, es necesario ordenar
los datos por las variables de las cuales pretendemos obtener informacin, de la
siguiente manera:
Ntese que existen ms variables (est la edad, que en este caso no interesa) que
las que se utilizan en la orden de proc means.
El output sera:
TheSASSystem1
especie=cedroinsecto=grillo
TheMEANSProcedure
AnalysisVariable:cantidad
NMeanStdDevMinimumMaximum
43.25000003.304037907.0000000
especie=cedroinsecto=palomill
AnalysisVariable:cantidad
NMeanStdDevMinimumMaximum
48.75000005.85235002.000000015.0000000
especie=robleinsecto=grillo
AnalysisVariable:cantidad
NMeanStdDevMinimumMaximum
43.50000001.29099442.00000005.0000000
especie=robleinsecto=palomill
AnalysisVariable:cantidad
NMeanStdDevMinimumMaximum
45.25000002.21735583.00000008.00000004
El siguiente cdigo ordena que los datos, una vez que hayan sido ordenados por ID,
se guarden en un archivo llamado lactone, y no permite que haya observaciones
repetidas por la variable ID.
A veces conviene modificar un archivo; por ejemplo para efectuar algn anlisis, o
para obtener datos derivados de los originales, o para tener archivos separados
segn su contenido. En esta seccin se ofrecen algunas opciones para lograr lo
anterior.
Drop
data nuevo_nombre;
set nombre_anterior;
run;
Si es ms fcil instruir a SAS acerca de las variables que deban quedarse, en vez
de decirle cuales debe eliminar, entonces se puede utilizar la orden keep,
exactamente igual que drop:
Por ejemplo, de una base de datos grande, llamada vacas.hol que tiene muchas
variables y todas las lactancias de las vacas, queremos hacer un anlisis nicamente
de la primera lactancia, y en el nuevo archivo queremos incluir slo las variables id
(la identificacin) breed (la raza) herdid (el hato) y lactno (el nmero de lactancia).
Esta nueva base de datos queremos que se llame new. Entonces escribimos en el
Editor:
Rename
Esta orden le cambia el nombre a una variable. Por ejemplo: en el archivo new
(recuerde: nada de acentos ni espacios ni smbolos en ningn nombre que se utilice
en SAS), queremos renombrar algunas variables. Queremos que sus nombres
ahora estn en espaol en vez de en ingls. Especficamente queremos que en vez
de breed, la variable se llame raza, en lugar de milk, que sea leche, y en vez
de fat, sea grasa. Por precaucin, primero copiamos la base de datos a otro
archivo, al que llamamos new2. La orden requiere que se escriba:
rename=(variable_antigua=variable_nueva).
En consecuencia, sto es lo que escribimos:
Recuerde!
Tenga cuidado en la escritura del cdigo, o mejor haga un archivo temporal, y si los
resultados son los esperados, entonces . y slo entonces, haga un archivo
permanente llamado, por ejemplo, analisis.new (o como realmente sea). Otro
ejemplo:
Por ejemplo, se tiene el dato del promedio semanal de produccin de leche de unas
vacas, y en vez de eso, se desea obtener el total de leche producida en esa semana.
Como para sacar el promedio, lo que se hizo fue sumar las producciones de la
semana y despus, dividir entre siete, se tiene que hacer la operacin contraria, es
decir, multiplicar el promedio por siete. Esa operacin se hace de la siguiente manera
en el archivo vacas.leche:
Data vacas.leche;
set vacas.leche;
LechAcum = promsem*7;
Run;
Vaca promsem
1 23.5
2 27.2
3 25.9
pas = 52
ciudad = 12
apiario = 01
colmena = 25
cosecha = 01
Existen bsicamente dos formas de unir datos: aadir las hileras de una base a las
de otra (s), o aadir las columnas de una base de datos a las de otra(s).
En el primer caso, se utiliza la orden set, parecido a como ya se vio antes para
hacer una base de datos igual a otra, pero con otro nombre (recuerdas? es: data
new; set old; run;).
Set
Por ejemplo, se tienen tres bases de datos para un estudio de eficiencia econmica
de la utilizacin de tres tipos contrastantes de plantaciones forrajeras: una de maz,
otra de sorgo, y otra de una leguminosa. Las bases se encuentran en el archivero
Efic, y para su anlisis, se desea unirlas. Lo ms lgico es unir sus hileras, es decir,
que quede la informacin de maz bajo (o encima ) de la de sorgo y de la
leguminosa.
Esta orden sirve para unir dos o ms bases de datos para formar un solo archivo que
contenga las variables de las bases de datos originales, es decir, se unen o
combinan columnas, de manera que la nueva base de datos tenga ms variables.
En muchos casos se necesita unir columnas de una serie de bases de datos. Esto
ocurre, por ejemplo, cuando se estn efectuando estudios con mediciones repetidas,
y cuyas bases de datos se van colectando en forma separada por fecha. Si cada
individuo que se mide, digamos.. cada mes, o cada ao, etc. tiene un nmero de
identificacin, lo ms lgico es que las bases de datos de las diferentes fechas se
vayan uniendo por el nmero de identificacin.
Por ejemplo, en un estudio de crecimiento de rboles, stos fueron medidos una vez
cada seis meses durante dos aos (cuatro medidas). Los datos de cada da de
medicin fueron guardados en archivos permanentes llamados, respectivamente:
medida.primera, medida.segunda, medida.tercera, y medida.cuarta. Ahora es preciso
analizar las cuatro bases de datos juntas, para lo cual, se va a formar el archivo
todos_datos:
Sin embargo, primero es necesario que cada una de las bases de datos del archivero
medida (primera segunda tercera y cuarta) se ordenen por la variable a unir, que es
id_arbol. Primero hay que escribir, para cada una de las bases de datos:
Si se dejan exactamente los mismos nombres en los cuatro archivos, al final se van a
tener los datos nicamente del ltimo archivo aadido cuando los datos
correspondan a la misma observacin, como se ve en la Figura 24.
data join;
merge check check2;
by id; run;
La orden Merge puede utilizarse para filtrar datos. Por ejemplo, supongamos que
nos llegan los datos productivos y reproductivos de cabras lecheras de toda una
regin. Sin embargo, en un archivo aparte tenemos datos de pedigr de cabras en
donde se indican quienes fueron sus padres y madres. Es preciso que formemos una
base de datos que incluya slo a las cabras que tengan tanto los registros
productivos y reproductivos, como informacin de pedigr, es decir, cabras que se
encuentren tanto en el primero como en el segundo archivo.
Otras opciones de las condiciones de unin (and, or) podran ser, por ejemplo:
If a and NOT b, es decir, que estn en la base de datos a, pero no en la b;
If b and NOT a, es decir, que estn en la base de datos b, pero no en la a;
if a, es decir, la condicin es que todos los datos del archivo a estn presentes;
if a or b, que estn los datos de a de b. Con frecuencia no es necesario utilizar
or porque es el default.
Los condicionantes
Ifthen
Esta es una orden que sirve para indicarle a SAS que, si se cumple una condicin
en los datos de alguna variable, tiene que actuar de tal o cual forma. Algunos
ejemplos de acciones, podran ser: If..algothen:
Delete (entonces borra)
Output (entonces expnlo, mustralo)
(alguna operacin matemtica, crear una variable, o lo que se necesite).
Por ejemplo, supongamos que estamos editando una base de datos de borregos
australianos. La base de datos es demasiado grande como para verificar si todos y
cada uno de los animales tiene identificacin. Podemos en este caso utilizar la orden
ifthen. Como siempre, primero creamos un archivo de prueba, y si todo sale bien,
entonces, y slo entonces, haremos un archivo permanente:
Data=id_only; *nuestro archivo de prueba;
set austr.allsheep; *el archivo original;
if id = '.' then delete; *si no tiene id, entonces borra;
run;
o, alternativamente:
Data=id_only; *nuestro archivo de prueba;
set austr.allsheep; *el archivo original;
if id NE '.' then output; *si tiene id, puesto que NO es Igual a . (NE
es NOT EQUAL TO) entonces muestra los datos;
run;
= es igual a
NE no es igual a
> es mayor que slo para nmeros
< es menor que.slo para nmeros
Por ejemplo, queremos que de un archivo que tiene datos de vacas Holstein y
Jersey, slo nos quedemos con vacas Jersey, que estn codificadas como "JE:
data jerseys;
set milk.allcows;
if breed='JE' then output; *Conviene resaltar la orden con espacio;
*Notese que JE tiene comillas, porque no es un numero sino una variable de
caracter;
run;
De esta manera tendremos una base de datos (primero temporal, en jerseys, que
despus podremos convertir a permanente) con los datos nicamente de las vacas
Jersey.
Ahora supongamos que para algunas vacas no tenemos el dato Edad al parto, que
vamos a codificar como EP, pero tenemos los das en lactancia, la fecha de
nacimiento y la fecha en la que se realiz la evaluacin de las vacas, es decir, la
fecha del muestreo
Los das en lactancia son los que han transcurrido desde el parto, lgicamente. La
edad de la vaca es, naturalmente, la fecha de muestro menos la fecha de nacimiento.
En consecuencia:
Else if then
Cuando se tienen varias condiciones que realizar sobre una misma variables, es
preferible utilizar la opcin else if.then, en lugar de nicamente if..then.
Por ejemplo. Supongamos que esta vez queremos aadir la variable season
(estacin del ao) a unos datos que vamos a analizar. Tenemos los meses de
nacimiento de las vacas (variable llamada MONTH). La variable MONTH est
codificada con nmeros, que corresponden a 1 es enero, 2 es febrero, , 12 es
diciembre.
Con los datos anteriores queremos formar la variable season, de tal manera que el
nmero 1 sea primavera, el 2, verano, el 3, otoo, y el 4, invierno.
NOTA: Es ms sencillo manejar datos cuando todas, o casi todas las variables sean
numricas o estn codificadas con nmeros, en lugar de utilizar nombres.
Por ejemplo, suponemos que queremos una base de datos con todos los borregos
australianos que tengan tanto la identificacin de su padre (SIRE), como la de su
madre (DAM). Un ejemplo de cdigo, sera:
Data= pedigree;
Set austr.allsheep;
If SIRE NE . and DAM NE . then output;
Run;
Data cabras;
Set milk.cabras;
FORMAT fechnac MMDDYY8.;
FORMAT f_parto MMDDYY8.;
run;
Mes, ao. En algunas ocasiones se tienen las fechas, pero es conveniente extraerle
el ao y/o el mes. Existen muchas causas por las que esto puede ser importante en
las ciencias agropecuarias. Por ejemplo, el componente hato - ao de nacimiento -
estacin de nacimiento (llamado herd-year-season o hys en ingls) es casi
indispensable como parte de los modelos de evaluaciones genticas en ganado,
porque es lo que da el componente de contemporaneidad. Para poder crear esta
variable de hys, con frecuencia se tienen que formar las estaciones a partir de los
meses, y extraer los aos a partir de las fechas de nacimiento del ganado.
Data cabras;
Set milk.cabras;
Anho = YEAR(fechnac);
Mo = MONTH(fechnac);
run;
Y listo!
Sumatoria. Por ejemplo, imaginemos que tenemos los datos de pesos de leche
producida por unas borregas y quisiramos conocer el total de la leche producida en
la lactancia.
Los datos de los pesos de la leche se llaman leche1 leche2leche n . Slo para
ilustracin, voy a utilizar slo dos das de la lactancia, a los que voy a llamar b y c.
Un cdigo podra ser:
data look;
input id b c;
cards;
1 2 5
2 2 .
3 2 8
;
run;
data check;
set look;
add = SUM(of b,c);
run;
Mximos. Ahora supongamos que hay hembras que se tienen que inseminar
muchas veces para quedar preadas. El archivo es una coleccin de fechas
peridicas de muestreo y en algunas fechas, el nmero de veces que se reporta que
la hembra ha sido inseminada, aumenta, porque no qued cargada la vez anterior.
Una vez que la hembra queda cargada, se reporta cuantas veces fue inseminada y la
data ej;
set ejemplo;
maxIns = MAX(of insem1, insem2, insem3, insem4);
run;
Recomendaciones finales
5. Hay casi una infinidad de sitios web que te pueden ayudar a resolver
dudas de cmo efectuar algn trabajo en SAS. Sin embargo, la mayora estn
en ingls, pero no hay que desanimarse. Si no sabe ingls, busque de todas
maneras, pues los sitios en espaol son cada vez ms comunes.
SAS ofrece una variedad enorme de procedimientos estadsticos para ser utilizada
en todo tipo de investigacin aplicada, como la que generalmente se requiere en las
ciencias agropecuarias. La gama cubre desde anlisis categrico, multivariado, de
modelos de riesgo o sobrevivencia, regresin, anlisis de modelos mixtos, pruebas
no paramtricas, apoyo para simulaciones, y mucho ms. Constantemente se hacen
mejoras a los programas.
Cada uno de los procedimientos tiene un respaldo terico muy extenso, y su buen
uso requiere un profundo entendimiento de las bases y de los mbitos de aplicacin
correctos. Las bases son generales, y son: aleatorizacin, control del error (por
homogenizacin y/o bloqueo) y multiplicidad de repeticiones. Estos u otros conceptos
no van a ser explicados aqu; simplemente se mencionan para tratar de hacer
conciencia de la responsabilidad que le compete al usuario de un programa de
anlisis estadstico. Tampoco se van a explicar los reportes (el contenido del
Output) que se obtienen cuando se ofrece la presentacin de alguna corrida de un
ejemplo de cdigo. La razn es porque slo aquel que ya sabe que es lo que
significan, podr apreciar su valor y es quien deber/va a usarlos de todas maneras.
Proc glm
La orden CLASS se usa para designar las variables que son factores en el modelo.
Las variables en CLASS pueden ser numricas o clasificatorias. Si no se incluye
CLASS, PROC GLM supondr que las variables independientes designadas en
MODEL son numricas y calcular un modelo de regresin en lugar de un modelo de
ANOVA.
La orden MODEL tiene la forma: variable dependiente = factor(es), que son sinnimo
de variables clasificatorias, de variables independientes, o de efectos.
Un cdigo de glm debe contener el nombre del archivo a analizar (DATA), el modelo
con el que se va a analizar (MODEL) y la orden de ejecutar el programa (RUN). El
cdigo de glm puede contener otras instrucciones, por ejemplo:
Una vez ms, PROC GLM para datos balanceados, en forma general:
PROC GLM data = base_de_datos;
CLASS variables;
MODEL variable dependiente = variables independientes;
MEANS efectos /opciones; *Ver Cuadro 1;
ESTIMATE efectos/ opciones;
RUN; *En lugar de Estimate se puede pedir CONTRAST;
Data ejemplo;
input y factor $;
cards;
3 bajo
4 bajo
4 bajo
5 bajo
6 medio
7 medio
4 medio
3 alto
3 alto
6 alto
;
run;
proc glm;
class factor;
model y = factor;
estimate 1 0 -1;
run;
Proc univariate
Para estadsticas descriptivas: rango y percentiles, con o sin grfica. El cdigo es:
Para ilustrar el tipo de datos que se obtienen con un proc univariate simple, vamos a
pedir esta opcin para la siguiente base de datos:
DATA ST4;
INPUT LGT OTHER PCM PDM ACTUAL;
DATALINES;
350 400 1516.8 5.0 656
850 800 2266.6 8.0 1382
1200 1100 2189.2 9.0 1666
1700 1600 2773.4 13.0 2392
2900 2800 3535.8 18.5 3901
450 500 1402.4 5.0 293
600 600 1673.0 7.5 1019
900 800 2146.6 9.0 1746
1600 1500 2243.2 10.5 2216
2000 1800 3128.0 18.0 3829
400 400 1543.2 4.5 536
750 650 1847.8 7.0 1382
TheUNIVARIATEProcedure
Variable:LGT
Moments
N30SumWeights30
Mean1395SumObservations41850
StdDeviation871.71551Variance759887.931
Skewness0.68529167Kurtosis0.6015925
UncorrectedSS80417500CorrectedSS22036750
CoeffVariation62.4885671StdErrorMean159.15275
BasicStatisticalMeasures
LocationVariability
Mean1395.000StdDeviation871.71551
Median1200.000Variance759888
Mode400.000Range2850
InterquartileRange1100
TestsforLocation:Mu0=0
TestStatisticpValue
Student'stt8.765164Pr>|t|<.0001
SignM15Pr>=|M|<.0001
SignedRankS232.5Pr>=|S|<.0001
Quantiles(Definition5)
QuantileEstimate
TheUNIVARIATEProcedure
Variable:LGT
ExtremeObservations
LowestHighest
ValueObsValueObs
3501280020
40026280025
4002129005
40011300015
4506320030
TheUNIVARIATEProcedure
Variable:OTHER
Moments
N30SumWeights30
Mean1315SumObservations39450
StdDeviation826.307741Variance682784.483
Skewness0.65415863Kurtosis0.649187
UncorrectedSS71677500CorrectedSS19800750
CoeffVariation62.8370906StdErrorMean150.862463
para la variable OTHER y lo mismo para cada una de las otras tres.
Ahora, se pide lo mismo, pero slo para una de las variables, y con diagrama:
proc univariate plot data=ST4;
var actual;
histogram / normal;
run;
El resultado es el siguiente:
TheUNIVARIATEProcedure
Variable:ACTUAL
Moments
BasicStatisticalMeasures
LocationVariability
Mean2173.433StdDeviation1358
Median1746.000Variance1845379
Mode1382.000Range5109
InterquartileRange2367
TestsforLocation:Mu0=0
TestStatisticpValue
Student'stt8.763228Pr>|t|<.0001
SignM15Pr>=|M|<.0001
SignedRankS232.5Pr>=|S|<.0001
Quantiles(Definition5)
QuantileEstimate
100%Max5402.0
99%5402.0
95%4552.0
90%4046.5
75%Q33386.0
50%Median1746.0
25%Q11019.0
10%636.0
5%536.0
1%293.0
0%Min293.0
TheSASSystem
TheUNIVARIATEProcedure
Variable:ACTUAL
ExtremeObservations
LowestHighest
ValueObsValueObs
2936382910
5361139015
61621419225
65626455230
6561540220
StemLeaf#Boxplot
541|
461|
421|
355894|
3442++
271||
NormalProbabilityPlot
5250+*++++
|*+++
|*+++
|***+*+
|**++
2750+++*+
|++****
|++***
|*****
|***++*
250+*+++
+++++++++++
210+1+2
TheSASSystem
TheUNIVARIATEProcedure
FittedDistributionforACTUAL
ParametersforNormalDistribution
ParameterSymbolEstimate
MeanMu2173.433
StdDevSigma1358.447
GoodnessofFitTestsforNormalDistribution
TestStatisticpValue
KolmogorovSmirnovD0.15681903Pr>D0.059
CramervonMisesWSq0.13565870Pr>WSq0.036
AndersonDarlingASq0.75871079Pr>ASq0.044
QuantilesforNormalDistribution
Quantile
PercentObservedEstimated
1.0293.000986.7878
5.0536.00061.0138
10.0636.000432.5130
25.01019.0001257.1745
50.01746.0002173.4333
75.03386.0003089.6922
90.04046.5003914.3537
95.04552.0004407.8804
99.05402.0005333.6545
Proc reg
Anlisis de regresin (cuadrados mnimos ordinarios).
PROC REG usa la orden MODEL para definir el modelo terico de la relacin entre
las variables independientes y dependiente. Es posible tener ms de una orden de
MODEL (esto es til cuando se est tratando de encontrar el modelo que mejor se
ajusta a los datos).
Si usted necesita usar los valores que se hayan creado de la regresin (tales como
valores predichos, residuales, etc.) para otros propsitos adems de grficas, se
puede definir una nueva base de datos que contenga estos valores. Use el comando
OUTPUT OUT = nombre de la nueva base de datos.
Una lista de algunas de las opciones que se pueden solicitar para incluirse en una
grfica (que se pide con PLOT) se muestra en el Cuadro 3.
TheSASSystem3
TheREGProcedure
Model:MODEL1
DependentVariable:LGT
NumberofObservationsRead30
NumberofObservationsUsed30
AnalysisofVariance
SumofMean
SourceDFSquaresSquareFValuePr>F
Model11978632819786328246.18<.0001
Error28225042280372
CorrectedTotal2922036750
RootMSE283.49994RSquare0.8979
DependentMean1395.00000AdjRSq0.8942
CoeffVar20.32258
ParameterEstimates
ParameterStandard
VariableDFEstimateErrortValuePr>|t|
Intercept173.4393398.860820.740.4638
ACTUAL10.608050.0387515.69<.0001
TheSASSystem4
TheREGProcedure
Model:MODEL1
DependentVariable:LGT
OutputStatistics
DependentPredicted
ObsVariableValueResidual
1350.0000472.3215122.3215
2850.0000913.767363.7673
312001086113.5459
417001528172.1001
SumofResiduals0
SumofSquaredResiduals2250422
PredictedResidualSS(PRESS)2769198
Stepwise Realiza la regresin stepwise (las variables entran y/o salen paso a
paso).
Forward Realiza la seleccin forward (las variables entran una a una).
Backward Realiza la seleccin backward (del modelo completo, las variables se
van eliminando o quedando- una a una).
MAXR Selecciona el modelo usando la mxima mejora en R2.
Proc corr
Este procedimiento sirve para obtener una matriz de correlaciones entre las
variables. Este procedimiento calcula el coeficiente de correlacin de Pearson y
produce estadsticas descriptivas media, desviacin estndar, mnimos y mximos
para todas las variables de par en par, enlistadas en la orden VAR. Tambin
calcula un p-value para probar si la correlacin verdadera entre las dos variables es
cero. La orden WITH puede usarse para reducir el nmero de coeficientes de
correlacin que se computen; en este caso, los pares de variables provienen de
aquellas enlistadas en la orden VAR cruzados con las enlistadas en la orden WITH.
Ejemplo:
proc corr data= nombre;
var var1 var2 var3;
Una lista de las opciones que se pueden utilizar con Proc corr se encuentra en el
Cuadro 4.
Proc boxplot
Se usa proc boxplot para obtener grficos de bigotes. Por ejemplo, para la variable
leche por niveles de region. Esto requiere que los datos s ordenen por region con
proc sort.
En este ltimo captulo se ofrece una lista de cdigos que normalmente se utilizan en
diseos experimentales (Hinkelmann y Kempthorne, 1994). El procedimiento a
utilizarse para este propsito es proc glm (tambin podran escribirse exactamente
igual para proc anova), con inicio y trmino del cdigo tal como se describi en el
Captulo 10, es decir, todos los cdigos empiezan con PROC GLM DATA =
NOMBRE;, y finalizan con RUN;. Para utilizar correctamente estos cdigos, como
en el captulo anterior, tambin se requiere de un slido respaldo en estadstica.
Y ij = + i + ij
CLASS Trt;
MODEL Y=Trt;
De esta manera se prueba Ho: Treat1 = Treat2 = = Treatn , y se especifica que las
unidades experimentales, es decir, las repeticiones se encuentran anidadas dentro
de los tratamientos, por lo que Rep(Trt) es una descripcin del componente error
experimental, ij .
2. Comparacin de tratamientos
Los cdigos son iguales tanto para CONTRAST, como para ESTIMATE. Se recuerda
que los coeficientes deben de sumar cero.
CLASS Trt;
MODEL Y= Trt;
CONTRAST C1
Trt 2 -1 -1;
CONTRAST C2
Trt 0 1 -1;
CONTRAST C3
Trt -1 0 1;
CLASS Trt;
MODEL Y=Trt;
CONTRAST Trt Lineal
Trt -3 -1 1 3;
CONTRAST Trt Cuadratico
Trt 1 -1 -1 1;
CONTRAST Trt Cubico
Trt -1 3 -3 1;
Lineal: -1 0 1
Cuadrtica: 1 -2 1
3. Comparaciones mltiples
El cdigo es el mismo para cualquier prueba de comparacin. Por ejemplo, para
utilizar Duncan:
CLASS Trt;
MODEL Y=Trt;
MEANS Trt/DUNCAN;
Con submuestreo:
Y ijk = + i + j + ij + ijk
CLASS Bl Trt;
MODEL Y = Bl Trt Bl*Trt;
TEST H = Trt E = Bl*Trt;
MEANS Trt;
Y ijk = + i + j + ij + ijk
CLASS Bl Trt;
MODEL Y = Bl Trt BL*Trt;
MEANS Trt BL*Trt;
CLASS Bl Trt;
MODEL Y = Bl Trt;
LSMEANS Trt;
Y ijk = + i + A ij + k + () ik + B ijk
CLASS SUJETO A B;
MODEL A SUJETO(A) B A*B;
TEST H = A E = SUJETO (A);
CLASS REP A B;
MODEL Y = REP A REP*A B A*B;
TEST H=A E = REP*A;
Esto ultimo para obtener un valor de F que pruebe Ho: 1 = 2 = = a
CLASS Rep A B;
MODEL Y = Rep A Rep*A B Rep*B A*B;
TEST H=A E = Rep*A;
TEST H=B E = Rep*B;
*
Se han hecho todos los esfuerzos porque la informacin y los cdigos sean correctos. Sin
embargo, es posible que exista algn error de imprenta o que las versiones de SAS
cambien en sus requerimientos de codificacin, por lo que no nos hacemos responsables de
que todos y cada uno de los cdigos funcionen.
Trat. Rep. IAF ALTP ALTM NoH RTFF RTFS RFSH RFST RFSM RH:T RH:M RT:M
No No i cm cm No kg/ha kg/ha kg/ha kg/ha kg/ha r r r
1 1 3.97 249 127 14 53125 13252 2916 4990 4906 58 59 102
1 2 4.84 252 129 14 54167 15553 3083 5928 5535 52 56 107
1 3 6.13 254 132 13 56250 15251 3273 5764 5598 57 58 103
1 4 5.11 249 121 13 51042 12728 2784 4600 4000 61 70 115
2 1 3.7 266 143 14 55208 14441 2462 6750 6380 36 39 106
2 2 5.05 258 129 14 47917 10885 3272 7646 6812 43 48 112
etc. etc. etc.
7 2 4.13 247 164 13 58333 15725 2826 6438 4760 44 59 135
7 3 3.61 258 164 14 54167 13324 2908 6802 5119 43 57 133
7 4 5.48 250 151 13 58333 15370 2440 6384 4126 38 59 155
Allison, P. D. 1995. Survival analysis using SAS. A practical guide. Cary, NC: SAS
Institute Inc.
Delwiche, L. D. and Slaughter, S. J. 2000. The little SAS book: A primer. 2nd Ed. Cary,
NC: SAS Institute Inc.
Freund, R. and Littell, R. C. 2000. SAS System for regression. 3rd Ed. New York,
Chichester, Brisbane, Toronto, Singapore. Wiley Series in Probability and
Statistics.
Khattree, R. and Naik, D. N. 1999. Applied multivariate statistics with SAS software.
2nd Ed. Cary, NC: SAS Institute Inc.
Littell, R., Milliken, G. A., Stroup, W. W. and Wolfinger, R. D. 2006. SAS for mixed
models. 2nd Ed. Cary, NC: SAS Institute Inc.
Littell, R., Stroup, W. W. and Freund, R. 2002. SAS for linear models. Cary, NC: SAS
Institute Inc.
Stokes, M. E., Davis, C. S. and Koch, G. E. 2001. Categorical data analysis using the
SAS system. Cary, NC: SAS Institute Inc.
El material que se presenta ha sido recopilado en gran parte del sitio de internet del
Insituto SAS: www.sas.com, de la pgina (ya no disponible) del Dr. Oliver
Schabenberger* y de varios libros, entre los que destaca: The Little SAS Book, 2
edicin, por Lora D. Delwiche y Susan J. Slaughter, y en el uso y prctica del
programa SAS.
*
Actualmente el Dr. Schabenberger labora en el desarrollo y mejora de programas de
SAS/STAT en el Instituto SAS, en Carolina del Norte.
COORDINADOR DE PRODUCCIN
Vicente E. Vega Murillo
EDICIN
Valentn A. Esqueda Esquivel
FORMACIN
Claudia Perdomo Montes
REVISIN TCNICA
Isaac Meneses Mrquez
Rubn Loeza Limn
Bertha L. Rueda Maldonado
ngel Ros Utrera
Alfonso vila Durn
Julio C. Vinay Vadillo