2011_cap_02_01_proc_print
TRANSCRIPT
-
8/2/2019 2011_Cap_02_01_PROC_PRINT
1/6
1
AlgunosProcedimientosdelmduloSAS/BASEUtilidadessobrearchivos
PROCPRINTElprocedimiento PRINTseutilizaparagenerarinformesdelistassencillos.Permiteutilizarttulos
ynotasapiedepgina,cabecerasdescriptivasyvaloresdedatosconformatos.Susintaxises,
PROC PRINT DATA=archivo ; ;
PresentaenlapantalladeOUTPUTunlistadodelosvaloresdelosdatos.
Lasopcionesmsimportantesson:
UNIFORM Fijaelanchodelascolumnasentodaslaspginas.
LABEL Imprimelasetiquetasdelasvariablesenvezdelosnombresdeellas.
NOOBS Suprimeelnmerodeobservacin.
DOUBLE Imprimeadobleespacio,
ROUND Redondea los nmerosde la salida ados cifras decimales en las variables
para las que se ha pedido la suma ( ver SUM en especificaciones de
sentencia).
Lasespecificacionesdesentenciasmsimportantesson:
IDvariable; Utiliza la variable como identificacin del caso en vez del nmero deobservacin.
VARlistadevariables; Presenta lasvariablesseleccionadasyenelordenenquedebenaparecerenelinforme.
SUMlistavariables; Creauna variable sumapor cada variableque apareceen la lista. La variablesumacreadacontienelasumadelavariable.EnconjuncinconBY,imprimelos
subtotalesgeneradosporBY.
SUMBYlistavariables: En combinacin con BY permite imprimir slo los subtotales de la lista devariables.
PAGEBYlistavariables; EmpiezaaimprimirenunapginanuevalosgruposgeneradosporBY.BYlistavariables; Agrupa lassalidasenfuncindelosgruposgeneradosporlasvaloresdelalista
devariables.
-
8/2/2019 2011_Cap_02_01_PROC_PRINT
2/6
2
EjemplosSupongamosquehayquegenerarunapresentacinsimpledeunconjuntodedatos.Los
datosestn
contenidos
en
el
conjunto
de
datos
SAS
(Set
Data)
Empleados
yla
descripcin
deesteficheroes:
NombredeVariable Descripcin
catlab Categoralaboral
educ Niveleducativo
expprev Experienciaprevia(meses)
fechnac Fechadenacimiento
id Cdigodeempleado
minor_a Clasificacindeminoras
salario Salarioactual
salini
Salarioinicial
sexo Sexo
tiempemp Mesesdesdeelcontrato
Enesteconjuntodeejemplossesupondrquesehacreadolalibrera'DOCU'.
Ejemplo1PROCPRINTDATA=DOCU.EMPLEADOS;
RUN;
Ejemplo2PROCPRINTDATA=DOCU.EMPLEADOS;
VAR catlab id sexo;
RUN;
Ejemplo3PROCPRINTDATA=DOCU.EMPLEADOS;
ID id;
VAR catlab id sexo;
RUN;
Ejemplo4PROCPRINTDATA=DOCU.EMPLEADOS;
TITLE'Datos de los empleados';
TITLE2 '______________________';
ID id;
VAR catlab id sexo;
RUN;
-
8/2/2019 2011_Cap_02_01_PROC_PRINT
3/6
3
Ejemplo5PROCPRINTDATA=DOCU.EMPLEADOS;
TITLE'Datos de los empleados';
TITLE2 '______________________';
ID id;
VAR catlab
educ
expprev
fechnac
id
minor_a
salario
salini
sexotiempemp;
RUN;
Ejemplo6PROCPRINTLABELDATA=DOCU.EMPLEADOS;
TITLE'Datos de los empleados';
TITLE2 '______________________';
ID id;
VAR catlab
educexpprev
fechnac
id
minor_a
salario
salini
sexo
tiempemp;
LABEL catlab= 'Categora Laboral'
educ= 'Nivel educativo'
expprev= 'Experiencia previa'
fechnac= 'Fecha de nacimiento'minor_a= 'Tipo de minora'
salario= 'Salario actual'
salini= 'Salario inicial'
sexo= 'Sexo'
tiempemp= 'Tiempo en la empresa';
FORMAT salario salini DOLLAR7.;
RUN;
-
8/2/2019 2011_Cap_02_01_PROC_PRINT
4/6
4
Ejemplo7PROCPRINTLABEL DATA=DOCU.EMPLEADOS;
TITLE'Datos de los empleados';TITLE2 '______________________';
ID id;
VAR catlab educ expprev fechnac id minor_a salario
salini sexo tiempemp;
LABEL catlab = 'Categora Laboral'
educ = 'Nivel educativo' expprev= 'Experiencia previa'
fechnac = 'Fecha de nacimiento'
minor_a ='Tipo de minora'
salario ='Salario actual'
salini = 'Salario inicial'
sexo = 'Sexo'
tiempemp = 'Tiempo en la empresa';
FORMAT salario salini EURO7.;
RUN;
Ejemplo8PROCPRINTLABEL DATA=DOCU.EMPLEADOS;
TITLE'Datos de los empleados';
TITLE2 '______________________';
ID id;
VAR catlab educ expprev fechnac id minor_a salario
salini sexo tiempemp;
LABEL catlab='Categora Laboral'
educ='Nivel educativo'expprev='Experiencia previa'
fechnac='Fecha de nacimiento'
minor_a='Tipo de minora'
salario='Salario actual'
salini='Salario inicial'
sexo='Sexo'
tiempemp='Tiempo en la empresa';
FORMAT salario salini EURO7.
fechnac DDMMYY10.;
RUN;
-
8/2/2019 2011_Cap_02_01_PROC_PRINT
5/6
5
Ejemplo9PROCPRINTLABEL DATA=DOCU.EMPLEADOS;
TITLE'Datos de los empleados';TITLE2 '______________________';
ID id;
VAR catlab educ expprev fechnac id minor_a salario
salini sexo tiempemp;
LABEL catlab='Categora Laboral' educ='Nivel educativo'
expprev='Experiencia previa' fechnac='Fecha de nacimiento'
minor_a='Tipo de minora'salario='Salario actual'
salini='Salario inicial'sexo='Sexo'
tiempemp='Tiempo en la empresa';
FORMAT salario salini EUROX7.
fechnac DDMMYY10.;
RUN;
Ejemplo10data uno;
do i=1to10;
x=5+normal(i)*2;
y=3*ranexp(i);
output uno;
end;
procprintdata=uno round;id i;sum x;
run;
presentaen
la
ventana
OUTPUT
los
valores
de
las
variables
simuladas
x(redondeada
a2
decimales)ey,ylosvaloresrespectivosdei,ascomolasumadelosvaloresdex.
-
8/2/2019 2011_Cap_02_01_PROC_PRINT
6/6
6
Ejemplo11a) El fichero censo.asc situado en el subdirectorio '\sas' con informacin relativa a la
poblacinmasculina
yfemenina
de
las
provincias
espaolas.
La
primera
variable
de
longitud2eselcdigodelaregin(RE),lasegundavariabledelongitud31eselnombre
de la provincia (PROVIN), la tercera variable de longitud 7 es el nmero de varones
(MALE),lacuartavariabledelongitud10eselnmerodemujeres(FEMALE)ylaquintay
ltimavariabledelongitud10eselreadecadaprovincia(AREA).
b) Calcular la poblacin total por provincia e imprimir el conjunto de SAS por regiones.ImprimirlapoblacintotaldecadareginusandoelPROCPRINT.
c) Calcularladensidaddepoblacindecadaprovincia.Calculartambineltotal,lamedia,ladesviacintpica,elmximoyelmnimodelapoblacintotalydelapoblacinporsexo.
d) Calcularlamediayladesviacintpicadelapoblacintotalyladensidaddepoblacinporregiones.
Guardar
la
salida
en
un
nuevo
conjunto
de
datos
SAS
llamado
CENS02.
Imprimir
lasobservacionesregionalesenCENS02.
e) Realizar un diagrama de tallo y hojas y calcular algn estadstico univariante de ladensidadusandolaprovinciacomovariabledeidentificacin.Eliminarlaregindecdigo
18yvolveraejecutarelprograma.
SOLUCION
a)
data censo;
infile'F:\Curso_SAS_2010\EUE_2010\DATOS_SAS\Ficheros ASCII\censo.asc';input re 1-2 provin $ 3-33 male 34-40 female 41-50 area 51-60;
total=male+female; /* Clculo de la poblacin total por provincia */
run;
title'1991 Censo de poblacion';
procprintnoobs;
by re; /* Imprime por regiones */
sumby re; /* Calcula la poblacin total por regiones */
sum total; /* Calcula la poblacin total. Suma toda la variable total*/;
sum total;
run;
b)