Sie sind auf Seite 1von 51

CLASES PRCTICAS

Statistical Analysis System

Dr. Gilberto de Jess Lpez Cantes

CMO LLAMAR AL SAS


Hay dos opciones: A travs de los programas (Inicio/Programas/SAS/The SAS System for Windows) A travs de un icono identificador del SAS en el escritorio de Windows (The SAS System for Windows)
Con estas instrucciones, el SAS empieza a cargarse en la memoria de la computadora, y transcurridos algunos segundos se desplegarn en la pantalla tres ventanas: Log, Editor de programas, salida (output) El cursor aparece parpadeante en el inicio de la ventana editor de programas, lo que significa que la computadora est lista para recibir instrucciones en esa ventana.

VENTANA: Editor de programa (Program editor)


En esta ventana se introducen los datos y las

instrucciones. Es decir, se escriben los programas. Se le ordena a la mquina ejecutar las instrucciones o correr el programa.

VENTANA: log
Se muestra todo lo que el SAS hizo, una vez que se dio la orden de

ejecutar un programa. Aqu aparecen los mensajes de los errores que pudieran haberse cometido y las razones por las cuales se pudo haber suspendido la ejecucin de algn trabajo.

Cuando se comete
un error aparece al inicio del mensaje la palabra error.

Aparecen mensajes
que se indican con la palabra note.

VENTANA: log

VENTANA: Salida (Output)


Se muestran los resultados que se originaron de la ejecucin del

programa, todo lo que se instruy a la computadora que hiciera con los datos.
En ocasiones se ordena la ejecucin de un programa, y despus

de un instante, la ventana salida aparece en blanco, sin la salida con los resultados esperados; esto significa que cometi algn error al escribir el programa, falta algn punto y coma, hay alguna palabra mal escrita, etc., por eso el programa no funcion.
En ese caso hay que ir a la ventana log para descubrir el tipo de

error cometido y despus ir a la ventana Editor de programa para hacer las correcciones y volver a correr el programa.

VENTANA: Salida (Output)

CMO CAMBIAR DE VENTANA

Para correr un programa es necesario borrar el contenido de las ventanas para

CMO BORRAR EL CONTENIDO DE LAS VENTANAS

ahorrar memoria y para que las ventanas estn limpias y se pueda desplegar la informacin correspondiente a la ejecucin del nuevo programa. Debe de estar el cursor en la ventana que se desea borrar y se le da la opcin Edicin/Borrar todo.

Teclas y sus combinaciones ms frecuentes

CMO EJECUTAR UN PROGRAMA


Para ejecutar correr un programa estando en la

ventana program editor y con el programa desplegado en pantalla, puede usarse el cono que representa la figura de un pequeo personaje corriendo en el men principal Ejecutar/Procesar.

ENUNCIADOS BSICOS
Para utilizar el SAS con objeto de analizar un conjunto de

datos, es necesario escribir algunas instrucciones simples, en las que se emplean palabras claves del SAS, lo que constituye bsicamente un programa. data que es la parte del programa donde se coloca el nombre asignado al conjunto de datos(DATA SET) con que se trabajar. continuacin se escribirn en el programa los nombres que el usuario asignar a cada una de las variables con que va a trabajar.

Generalmente un programa SAS se inicia con un enunciado

Despus se escribe el enunciado input el cual seala que a

ENUNCIADOS BSICOS
Despus del enunciado input se coloca el enunciado

cards; lo que indica al programa que a continuacin van a escribirse datos. Luego viene el enunciado proc, que corresponde a la etapa de procedimientos, aqu es donde se instruye acerca de qu cosa se necesita hacer con los datos (impresin, ordenarlos, graficarlos, anlisis estadstico, etc.) Finalmente se escribe el enunciado run, para sealar que el programa ha terminado y est listo para ejecutarlo.
CADA INSTRUCCIN DEL SAS TERMINA CON UN PUNTO Y COMA (;)

ENUNCIADOS BSICOS
Las instrucciones se pueden escribir indistintamente

con letras maysculas o minsculas.


Una vez que se tecle una instruccin y se quiere ir a la

siguiente lnea o rengln, se debe presionar la tecla ENTER.


Cuando se han escrito varias instrucciones del

programa y se necesita corregir algn error, es posible mover el cursor mediante las teclas con flechas o con el mouse, ubicarlo en el lugar deseado y hacer la correccin.

ENUNCIADOS BSICOS
Las instrucciones pueden ir juntas en un rengln o en

renglones diferentes.
Antes de iniciar una nueva instruccin, despus del punto y

coma pueden ir uno o ms espacios en blanco.


Las palabras usadas dentro de una instruccin deben ir

separadas al menos por un espacio en blanco o varios espacios en blanco, lo cual no importa, lo que no puede olvidarse es que cada instruccin termina siempre en un punto y coma.

ESTRUCTURA GENERAL DE UN PROGRAMA DE SAS

FORMA GENERAL DE UN PROGRAMA EN SAS


data;
input; cards;
Aqu se escriben los datos

proc;

run;

La instruccin data ordena la creacin de un archivo de datos SAS (DATA SET) y le asigna un nombre. El nombre del archivo no debe tener ms de ocho caracteres, debe comenzar con una letra, aunque despus pueda llevar nmeros, y no debe tener espacios en blanco.

INSTRUCCIN data

SINTAXIS DATA nombre del conjunto de datos; EJEMPLOS: data dos; nombre correcto data expto9; nombre correcto data 95ao; nombre incorrecto data b uno; nombre incorrecto data b-tres; nombre correcto data experimento; nombre incorrecto

INSTRUCCIN input
Indica a la computadora el nombre de la o las variables que se

van a utilizar en el programa.

Describe a SAS el arreglo de las lneas de datos

Los nombres que se le asignan a las variables pueden tener hasta

ocho caracteres, sin espacio en blanco y no deben empezar con un nmero.

Existen variables numricas y alfanumricas.

Sintaxis: INPUT lista de variables;

INSTRUCCIN cards;
Esta instruccin seala que a continuacin en el programa

se colocarn los datos con los que se va a trabajar.


Despus de cada hilera de datos u observacin no se

coloca ningn punto y coma (;).


Los datos de cada variable deben ir anotados en el mismo

orden en que se definieron los nombres de las variables en el input.


Esta instruccin debe usarse cuando los datos estn

contenidos en el programa, y se omite cuando se usa un archivo externo.

INSTRUCCIN run;
Permite ejecutar el programa y que los resultados

originados por la ejecucin del programa puedan verse en la ventana de OUTPUT.


Siempre se debe colocar al final de cada programa.

VARIABLES ALFANUMRICAS
EJEMPLO:

Data alumnos; Input nombre $ edad; Cards; Juan 20 Maria 21 Luis 32 Alberto 33 Run;

Como la variable variedad de alfalfa es alfanumrica, entonces para que el SAS la lea y la reconozca como tal, despus de colocar en el input el nombre que la identifica se pone el smbolo $, separado un espacio de dicho nombre (nombre $); a continuacin se coloca el nombre de la otra variable, pors (porcentaje de plantas sobrevivientes) que es una variable numrica.

Proc print data=alumnos; Run;

CMO GRABAR EN UN DISCO LOS RESULTADOS DE UN PROGRAMA


Hay dos opciones: Mediante el icono correspondiente (tiene un disco) Mediante la secuencia Archivo/Guardar como
Tiene varias extensiones (.sas; .log; .lst; .htm; .dat),

sta ltima es de gran utilidad cuando queremos ver los datos en un editor de texto.

DATASETS TEMPORALES Y DATASETS PERMANENTES


Los datasets temporales se encuentran en una librera virtual

llamada WORK que se vaca automticamente cuando se apaga el programa.


Para crear un dataset permanente, en primer lugar se crea

una librera con la instruccin LIBNAME especificando el nombre y la ruta dnde ubicarla a continuacin. A partir de este momento, para crear un dataset permanente que pertenezca a esta librera se utiliza el nombre compuesto: nombre_libreria.nombre_dataset".
libname permanen "C:\";

INSTRUCCIN proc
Para invocar los procedimientos SAS se emplea la

