Limpieza Variables

8 views
Skip to first unread message

Capitan Decima

unread,
Aug 13, 2009, 5:39:54 PM8/13/09
to SPSSEnMexico

Estimados :

Tengo un dilema :

tengo variables desde

A2_TOT_ESP_1
A2_TOT_ESP_2
A2_TOT_ESP_3
A2_TOT_ESP_4
A2_TOT_ESP_5
A2_TOT_ESP_6
A2_TOT_ESP_7
A2_TOT_ESP_8
A2_TOT_ESP_9
A2_TOT_ESP_10
A2_TOT_ESP_11
A2_TOT_ESP_12

a estas variables les tengo que crear Netos, para esto debo generar
variables auxiliares

xA2_TOT_ESP_1
xA2_TOT_ESP_2
xA2_TOT_ESP_3
xA2_TOT_ESP_4
xA2_TOT_ESP_5
xA2_TOT_ESP_6
xA2_TOT_ESP_7
xA2_TOT_ESP_8
xA2_TOT_ESP_9
xA2_TOT_ESP_10
xA2_TOT_ESP_11
xA2_TOT_ESP_12

aca viene el dilema DEBO LIMPIAR EL CONTENIDO DE ESTAS, ES DECIR LA
RESPUESTA DE LA VARIABLE
xA2_TOT_ESP_1 NO PUEDE REPETIRSE EN EL RESTO POR LO TANTO DEBO
RECORRERLAS TODAS PARA BUSCAR LA QUE SE REPITE Y BLANQUEARLA, DESPUES
LA QUE SIGE CON EL RESTO.

LA SINTAXIS ME QUEDA DEASIADO LARGA, PARA ESTA PREGUNTA SOLO TENGO 12
RESPUESTAS, PERO TENGO HASTA 40 RESPUESTAS POR 60 PREGUNTAS MAS PARA 1
ESTUDIO.
SON EN TOTAL 7, ....EXACTO, LO QUE BUSCO EN UNA FORMA MAS FACIL DE
PORDER LIMPIAR ESTAS VARIAVLES.



ATTE.

UN ABRAZO DESDE CHILE.

Pessoasc

unread,
Aug 14, 2009, 10:36:04 AM8/14/09
to SPSSEnMexico
Estimado,

Ayer ya no pude ver tu mensaje, pero ahora que lo veo te envío mi
propuesta de código, a ver qué te parece.



*************** LIMPIEZA DE VARIABLES .

*** GENERO CONTENEDORES CON PUROS CEROS .

compute xA2_TOT_ESP_1 = 0.
compute xA2_TOT_ESP_2 = 0.
compute xA2_TOT_ESP_3 = 0.
compute xA2_TOT_ESP_4 = 0.
compute xA2_TOT_ESP_5 = 0.
compute xA2_TOT_ESP_6 = 0.
compute xA2_TOT_ESP_7 = 0.
compute xA2_TOT_ESP_8 = 0.
compute xA2_TOT_ESP_9 = 0.
compute xA2_TOT_ESP_10 = 0.
compute xA2_TOT_ESP_11 = 0.
compute xA2_TOT_ESP_12 = 0.
execute.


*** HAGO UN RECORRIDO POR TODOS LOS CÓDIGOS POSIBLES .
*** SI FUESEN SÓLO 80 CÓDIGOS PUEDES CAMBIAR LA INSTRUCCIÓN DEL LOOP
PARA CORRER MÁS RÁPIDO .

loop #I=1 to 999 .
- do if (A2_TOT_ESP_1 = #I | A2_TOT_ESP_2 = #I | A2_TOT_ESP_3 = #I |
A2_TOT_ESP_4 = #I | A2_TOT_ESP_5 = #I | A2_TOT_ESP_6 = #I |
A2_TOT_ESP_7 = #I | A2_TOT_ESP_8 = #I | A2_TOT_ESP_9 = #I |
A2_TOT_ESP_10 = #I | A2_TOT_ESP_11 = #I | A2_TOT_ESP_12 = #I).
- do if (xA2_TOT_ESP_1=0).
- compute xA2_TOT_ESP_1 = #I .
- else if (xA2_TOT_ESP_2=0).
- compute xA2_TOT_ESP_2 = #I .
- else if (xA2_TOT_ESP_3=0).
- compute xA2_TOT_ESP_3 = #I .
- else if (xA2_TOT_ESP_4=0).
- compute xA2_TOT_ESP_4 = #I .
- else if (xA2_TOT_ESP_5=0).
- compute xA2_TOT_ESP_5 = #I .
- else if (xA2_TOT_ESP_6=0).
- compute xA2_TOT_ESP_6 = #I .
- else if (xA2_TOT_ESP_7=0).
- compute xA2_TOT_ESP_7 = #I .
- else if (xA2_TOT_ESP_8=0).
- compute xA2_TOT_ESP_8 = #I .
- else if (xA2_TOT_ESP_9=0).
- compute xA2_TOT_ESP_9 = #I .
- else if (xA2_TOT_ESP_10=0).
- compute xA2_TOT_ESP_10 = #I .
- else if (xA2_TOT_ESP_11=0).
- compute xA2_TOT_ESP_11 = #I .
- else.
- compute xA2_TOT_ESP_12 = #I .
- end if.
- end if.
end loop.
execute.

*** UNA VEZ TOMADOS LOS VALORES ÚNICOS QUITO LOS CEROS DE LAS
VARIABLES CONTENEDORAS .

RECODE xA2_TOT_ESP_1 xA2_TOT_ESP_2 xA2_TOT_ESP_3 xA2_TOT_ESP_4
xA2_TOT_ESP_5 xA2_TOT_ESP_6 xA2_TOT_ESP_7 xA2_TOT_ESP_8 xA2_TOT_ESP_9
xA2_TOT_ESP_10 xA2_TOT_ESP_11 xA2_TOT_ESP_12
(0=sysmis) .
EXEC .



Recibe saludos.

Sergio Pessoa.

Capitan Decima

unread,
Aug 17, 2009, 5:50:25 PM8/17/09
to SPSSEnMexico
Gracias.

Me sirvio de mucho..excelente.




atte.
Reply all
Reply to author
Forward
0 new messages