jueves, 27 de julio de 2017

Felices vacaciones

Os deseo unas felices vacaciones, como las del data science del dibujo que a falta de pocas horas para empezar sus vacaciones, les cuesta empezar a desconectar y está planeando unas 'data driven holidays' ;-)..., no caigáis en el mismo error...



jueves, 20 de julio de 2017

Equivalencias SAS, R y SPSS (IV)

Incluímos otro post dentro de la serie de equivalencias entre SAS, R y SPSS, que esperamos puedan ser de utilidad ante la necesidad de conocer equivalencias entre un lenguaje y otro (migraciones, interpretación de procesos, etc..).



Los anteriores post de esta serie:

Equivalencias SAS, R y SPSS (I)

Equivalencias SAS, R y SPSS (II)

Equivalencias SAS, R y SPSS (III)

En este post incluímos ejemplos sobre tratamientos de datasets por grupos de registros (first y last de SAS) y una lista de casos de estadística descriptiva.



1) Uso de agrupaciones (first y last)

SAS:

/* Obtener el último registro de un grupo */

PROC SORT DATA=libsas.ventas;
  BY fecha;
RUN;

DATA libsas.ventas1;
  SET  libsas.ventas;
  BY   fecha;
  IF   last.fecha;
RUN;

R:

ventas <- read_delim("C:/temp/ventas.txt",
                     ";", escape_double = FALSE, trim_ws = TRUE)

myBys <- data.frame(ventas$fecha)
mylastList <- by( ventas,myBys,tail,n=1 )
mylastList

#Back into a data frame:
mylastDF <- do.call(rbind, mylastList)
mylastDF

SPSS:

GET FILE='ventas.sav'.

SORT CASES BY fecha.
MATCH FILES FILE=* /By ventas /LAST=ultventa.
SELECT IF ultventa.
LIST.


2) Procedimientos estadísticos:

SAS:

/* Estadisticos básicos */
PROC MEANS data=tabla1;
VAR var1;
RUN;

/* Distribuciones */
PROC UNIVARIATE data=tabla1;
VAR var2;
RUN;

/* Tabla de frecuencias */
PROC FREQ data=tabla1;
TABLES var1;
RUN;

/* Correlaciones */
PROC CORR data=tabla1;
VAR var1 var3;
RUN;

/* Regresion lineal */
PROC REG data=tabla1;
  MODEL var3= var1 var2;
 RUN;

R:

/* estadisticos básicos */

summary(tabla1$var1)

/* Distribuciones y frecuencias */

table(tabla1$var1)
hist(tabla1$var2)

/* Correlaciones */

cor(tabla1$var3, tabla1$var1)

/* Regresión lineal */

lm( var3 ~ var1 + var2, data=tabla1)


SPSS:

GET FILE='tabla1.sav'.
DATASET NAME tabla1 WINDOW=FRONT

/* estadisticos basicos */
DESCRIPTIVES VARIABLES=var1
  /STATISTICS=MEAN STDDEV VARIANCE
   MIN MAX SEMEAN .

/* frecuencias */
FREQUENCIES VARIABLES=workshop TO q4.

/* correlaciones */
CORRELATIONS
  /VARIABLES=var3 TO var1.

/* Regresion lineal */
REGRESSION
  /MISSING LISTWISE
  /STATISTICS COEFF OUTS R ANOVA
  /CRITERIA=PIN(.05) POUT(.10)
  /NOORIGIN
  /DEPENDENT var3
  /METHOD=ENTER var1 var2.


Formación SAS

lunes, 10 de julio de 2017

Videotutorial: ordenación de datos y gestión de duplicados

Os dejo un video donde se explica paso a paso como ordenar tablas de SAS en base a una clave determinada y como detectar y gestionar registros duplicados en base a esa clave:



Formación SAS

Videotutorial: consultas parametrizadas con SAS

Os dejo un video donde se explica paso a paso cómo realizar consultas parametrizadas con SAS: