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.
anotherstyle
Beiträge: 6 Registriert: 01.06.2011, 15:21
Beitrag
von anotherstyle » 01.06.2011, 15:34
Hallo und erstmal sorry für den Titel
Ich suche jetzt seit zwei Stunden, finde aber keine Lösung für mein Problem. Ich will für ~200 Variablen (je nach Interpretation ordinal- od intervallskaliert) berechnen, ob eine andere Variable (nominal) einen Einfluss hat. Dazu habe ich folgenden Code genommen:
Code: Alles auswählen
UNIANOVA v_x BY v_5
/METHOD=SSTYPE(3)
/INTERCEPT=INCLUDE
/CRITERIA=ALPHA(0.05)
/DESIGN=v_5.
und eben x immer um eins erhöht. Kann ich das SPSS automatisch machen lassen? Oder stumpf copy&paste?
Wäre es zusätzlich möglich, nur dann eine Ausgabe zu machen, wenn das Ergebnis signifikant ist?
Vielen Dank schon mal
drfg2008
Beiträge: 2391 Registriert: 06.02.2011, 19:58
Beitrag
von drfg2008 » 01.06.2011, 18:24
ja, mit Python-Kenntnissen.
Gruß
drfg2008
anotherstyle
Beiträge: 6 Registriert: 01.06.2011, 15:21
Beitrag
von anotherstyle » 01.06.2011, 18:29
Oh je..
Hab den ersten Teil jetzt mittels PHP gelöst (einfach den code 200mal ausfüllen lassen).
Das mit der Signifikanz würde mit python gehen?
drfg2008
Beiträge: 2391 Registriert: 06.02.2011, 19:58
Beitrag
von drfg2008 » 02.06.2011, 10:12
die Frage wäre, wie sinnvoll die Vorgehensweise ist. Bei 200 Versuchen entsteht eine Fehler-Kumulation.
Mit Python ein ähnliches Problem (Regression)
Code: Alles auswählen
OMS /DESTINATION VIEWER=NO /TAG='suppressall'.
BEGIN PROGRAM.
import spss
i = 1
j = 100
filenumber = str(i)+"_" +str(j)
while i < j:
percent = float(i)
percent=percent/100
percent=str(percent)
spss.Submit("""
input program.
loop a =1 to 10**5 by 1.
end case.
end loop.
end file.
end input program.
COMPUTE uv1=RV.NORMAL(100,10).
COMPUTE missing=RV.BERNOULLI(""" + percent + """).
COMPUTE av=uv1 + RV.NORMAL(0,10).
COMPUTE uv_missing=uv1 * missing.
MISSING VALUES uv_missing (0).
RMV /uv_missing_1=SMEAN(uv_missing).
*RMV /uv_missing_1=LINT(uv_missing).
oms select tables
/destination format = sav
outfile = 'C:/user/regression_""" + filenumber +""".sav'
/if commands =['Regression']
subtype = ['Coefficients'].
REGRESSION
/MISSING LISTWISE
/STATISTICS COEFF OUTS R ANOVA
/CRITERIA=PIN(.05) POUT(.10)
/NOORIGIN
/DEPENDENT av
/METHOD=ENTER uv_missing_1.
""")
i+=1
END PROGRAM.
OMSEND .
Makroprogrammierung wäre einfacher.
Gruß
drfg2008