Stata 11 rechnet falsch

Fragen zu Stata Syntax und Do-Files.

Stata 11 rechnet falsch

Beitragvon der_grund » Fr 15. Nov 2013, 02:41

Hallo,

ich habe ein etwas eigenartiges Problem mit Stata. Ich möchte eine neue variable erstellen und zu diesem Zweck einfache Rechenoperationen (*, /) durchführen. Zwar erstellt Stata mir ohne Fehlermeldung die neue Variable, aber der Wert stimmt einfach nicht. Ich kann auch nicht nachvollziehen, was genau falsch läuft.

Hier eine Zeile aus meinem Datensatz:
Code: Alles auswählen
countryname   countrycode   populationtotal   gdpgrowth   gdppc        internetusersper100peoplenew   users
Albania       ALB           3150143           3,5         3764,326348  45                             6426292




Wie users berechnet wird, ist aus dem do file Ausschnitt erkennbar:
Code: Alles auswählen
insheet using "Daten\Data_Worldbank.csv", delimiter(";")

foreach var of varlist gdpgrowthannual gdppercapitacurrentus internetusersper100people {
encode `var' , generate(`var'new)
drop `var'
}

rename gdpgrowthannualnew  gdpgrowth
rename gdppercapitacurrentusnew  gdppc

generate users=internetusersper100peoplenew*populationtotal/100

display internetusersper100peoplenew[2]*populationtotal[2]/100
//correct would be 1.417.564,35 instead of 6.426.292


Ich kann einfach nicht nachvollziehen, was genau Stata da macht. Aufgrund der Encodierung sollte die Berechnung doch eigentlich kein Problem sein, oder? gdpgrowth, gdppc und internetusersper100people sind jeweils vom Typ "long".

Ich hoffe, ihr könnt mir helfen. Meinen Datensatz könnt ihr hier finden: https://www.dropbox.com/s/02cpn0tsqk6wt ... ldbank.csv

Edit: Eben habe ich den Befehl
Code: Alles auswählen
generate users=internetusersper100peoplenew

ausprobiert. Für die oben bereits gezeigte Zeile ergibt sich bei internetusersper100peoplenew=45 ein users Wert von 204. Das verwirrt mich jetzt noch mehr...
der_grund
 
Beiträge: 3
Registriert: Fr 15. Nov 2013, 02:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Stata 11 rechnet falsch

Beitragvon daniel » Fr 15. Nov 2013, 15:01

Ich hab das nur überflogen, aber -encode- macht aus einer string Variablen eine numerische Variable mit den Ausprägungen 1, 2, ...k. Da dieser Variablen ein Wertelabel angehängt wird, sieht es für Dich so aus, als ständen dort andere Werte drin. Dem ist nicht so. Das siehst Du z.B. im Dateneditor mittels -br ,nol- Stata rechnet definitiv nicht falsch!

Du willst -destring- nicht -encode-.
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: Stata 11 rechnet falsch

Beitragvon der_grund » Fr 15. Nov 2013, 15:28

Hallo daniel,

danke für den Hinweis (dann hatte ich encode wohl einfach falsch verstanden). Ursprünglich hatte ich auch vor, destring zu verwenden, aber dann gab es eine Fehlermeldung, dass nichtnumerische Zeichen enthalten waren und destring wurde nicht durchgeführt. Aber dann werde ich jetzt mal versuchen, dieses Problem zu lösen.

Falls jemand dazu eine Idee hat: Immer her damit! ;)

Grüße,
der_grund
der_grund
 
Beiträge: 3
Registriert: Fr 15. Nov 2013, 02:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Stata 11 rechnet falsch

Beitragvon daniel » Fr 15. Nov 2013, 16:03

Mag sein, das -destring-Probleme mit dem deutschen Kommata (,) hat. Wenn es ein Komma ist, dann verwende die Option -dpcomma- , ansonsten kann die -ignore- Option hilfreich sein.
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: Stata 11 rechnet falsch

Beitragvon der_grund » Fr 15. Nov 2013, 16:30

Die Option dpcomma hat zum gewünschten Ergebnis geführt. Vielen Dank für die schnelle und gute Hilfe!

Grüße, der_grund
der_grund
 
Beiträge: 3
Registriert: Fr 15. Nov 2013, 02: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