Schleife

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.
Antworten
anotherstyle
Beiträge: 6
Registriert: 01.06.2011, 15:21

Schleife

Beitrag von anotherstyle »

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

re

Beitrag von drfg2008 »

ja, mit Python-Kenntnissen.

Gruß
drfg2008
anotherstyle
Beiträge: 6
Registriert: 01.06.2011, 15:21

Beitrag von anotherstyle »

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

re

Beitrag von drfg2008 »

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
Anzeige:Statistik und SPSS: Die besten Bücher
Als Buch oder E-Book - Jetzt bestellen
spss datenanalyse
SPSS - Moderne Datenanalyse - Jetzt bestellen!
statistik datenanalyse
Statistik - Der Weg zur Datenanalyse - Jetzt bestellen!
Antworten