From: FeedMyInbox <upd...@feedmyinbox.com>
Date: 5 September 2009 07:12:07 GMT+01:00
To: lasu...@gmail.com
Subject: 9/5 Comunidad de Usuarios SAS en Español
Reply-To: upd...@feedmyinbox.com
Comunidad de Usuarios SAS en Español
Muestreo Sistemático con SAS
September 4, 2009 at 6:58 am El muestreo sistemático consiste en la elección de una muestra a partir de los elementos de una lista según un orden determinado, o recorriendo la lista a partir de un número aleatorio determinado. Esta es la definición más sencilla de muestreo sistemático sin tener que profundizar mucho.
Un pequeño ejemplo de como realizar un muestreo sistemático usando el Proc SurveySelect.
Vamos a suponer que deseamos crear una muestra sistemática del data set sashelp.class y que contenga el 50% de la información. El código sería:
PROC SURVEYSELECT data=sashelp.class out=_sys_ method=sys samprate=0.5 OUTSORT=class_sorted;
control age;
run;
Donde,
Method=sys indica que la selección será sistemática
Samprate=0.5 indica que el tamaño de la muestra será del 50%
Outsort= es el nombre del data set ordenado por la variable utilizada en la sentencia CONTROL
Control= Esta opción específica la variable que deseamos utilizar para crear la muestra, así el data set es ordenado por esta variable para posteriormente hacer la selección sistemática.Sin la opción control, la muestra será seleccionada en el orden en el que aparecen en originalmente los datos.
SASludos,
Alberto
Macro %Obs: Utilidad para Enterprise Guide
September 4, 2009 at 5:25 am Para aquellos de ustedes que solían trabajar en SAS Base y que por alguna razón (obligado o por gusto) hoy en día están usando Enterprise Guide (mi caso!!!), se habrán dado cuenta que en las propiedades de data set ya no es posible chequear el número de observaciones o registros.
Si bien es verdad que haciendo click en la barra lateral te dice cuantos registros tiene cuando el data set esta abierto, también es verdad que esto es un fastidio especialemente cuando en data mining necesitamos dividir el data set en pequeños data sets y constatar que la suma de todos ellos es igual al data set original (al menos en número de registros).
Es por ello que escribí una macro muy sencilla que imprimi en el log el nro de registros de un data set especifíco.%macro Obs(dsn);
%if %sysfunc(exist(&dsn)) %then
%do;
data _null_;
if 0 then set &dsn nobs=nobs;
dsn="&dsn";
put dsn = nobs;
stop;
run;
%end;
%else
%put ERROR: Data set &dsn does not exist.;
%mend;Para los que no tienen noción de macros, ejecutan el código anterior primeramente para cargar la macro en memoria (bueno realmente se carga en work.sasmacr pero no nos enredemos con eso ahora) y posteriormente la invocan así:
%obs(sashelp.class);sashelp.class es solo un ejemplo, puede sustituir este data set por cualquier otro.
Espero le sea de tanta utilidad como lo es para mí.
SASludos,
Alberto![]()
This email was sent to lasu...@gmail.com. Create Your Account
Don't want to receive this feed any longer? Unsubscribe here.