instruccin PROC que es una abreviatura de la palabra PROCEDURE. Son programas de cmputo que leen el archivo y realizan diferentes operaciones con los datos, como anova (que ejecuta el anlisis de varianza), reg (que hace anlisis de regresin), plot (que realiza grficas) corr (que hace correlaciones), etc. Sintaxis: PROC nombre del procedimiento;
proc contents data=alumnos;

run;

LISTAR LOS CONTENIDOS DE UN DATASET


Con el procedimiento CONTENTS, se obtiene un listado

con informacin relativa al dataset que se menciona en la opcin DATA=nombre_dataset, as como de sus variables.
Especificando la opcin POSITION, el listado de las

variables est ordenado segn la posicin de cada variable en el dataset. Por defecto, sin la opcin anterior, este orden es alfabtico.
PROC CONTENTS DATA=ALUMNOS POSITION;

RUN;

CMO INTRODUCIR COMENTARIOS EN UN PROGRAMA


Cuando los programas son extensos a veces es necesario

introducir algunos comentarios explicativos en el programa. Los comentarios aparecen en el programa sin alterar su funcionamiento. Hay dos formas de introducir comentarios: 1. Iniciar el comentario con un asterisco (*) y terminar con un punto y coma (;). Ej: *este es un comentario; 2. Iniciar el comentario con los signos /* y terminar con */. Ej: /*este es un comentario*/
Ej: data soya; *lee archivo soya.prn en disco c: a partir de observacin 6; infile c:\soya.prn firstobs = 6;

DATASETS TEMPORALES Y DATASETS PERMANENTES


Los datasets temporales se encuentran en una librera virtual

llamada WORK que se vaca automticamente cuando se apaga el programa.


Para crear un dataset permanente, en primer lugar se crea

una librera con la instruccin LIBNAME especificando el nombre y la ruta dnde ubicarla a continuacin. A partir de este momento, para crear un dataset permanente que pertenezca a esta librera se utiliza el nombre compuesto: nombre_libreria.nombre_dataset".
libname permanen "C:\";

INSTRUCCIN Proc print;


En este caso el procedimiento print, se utiliza para que en la ventana output se despliegue el nombre de las variables con sus valores. Si se pone proc print; se despliegan en pantalla todas las variables utilizadas en el programa. Para desplegar slo algunas variables definidas en el input para despus imprimir; para esto debe hacerse lo siguiente: Proc print; var nombre; La instruccin var en la sentencia indica las variables que se van a desplegar en el mismo orden en que se indicaron en el ejemplo; primero n, despus p y as sucesivamente. Para que aparezcan en otro orden slo debe especificar cual en la instruccin var.

Tambin se puede mostrar en pantalla ciertos datos que me interesen y para ello utilizo la instruccin WHERE variable=condicin;

Ejemplo:

proc print data=alumnos; where nombre=Juan'; run;

proc print data=Alumnos_dima; var nombre; where substr(nombre,1,1)='L'; run;

SAS dispone de un gran nmero de funciones para el tratamiento de variables carcter, de todas ellas destacan: Funcin Descripcin COMPRESS: Elimina un carcter especfico COUNT Cuenta el nmero de veces que aparece un carcter INDEX Busca una cadena de caracteres LEFT Alinea a la izquierda LENGTH Obtiene la longitud de una variable carcter LOWCASE Pone en minsculas MISSING Indica si la variable es missing QUOTE Pone comillas REVERSE Reversa de carcter RIGHT Alinea a la derecha SCAN Busca una cadena de caracteres dentro de otra cadena SUBSTR Extrae partes de una cadena TRANWRD Reemplaza o extrae dentro de una cadena TRIMN Elimina espacios en blanco innecesarios UPCASE Pone en maysculas

VARIABLES ALFANUMRICAS
Cuando los nombres de la variable alfanumrica sean

mayor de 8 caracteres y tengan espacios en blanco, el input (input por columnas) se pone de la siguiente forma: Input nombre $ 1-12 edad 13-17; Al colocar los datos de cada variable enseguida de la instruccin cards; stos deben estar en las columnas sealadas para cada uno de ellos en el input (en este ejemplo desde la primera letra de las variedades hasta antes del inicio de la segunda variable deben haber 12 caracteres (inia-76 1.60)

DIFERENTES MANERAS DE HACER EL INPUT


Si perdimos un dato, hay que colocar un punto en el lugar

donde debera ir el dato perdido, separado al menos por un espacio en blanco de los datos anterior y posterior. EJEMPLO: data ejemplo; input trat blo n p d ren; cards; 1 1 90 20 . 2475 Run;

DIFERENTES MANERAS DE HACER EL INPUT


Cuando se trabaja con variables alfanumricas con la

forma de input por columnas se pondra por ejemplo: Input nombre $ 1-10 edad 13-14;
Cuando se quiere utilizar un input con formato, en el

cual se indica primero la columna en la que comienza una variable y despus se especifica el largo de la variable, se sigue el siguiente ejemplo:
Input @1 nombre $18. @21 edad 2.0 @24 fechanac $6. @31 prof $ 12.;

DIFERENTES MANERAS DE HACER EL INPUT


input @1 nombre $14. @15 edad 3.0 @17 peso 3.1;
El smbolo @ seala el nmero del espacio o columna donde se inicia

la lectura de la variable, as por ejemplo @21 indica que los valores de la variable (en este caso la edad) se inician en la columna 21.
El formato $ x. indica que se trata de una variable alfanumrica y que

el valor ms largo de la variable consta de x caracteres. No te el punto (.) que sigue a x. El valor de x siempre debe terminar en un punto. Por ejemplo $ 18. indica que el nombre ms largo tiene 18 caracteres.
Qu significa 2.0? ste es un formato del tipo x.y, que indica que se

trata de una variable numrica con x cifras y y decimales. En este caso la variable edad consta de dos cifras y cero decimales

EJEMPLO INPUT CON FORMATO


data alumnos_p;
input @1 nombre $14. @15 edad 2.0 @18 peso 3.1; cards; jose perez

23 431 maria lopez 33 440 luis heredia 44 567 run;

ALGUNOS FORMATOS QUE EL SAS RECONOCE PARA EL INGRESO DE INFORMACIN

DIFERENTES MANERAS DE HACER EL INPUT


Puede ocurrir que se tengan muy pocas variables y muchas

observaciones, por lo que al momento de escribir los datos, es conveniente colocar varias observaciones en un rengln para ahorrar lneas. Para lograr esto, el input se puede hacer como sigue: Input a b c @@; Al colocar los smbolos @@ al final indica que se tienen las variables a, b y c, y que posteriormente en el lugar donde irn los datos (despus de la instruccin cards;), los tres primeros (separados naturalmente al menos por un espacio entre cada uno) correspondern a los valores o datos de la primera observacin de las variables a, b y c, despus los segundos tres datos, en el mismo rengln, correspondern nuevamente a los valores de la segunda observacin de las variables a, b y , y as sucesivamente hasta colocar todas las observaciones que quedan en los 80 espacios de ese rengln.

EJEMPLO INPUT CON FORMATO


Data a; Input a b; Cards; 1223 10 1121 9 1010 8 9290 7 9101 7.3 8920 8.5 9020 9.8 Run; data alumnos_cal; input matricula calificacion@@; cards; 1223 10 1121 9 1010 8 9290 7 9101 7.3 8920 8.5 9020 9.8 run;

Ejercicio 1
Nombre Profesor LIZAOLA ROBERTO SANCHEZ ANGEL Categora PRODUCTIVIDAD

PIAS PIAS

477 476

VALVERDE GUSTAVO
MARTINEZ MIGUEL CHULIM NESTOR GARAY OSCAR ESQUEDA MARIA

PIT
PIT PIA PIA PIT

474
471 470 464 449

MARTINEZ REYNA
PEREZ ELISEO

PIT
PIAS

446
420

Productividad Acadmica profesores del C.P.

Mostrar la siguiente informacin


Nombre y productividad de los acadmicos con

categora de Profesor Investigador Titular (PIT).


Nombre y categora de los acadmicos con una

productividad mayor a 465 puntos.


Nombre de los acadmicos con categora Profesor

Investigador Asociado (PIAS) productividad mayor a 470.

con

una

Programa en SAS

data productividad; input @1 nombre $17. @18 categoria $5. @23 productividad 3.0; cards; LIZAOLA ROBERTO PIAS 477 SANCHEZ ANGEL PIAS 476 VALVERDE GUSTAVO PIT 474 MARTINEZ MIGUEL PIT 471 CHULIM NESTOR PIA 470 GARAY OSCAR PIA 464 ESQUEDA MARIA PIT 449 MARTINEZ REYNA PIT 446 PEREZ ELISEO PIAS 420 run;

Programa en SAS

proc print data=productividad; var nombre productividad; where categoria='PIT'; run; proc print data=productividad; var nombre categoria productividad; where productividad>470; run; proc print data=productividad; var nombre categoria productividad; where productividad>470 and categoria='PIAS'; run;

PROC SORT
Se utiliza para la ordenacin de conjuntos de datos.
PROC SORT DATA=<dataset de lectura> OUT=<dataset de escritura>; BY [DESCENDING] <variable/s a ordenar>;

data alumnos_dima; input matricula nombre $ edad altura; cards; 1 juan 23 1.80 2 maria 22 1.50 3 luis 25 1.20 4 omar 32 1.65 run;

proc sort data=alumnos_dima; by altura; proc print data=alumnos_dima; run;

PROC PRINT

PROC PRINT DATA=<dataset> <opciones>; TITLE <Ttulo para la impresin>; VAR <variables a imprimir>; BY <variable de agrupacin>; SUM <suma total de variable agrupada>; data alumnos_zootecnia; WHERE <condicin>; input nombre $ sexo $ calificacion; RUN;
cards; juan m 10 jose m 8 luis m 9.5 maria f 9.5 lupe f 8 run;

Mostrar la siguiente informacin


Nombre y calificacin de los alumnos con calificacin mayor que

8.

Nombre y calificacin de los alumnos con calificacin mayor que

8 clasificados por sexo.

Suma de las calificacin de los alumno clasificados por sexo.

Suma de la productividad de los Profesor Investigador Titular

con una productividad mayor a 446. de nuestra muestra de datos.

Suma de la productividad por categora de todos los acadmicos

Programa en SAS
proc print data=productividad;
title 'PIAS CON PRODUCTIVIDAD MAYOR A 477'; var nombre categoria productividad;

by categoria;
sum productividad; where productividad>470; run;

proc print data=alumnos_zootecnia; title 'ALUMNOS DE ZOOTECNIA'; var nombre calificacion; by sexo; sum calificacion; where calificacion>8; run;

DATA _NULL_
La sentencia DATA _NULL_ no genera conjunto de

datos SAS, _NULL_ es un tipo especial de dataset que no genera un fichero fsico; con la instruccin PUT= nuestro paso data escribir en la ventana log el valor de las variables que deseamos ver.

FUNCIONES QUE EL SAS PROVEE PARA LA EJECUCIN DE ALGUNAS TRANSFORMACIONES

Programa en SAS
data _null_; a=25; b=101; c=a+b; put 'Valor de a=' a; put 'Valor de b=' b; put 'Valor de c=' c ; m= abs(-3.44); n= int(-3.44); put 'Valor abosulto de m= 'm ; put n; x=sqrt(2); put x; run; data ejemplo; retain sx 0; input x y; yy=y*y; xx=x**2; sx = sx + x; drop yy; if _N_=5 then put 'yy=' yy; cards; 12 24 36 58 6 10 run;

Sintaxis: Retain <variable valor inicial> Retiene el valor de una iteracin

N_ permite hacer un procedimiento (Ej: put) cuando el programa termina de leer todos los datos, toma valor 1 cuando la primera observacin es entrada e incrementa uno para cada subsecuente observacin.

Crear el dataset(datos) con la siguiente informacin.


x y Seno(x) Coseno(x) Seno(y) Coseno(y) LogaritmoN(x) LogaritmoN(y)

Ejercicio 2

3
5 7 9 11 13 15

4
6 8 10 12 14 16

Imprimir en pantalla de log el promedio de x y.

Das könnte Ihnen auch gefallen