Seite 1 von 1

dummy für erfüllte bedingung in 5+ von 10 fällen

BeitragVerfasst: Mo 10. Jun 2013, 12:34
von hanna
Liebe Statalisten,
Ich möchte eine dummy variable generieren für den Fall dass bei einem wiederholten Experiment die Bedingung mindestens 5 mal erfüllt wurde (von 10), um eine Klassifizierung der Probanden vorzunehmen.
Im Moment habe ich es so gelöst, dass ich zunächst die Erfüllung der Bedingung als Dummy Variable festhalte und dann mit

by ID, sort: gen reciprocrator = 1 if sum(dummycondition) >=5 einen Dummy für die Klassifizierung vornehme.
Allerdings gibt dieser Dummy mir dann nicht für alle zehn wiederholten Experimente von Proband ID1 die '1' sondern nur für die letzten Experimente, d.h. wenn die Summe über 5 kommt. Könnte später ein Problem werden..

Kann mir hier jemand weiterhelfen?

Beste Grüße

Re: dummy für erfüllte bedingung in 5+ von 10 fällen

BeitragVerfasst: Mo 10. Jun 2013, 14:28
von daniel
Ich hab das Überflogen und kann nur erahnen, wie die Daten aussehen, aber versuch mal (mögliche fehlende werte ignorierend) folgende minimale Modifikation

Code: Alles auswählen
by ID ,sort : gen replicator = sum(dummycondition) >= 5

Re: dummy für erfüllte bedingung in 5+ von 10 fällen

BeitragVerfasst: Mo 10. Jun 2013, 16:22
von hanna
Hallo Daniel,

Ich hab dir meinen Code und einen Snapshot mitgeschickt.. Ich will meine IDs in Klassen sortieren, die in der Theorie nicht eindeutig abgegrenzt sind. Für jede ID - erste Spalte - gibt es elf Beobachtungen. Die drei conditions sind die Bedingungen für die Zuordnung zur jeweiligen Klasse. Für diese mache ich Dummies. Die letzte Spalte soll dann einfangen, ob beispielsweise derjenige mit ID 11008 eine von den 3 conditions mehr als 5 mal gewählt hat, und deshalb zugeordnet werden kann. 11009 kann beispielsweise zu condition C zugeordnet werden. Allerdings zeigt die letzte Spalte 3x die Beobachtung '3' - nämlich sobald sum(conditionC)>5, macht Stata ja richtig.. Nur ich brauche um weiter arbeiten zu können ein Datenset mit der '3' in der letzten Spalte für alle elf Beobachtungen..

Ich hoffe das ist jetzt klarer.
Oder auch nicht :D

Code: Alles auswählen
gen conditionA = 0
replace conditionA = 1 if individual<=group/2+1 & individual>=group/2-1

gen conditionB = 0
replace conditionB = 1 if individual>=group/2+1

gen conditionC = 0
replace conditionC = 1 if individual<=group/2-1

gen class = 0
by hh_id, sort: replace class = 1 if sum(conditionA) > 5
by hh_id, sort: replace class = 2 if sum(conditionB) > 5
by hh_id, sort: replace class =3 if sum(conditionC) > 5

label define...

Re: dummy für erfüllte bedingung in 5+ von 10 fällen

BeitragVerfasst: Mo 10. Jun 2013, 22:16
von daniel
Ich hoffe das ist jetzt klarer.


Naja.

Nur ich brauche um weiter arbeiten zu können ein Datenset mit der '3' in der letzten Spalte für alle elf Beobachtungen.


Suchst Du etwas in der Richtung

Code: Alles auswählen
bys hh_id : replace class = class[_N]

Re: dummy für erfüllte bedingung in 5+ von 10 fällen

BeitragVerfasst: Di 11. Jun 2013, 14:46
von hanna
das habe ich schon versucht, aber Stata sagt
'weight not allowed'

Re: dummy für erfüllte bedingung in 5+ von 10 fällen

BeitragVerfasst: Di 11. Jun 2013, 14:48
von hanna
problem solved. hab eine durchgängige id generiert, jetzt gehts...

Danke Daniel!

Re: dummy für erfüllte bedingung in 5+ von 10 fällen

BeitragVerfasst: Di 11. Jun 2013, 15:10
von daniel
Code: Alles auswählen
bys hh_id : replace class = class[_N]

[...]
das habe ich schon versucht, aber Stata sagt
'weight not allowed'


Der Vollständigkeit halber soll erwähnt sein, dass Du hier mit an Sicherheit grenzender Wahrscheinlichkeit einen Tipp- oder sonstigen Fehler gemacht hast. Es handelt sich bei der Zeile code mit absoluter Sicheheit um legale Stata Syntax.