calcular factores

8 views
Skip to first unread message

Capitan Decima

unread,
Sep 22, 2009, 10:52:18 AM9/22/09
to SPSSEnMexico
Estimados :

Estoy con un dilema, debo calcular factores de la siguiente manera :

tengo una columna llamada factor, la cual entrega el factor por cada
encuesta.

creo tres variables para cada soporte es decir :

Hab = habito
fre = frecuencia
up = ultimo periodo

de estas variables sales la clasificacion :

Hab

0 = No tiene
1 = tiene

fre
1 = una vez
2 = dos vez
3 = tres vez

up

0 = No tiene
1 = tiene



ahora bien, dada la convinacion



hab fre up factor
1 1 0 565
1 1 0 200
1 1 1 680
1 1 1 1000

de estos casos debo sumar los factores es decir 2445 y dividir la suma
de los que cumplen con 1 1 1 es decir 1680, y esto dividirlo por 2445
anterior, para de esta forma obtener el ponderdor.

hab fre up factor_new
1 1 0 0
1 1 0 0
1 1 1 0,687
1 1 1 0,687

los calcule a mano para 140 soportes, pero ahora devo hacerlo para
1500, es mucho, si alguien me podria ayudar.


atte.

saludos desde chile.






Pessoasc

unread,
Sep 22, 2009, 2:36:23 PM9/22/09
to SPSSEnMexico
Que tal,

A ver que te parece la siguiente propuesta:


DATA LIST LIST (",") / hab fre up factor .
BEGIN DATA
1,1,0,565
1,1,0,200
1,1,1,680
1,1,1,1000
END DATA .

COMPUTE id = hab*100 + fre*10 + up .
EXEC .

SORT CASES BY id (A) .

SAVE OUTFILE='C:\Ejemplo.Sav' /COMPRESSED.

AGGREGATE
/OUTFILE='C:\AGGR.SAV'
/BREAK=id
/factor_sum = SUM(factor).

GET FILE='C:\AGGR.SAV'.

DO IF (id > 0) .
COMPUTE #J = #J + factor_sum .
END IF .
COMPUTE factor_tot = #J .
EXEC .

SORT CASES BY factor_tot (D) .

DO IF ($CASENUM > 1) .
COMPUTE factor_tot = LAG(factor_tot) .
END IF .
EXEC .

COMPUTE factor_new = factor_sum / factor_tot .
EXEC .

FORMATS factor_new (F8.6) .

SORT CASES BY id (A) .

SAVE OUTFILE='C:\AGGR.SAV' /COMPRESSED.

GET FILE='C:\Ejemplo.SAV'.

MATCH FILES /FILE=*
/TABLE='C:\AGGR.SAV'
/RENAME (factor_sum factor_tot = d0 d1)
/BY id
/DROP= d0 d1.
EXECUTE.

****************************************** .

Recibe saludos.

Sergio Pessoa.

Reply all
Reply to author
Forward
0 new messages