Pessoasc
unread,Sep 22, 2009, 2:36:23 PM9/22/09Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
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.