jueves, 3 de julio de 2014

Ejemplos de componentes para tratamiento de datos en SAS, SPSS y R. Equivalencias entre herramientas (III)

Incluímos el último post de la serie, en la que estamos mostrando componentes de manipulación de datos codificados en SAS, SPSS y R.


Ejemplo 13. Tratamiento de fechas:

SAS:

data fechas;
infile cards ;
input fecha_inicio : MMDDYY10. fecha_fin : MMDDYY10.;
dias=fecha_fin-fecha_inicio;
cards;
3/01/2014 4/06/2014
3/02/2014 4/06/2014
3/06/2014 4/06/2014
;
run;

SPSS:

DATA LIST LIST
/fecha_inicio (ADATE12) fecha_fin (ADATE12)
BEGIN DATA
3/01/2014 4/06/2014
3/02/2014 4/06/2014
3/06/2014 4/06/2014
END DATA.
COMPUTE dias = CTIME.DAYS(fecha_fin – fecha_inicio).
EXECUTE.
SAVE OUTFILE = 'C:\temp\fechas.sav'.

R:

fecha_ini <- c(as.Date('03/01/2014',format='%d/%m/%Y'),as.Date('03/02/2014',format='%d/%m/%Y'),as.Date('03/06/2014',format='%d/%m/%Y'))
fecha_fin <- c(as.Date('04/06/2014',format='%d/%m/%Y'),as.Date('04/06/2014',format='%d/%m/%Y'),as.Date('04/06/2014',format='%d/%m/%Y'))
tabla_fecha <- data.frame(fecha_ini, fecha_fin)
tabla_fecha$dias = tabla_fecha$fecha_fin - tabla_fecha$fecha_ini



Ejemplo 14. Filtrado de datos (where):

SAS:

data tabla_filtro;
set tabla1;
where arpu > 10;
run;

SPSS:

GET FILE='C:\temp\tabla1.sav'.
SELECT IF(arpu > 10).
SAVE OUTFILE='C:\temp\tabla_filtro.sav'.
EXECUTE.

R:

tabla_filtro <-subset(tabla1, arpu > 10)


Ejemplo 15. Selección de variables (keep):

SAS:

data tabla_keep (keep = cod_cliente arpu);
set tabla1;
run;

SPSS:

GET FILE='C:\temp\tabla1.sav'.
SAVE OUTFILE='c:\temp\tabla_filtro.sav' /KEEP=cod_cliente,arpu.
EXECUTE.

R:

tabla_keep <- tabla1[c("cod_cliente", “arpu”)]

Ejemplo 16. Ordenar tabla (sort):

SAS:

proc sort data=tabla1 out=tabla_ord;
by cod_cliente;
run;
     

SPSS:

GET FILE='C:\temp\tabla1.sav'.
SORT CASES BY ID_CLIENTE.
SAVE OUTFILE='c:\temp\tabla_ord.sav'.
EXECUTE.

R:

tabla_ord  <-  tabla1[order(tabla1$cod_cliente, ]

Ejemplo 17.  Estructuras condicionales (if):

SAS:

data tabla1;
set tabla1;
if arpu <= 10 then arpu_g = 1; else arpu_g = 2;
run;     
    
SPSS:

GET FILE=("c:\temp\tabla1.sav")
COMPUTE arpu_g=2.
IF (arpu <= 10 ) arpu_g=1.
SAVE OUTFILE='c:\temp\tabla1.sav'.
EXECUTE.

R:

tabla_sal$arpu_g <- ifelse( arpu >= 10, 1,2)

Ejemplo 18.  Exportar a fichero plano:

SAS:

data_null_;                                                           
set tabla1;                                                                                                                         
file 'C:\temp\salida.txt' ;
informat cod_cliente 8. arpu 8.;                                                                                                 
put cod_cliente arpu;                                                                                                                   
run;  

SPSS:

SAVE TRANSLATE
OUTFILE='C:\temp\salida.txt'
/TYPE=TAB
/MAP
/REPLACE
/FIELDNAMES
/CELLS=VALUES.
     
R:

write.table(tabla1, file = "C:/temp/salida.txt")

Ejemplo 19.  Exportar a csv:

SAS:

proc export data=tabla1
outfile="C:\temp\salida.csv"
dbms= csv replaces;
putnames=yes;
run;
      
SPSS:

SAVE TRANSLATE
OUTFILE='C:\temp\salida.csv'
/TYPE=CSV
/MAP
/REPLACE
/FIELDNAMES
/CELLS=VALUES.

R:

write.csv(tabla1, file=" C:/temp/salida.csv";)

Formación SAS

No hay comentarios:

Publicar un comentario