sas subset

SAS-Manteniendo solo observaciones con todas las variables



subset (1)

Tengo un conjunto de datos de información de membresía, y quiero mantener solo a las personas que han estado inscritas continuamente durante todo el año. Hay 12 variables para cada persona, una para cada mes del año con cuántos días durante ese mes se inscribieron. ¿Hay alguna manera de hacer un subconjunto de datos solo para aquellos con un valor> 1 para cada una de las variables del mes?

¡Gracias!


SAS tiene varias funciones de resumen que bien podrían ser lo que estás buscando. Vea min() ( mínimo ) en particular, ya que le permitirá encontrar el mínimo de varias variables. También puede considerar nmiss() ( número de valores perdidos ) n() ( número de valores no perdidos ) si tiene que lidiar con valores perdidos en sus datos.

Las funciones de resumen se pueden pasar listas de variables como esta (en un paso de datos):

minimum = min(var1, var2, var3);

Sin embargo, eso puede alargarse si necesita usar muchas variables. Afortunadamente, SAS proporciona varias formas de referenciar listas de variables para hacer las cosas más ordenadas. Puede leer sobre estas listas de variables aquí . Para usarlos en una función de resumen use el calificador:

minimum = min(of var1-var12); maximum = max(of var:); blanks = nmiss(of _NUMERIC_);

Finalmente, querrá usar sus nuevos datos encontrados para decidir si incluirán los datos. Para hacer esto en un paso de datos, consulte la declaración de output ( guía del usuario ):

if min(of var:) > 1 then output;

O si tiene ganas de aprender un poco más sobre la sintaxis de SAS, puede intentar usar un resultado implícito leyendo el último enlace.

En general, es preferible hacer preguntas específicas y mostrar su trabajo actual en SO, y recomendaría usar Google para responder sus preguntas básicas mientras aprende los fundamentos. Hay una gran cantidad de documentación disponible para ayudarte.