Sunteți pe pagina 1din 3

Software Estadstico I

16 de mayo de 2012
1.- Lee el fichero 'empleados.csv' y crea dos ficheros SAS uno temporal y otro permanente.(1 punto) LIBNAME DISKC 'F:\Datos'; /* Libreria para el fijo */; DATA uno_emple DISKC.dos_emple; INFILE 'F:\Datos\empleados.csv' firstobs = 2 DLM=';' ; INPUT id sexo $ fechnac $ educ catlab salario $ salini $ tiempemp expprev minoria; OUTPUT uno_emple; OUTPUT DISKC.dos_emple; PROC PRINT DATA = DISKC.dos_emple; run; DATA empleados2; INFILE 'F:\Datos\empleados.csv' firstobs = 2 DLM=';' ; INPUT id sexo $ fechnac espdfde11. educ catlab salario dollarx7. +1 salini dollarx7. tiempemp expprev minoria; PROC PRINT DATA = empleados2; FORMAT fechnac DATE9. salario salini dollar8.; run; 2.- El fichero 'empleado.sas7bdat' contiene la variable salario y se quiere hacer una tabla de contingencia entre la variable salario y la variable categora laboral. Cmo lo haras? (1,5 punto) LIBNAME DAT 'F:\Datos'; DATA UNO; SET DAT.empleados; /* Para hacer la tabla se puede emplear */ PROC FREQ DATA=uno; TABLES CATLAB*SALARIO; RUN; /* Sin embargo al ser 'salario' una variable continua primero hay que discretizarla para ello */ /* vemos como se distribuye con una tabla de frecuencias */ PROC FREQ DATA=uno; TABLES SALARIO; RUN; /* A la vista de los datos hacemos tres grupos, cada uno aproximadamente es un 33% del total */ /* El primer grupo es 'Bajo' de 16950 a 27300 inclusive */ /* El segundo grupo es 'Medio' de 27750 a 36000 inclusive */ /* El tercer grupo es 'Alto' de 38850 al final */ DATA dos; SET DAT.empleados; FORMAT grupo $ 5. ; if salario <= 27300 then grupo='Bajo'; else if salario <=38890 then grupo='Medio'; else grupo='Alto'; PROC FREQ DATA=dos; TABLES catlab*grupo; RUN;

3.- Se tiene la informacin de los pacientes de un hospital en un fichero 'pacientes.txt' que tiene la siguiente estructura: Empieza col. 1 4 10 16 Longitud 3 6 6 8 Formato Carcter mmddyy mmddyy mmddyyyy Descripcin Identificacin Fecha de admisin Fecha de alta Fecha de nacimiento

Construir un fichero de datos SAS (Data Set) llamado FECHA1 que contenga la informacin del fichero pacientes.txt. Aadir las siguientes variables: AOS edad en aos en la fecha de admisin. DIA nmero de das transcurridos de estancia en el hospital. Calcular la edad media de los pacientes. (2,5 puntos) DATA enfermos; INFILE DATALINES; INPUT @1 id 3. @ 4 FecAdm mmddyy6. @10 FecAlta mmddyy6. @16 FecNac mmddyy8.; AuxFecNAc = YEAR(FecNac); AuxFecAdm = YEAR(FecAdm); Anyos = YRDIF(FecNac,FecAdm,'act/act'); Anyos2 = AuxFecAdm - AuxFecNAc; Dias = DATDIF(FecAdm,FecAlta,'act/act'); Dias2 = FecAlta - FecAdm; DATALINES; 00101059201079210211946 00211129211159209011955 00305129206099212251899 00401019301079304051952 ; PROC PRINT DATA= enfermos; FORMAT FecAdm FecAlta mmddyy10. FecNac mmddyy10.; RUN;

4.- El fichero Temperaturas.txt contiene la informacin de 72 estaciones meteorolgicas repartidas por cierto pas. Las temperaturas han sido medidas en grados Celsius y se necesita transformarlas a grados Kelvin. (2 puntos) DATA tempera; INFORMAT est1 - est72 COMMA8.2; INFILE 'F:\Datos\Temperaturas.txt' DLM=':'; input est1 - est72; ARRAY AUX{72} est1 - est72; DO i = 1 TO 72; AUX(i) = AUX(i) + 372.15; END; PROC PRINT DATA=tempera; RUN; 5.- Se desea comparar el efecto conjunto del detergente y del tipo de blanqueador empleados en la limpieza de un tejido concreto, sobre su resistencia. Para realizar este anlisis, se seleccionaron cuatro tipos de blanqueadores y tres detergentes distintos. En cuatro rollos de tela, se cortaron 12 muestras de 1 metro, en las que se probaron todas las combinaciones blanqueador-detergente. Las medidas de resistencia obtenidas son los que aparecen a continuacin : (3 puntos) Blanqueador Rollo de tela 1 Detergente 2 Detergente 3 Detergente 4 Detergente

1 1 2 3 4 63 62 62 64

2 66 66 68 67

3 60 61 62 62

1 68 67 67 67

2 71 71 72 71

3 65 66 64 65

1 70 69 70 71

2 73 72 71 72

3 68 69 68 67

1 68 66 67 68

2 73 71 73 72

3 63 64 65 64

Realizar un anlisis descriptivo y comparativo de los cuatro tipos de conjuntos. DATA telas; DO rollo = 1 TO 4; DO blanqueador = 1 TO 4; DO detergente = 1 TO 3; INPUT resul @@; OUTPUT; END; END; END; DATALINES; 63 66 60 68 71 65 70 73 68 68 73 63 62 66 61 67 71 66 69 72 69 66 71 64 62 68 62 67 72 64 70 71 68 67 73 65 64 67 62 67 71 65 71 72 67 68 72 64 ; PROC PRINT DATA = telas; RUN; PROC UNIVARIATE DATA = telas; VAR resul; BY blanqueador; RUN;

S-ar putea să vă placă și