Sicher ganz einfach! Wenn man es kann!

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
Henrikx
Beiträge: 5
Registriert: 20.06.2011, 14:10

Sicher ganz einfach! Wenn man es kann!

Beitrag von Henrikx »

Hall zusammen,
ich hab von Spss leider so gut wie (noch) keine Ahnunung.
also...
ich hab über 8 Wochen von ca 30 Probanden täglich verschiedene Daten erhoben.
in meiner Datenansicht stehen die Daten etwa so
Prob._____Tag____MerkmalX
P1.................1............0
P1.................2............1
P1.................3............1
P1.................4............0
...
P2.................1............0
P2.................2............0
p2.................3............1
P2.................4............0
...
usw.

nun möchte ich einfach nur das mir die Häugikeiten vom MerkmalX für jeden Probanden innerhalb des Untersuchungszeitraumes ausgegeben werden.
also
P1 MerkamlX 15
P2 MerkamlX 5
usw.

ist sicherlich ziemlich einfach.

Vielen Dank für eure Hilfe.
Gruß Henrikx
Generalist
Beiträge: 1733
Registriert: 11.03.2010, 22:28

Beitrag von Generalist »

Analysieren / Mittelwerte vergleichen / Mittelwerte. Dort Proband als unabhängige Variable, Merkmal X als abhängige Variable, bei Optionen Summe anfordern.
drfg2008
Beiträge: 2391
Registriert: 06.02.2011, 19:58

re

Beitrag von drfg2008 »

ja das ist ganz einfach, wenn Merkmal X nur als 1 und 0 codiert ist.

Das geht über

Daten -> Daten aggregieren -> Break Variable=Person, Zusammenfassung: Summe (Variable X)

oder Syntax

Code: Alles auswählen

DATASET DECLARE agg.
AGGREGATE
  /OUTFILE='agg'
  /BREAK=prob
  /merkmalX_sum=SUM(merkmalX).




Gruß
drfg2008
Henrikx
Beiträge: 5
Registriert: 20.06.2011, 14:10

Beitrag von Henrikx »

gewusst wie! vielen Dank euch beiden für die schnelle Antwort!
Henrikx
Beiträge: 5
Registriert: 20.06.2011, 14:10

Beitrag von Henrikx »

Ich hab da noch eine Frage und diesmal wirds schwieriger!
Kann ich mir auch Häufigkeit von "Perioden" für jeden Probanden Ausgeben lassen?
Wenn also an Tag 2 und 3 MerkamlX auftritt, dann ist es eine Periode. An Tag 8-12 wieder-> 2 Periode usw.?

Dazu wäre eine Unterscheidung noch super ob die Perioden in der 1. oder in der 2. Hälfte war!

Ich hoffe es ist alles verständlich.

ps: das Merkmal ist nur mit 0 und 1 codiert
Generalist
Beiträge: 1733
Registriert: 11.03.2010, 22:28

Beitrag von Generalist »

Die folgende Syntax erzeugt eine Variable "serie", die am 2. Tag einer Serie den Wert "1" erhält. Die Daten sollen nach Person und Tag geordnet vorliegen.

IF(merkmal = 1 and LAG(merkmal) = 1 and LAG(merkmal,2) = 0 and
person = LAG(person)) serie = 1 .
EXECUTE .

IF(tag=2 and merkmal=1 and LAG(merkmal)=1) serie = 1 .
EXECUTE .

Anzahl der "Einsen" je Proband (Prozedur Mittelwerte vergleichen, Anfordern von "Summe") ist die Zahl der Serien.

-- Hab gerade kein SPSS da, daher ohne Gewähr. --

Wenn es noch nach Tag eingeteilt werden soll, kannst Du erstmal eine Variable für die Phase berechnen lassen (eben mit "1" für Tag <= 28 und "2" für Tag > 28 ) und die als zusätzlich als Schichtungsvariable in "Mittelwerte" verwenden.
Henrikx
Beiträge: 5
Registriert: 20.06.2011, 14:10

Beitrag von Henrikx »

klappt soweit ganz gut. Vielen Dank!
wie muss ich die syntax verändern damit er serien (sind ja dann genau genommen keine mehr) die nur einen tag lang sind ebenfalls als 1 darstellt?
Henrikx
Beiträge: 5
Registriert: 20.06.2011, 14:10

DIY

Beitrag von Henrikx »

so hab das Ganze selber hinbekomme! Bestimmt nicht die eleganteste Lösung aber sie geht. so richtig traue ich dem Braten zwar nicht, aber no risk no fun !!

gibt es auch ein Gegenteil zu LAG? also schaue dir den nächsten Wert an ?

Code: Alles auswählen

IF(anfall = 1 and LAG(anfall) = 1 and LAG(anfall,2) = 0 and 
vpnr = LAG(vpnr)) Attacke= 1 . 
EXECUTE . 


IF(anfall = 0 and LAG(anfall) = 1  and LAG(anfall,2) = 0 and 
vpnr = LAG(vpnr)) Attacke = 1 . 
EXECUTE . 

 iF(anfall = 1 and LAG(anfall) = 1  and 
vpnr ~=   LAG(vpnr)) Attacke = 1 . 
 EXECUTE . 

 
if(anfall = 1 and Lag(anfall)= 0 and wtag=56)  =1.
Execute
Generalist
Beiträge: 1733
Registriert: 11.03.2010, 22:28

Beitrag von Generalist »

Henrikx hat geschrieben:klappt soweit ganz gut. Vielen Dank!
wie muss ich die syntax verändern damit er serien (sind ja dann genau genommen keine mehr) die nur einen tag lang sind ebenfalls als 1 darstellt?
Solche Sachen solltest Du von vornherein präzise darstellen, da in dem Fall die ganze Syntax einfacher ist. Wenn anfall = 1 und vorhergehender Wert = 0, dann serienbeginn = 1 . wenn anfall = 1 und tag = 1, dann serienbeginn = 1 .

Umgekehrte LAG gibt es nicht, Du kannst Dir damit behelfen, die Datei umgekehrt zu sortieren.
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