Fragen und Diskussionen rund um die Arbeit mit SPSS. Für allgemeine Statistik-Themen, die nicht mit SPSS zusammenhängen, bitte das Statistik-Forum nutzen.
Torrance
Beiträge: 3 Registriert: 02.02.2011, 13:39
Beitrag
von Torrance » 02.03.2011, 10:39
Hallo ihr alle,
Im Prinzip sagt der Title schon ganz gut was ich wissen möchte. Ich habe einen SPSS file mit einigen vielen Zeilen und würde jetzt gerne wissen wie viele der Werte in einer Zeile unterschiedlich sind.
Also quasi Beispiel:
Zeile 1: 1 2 5 5 5 hat 3 verschiedene werte
Zeile 2: 1 5 6 3 9 hat 5.
Ihr habt Zeit bis Freitag
Tausend Dank!
drfg2008
Beiträge: 2391 Registriert: 06.02.2011, 19:58
Beitrag
von drfg2008 » 05.03.2011, 17:10
Ich sehe das genauso wie du: In der ersten Zeile stehen 3 verschiedene Werte, in der zweiten 5.
Gruß
P.S. Heute ist Samstag.
drfg2008
drfg2008
Beiträge: 2391 Registriert: 06.02.2011, 19:58
Beitrag
von drfg2008 » 06.03.2011, 22:42
* meine python version von david marsos original (UGA.EDU) -----------.
Code: Alles auswählen
input program.
loop a =1 to 100 by 1.
end case.
end loop.
end file.
end input program.
exe.
comp v1 =RV.BINOM(5,0.5).
comp v2 =RV.BINOM(5,0.5).
comp v3 =RV.BINOM(5,0.5).
comp v4 =RV.BINOM(5,0.5).
comp v5 =RV.BINOM(5,0.5).
comp v6 =RV.BINOM(5,0.5).
comp v7 =RV.BINOM(5,0.5).
comp v8 =RV.BINOM(5,0.5).
EXECUTE .
DELETE VARIABLES a.
*------ Python Variante: erkennt und zählt automatisch die Variablen des gesamten Datensatzes aus ----------.
COMPUTE RowID=$CASENUM.
SAVE OUTFILE "C:\differentValues.sav".
begin program.
import spss
FileN=spss.GetVariableCount()-1
varName_1 = spss.GetVariableName(0)
varName_n = spss.GetVariableName(spss.GetVariableCount()-2)
spss.Submit("VECTOR V=" + varName_1 +" to " + varName_n + ".")
spss.Submit("LOOP #=1 TO "+ str(FileN) + ".")
spss.Submit(r"""COMPUTE Var=V(#).
XSAVE OUTFILE "temp.sav" / KEEP RowID Var.
END LOOP.
EXE.""")
end program.
GET FILE "temp.sav".
AGGREGATE OUTFILE * / BREAK RowID Var /N=N.
AGGREGATE OUTFILE * / BREAK RowID /Unique=N.
MATCH FILES / FILE "C:\differentValues.sav" / FILE * / BY RowID.
EXECUTE .
drfg2008