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

Fragen zu Stata Syntax und Do-Files.

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

Beitragvon hanna » Mo 10. Jun 2013, 12:34

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
hanna
 
Beiträge: 11
Registriert: Mo 29. Apr 2013, 18:49
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

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

Beitragvon daniel » Mo 10. Jun 2013, 14:28

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
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

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

Beitragvon hanna » Mo 10. Jun 2013, 16:22

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...
Dateianhänge
Bildschirmfoto 2013-06-10 um 16.12.06.png
Bildschirmfoto 2013-06-10 um 16.12.06.png (38.78 KiB) 3066-mal betrachtet
hanna
 
Beiträge: 11
Registriert: Mo 29. Apr 2013, 18:49
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

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

Beitragvon daniel » Mo 10. Jun 2013, 22:16

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]
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

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

Beitragvon hanna » Di 11. Jun 2013, 14:46

das habe ich schon versucht, aber Stata sagt
'weight not allowed'
hanna
 
Beiträge: 11
Registriert: Mo 29. Apr 2013, 18:49
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

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

Beitragvon hanna » Di 11. Jun 2013, 14:48

problem solved. hab eine durchgängige id generiert, jetzt gehts...

Danke Daniel!
hanna
 
Beiträge: 11
Registriert: Mo 29. Apr 2013, 18:49
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

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

Beitragvon daniel » Di 11. Jun 2013, 15:10

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.
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post


Zurück zu Stata Syntax

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron