Seite 1 von 1

Label zusammenfassen

BeitragVerfasst: Mi 30. Jun 2021, 12:05
von evagenau
Hallo, ich bräuchte Hilfe bei der Rekodierung einer Variable in Stata.

Es geht um eine Variable mit Ausprägungen von 0-30 bei denen manche Label bei z.B. 1,33333 liegen. Für die bessere Darstellung in einem Balkendiagramm würde ich gerne diese ungeraden Zahlen mit dem Befehl "recode Var1 (1/1.33333/1.4=1) ... " umkodieren. Das hat bei den meisten Zahlen auch geklappt, allerdings werden Periodenzahlen wie eben 1.333333 nicht aufgenommen in das neue Label.

Weiß jemand woran es liegen könnte oder wie ich das Problem behoben werden kann?

Vielen Dank im Voraus,

Eva

Re: Label zusammenfassen

BeitragVerfasst: Mi 30. Jun 2021, 12:48
von Staxa
Offenbar "erwischt" er in diesem Fall den Wert nicht, da er nicht exakt dem Wert entspricht, den du angibst. Das sollte klappen, wenn du float(X) nutzt. Eine Erklärung findet sich hier:

https://www.stata.com/support/faqs/data ... nt-values/

Dann evtl. manuell rekodieren und nicht recode dazu nutzen. Bzw. die fehlenden Werte danach manuell kodieren mit replace.

Re: Label zusammenfassen

BeitragVerfasst: Do 1. Jul 2021, 14:20
von evagenau
Perfekt, stimmt wahrscheinlich stellt Stata in der Tabelle nicht die kompletten Werte dar, sondern nur eine gerundete Zahl. Vielen Dank, das werde ich mal ausprobieren!

Re: Label zusammenfassen

BeitragVerfasst: Do 8. Jul 2021, 10:28
von evagenau
Hello, ich melde mich nochmal, weil ich mittlerweile schon mehrere Varianten ausprobiert und es leider nicht hinkriege, alle Labels umzukodieren.
Ich weiß nicht, ob es zu viel verlangt ist, aber könntest du mir nochmal genauer beschreiben, wie ich dabei vorgehen müsste?
Hab zwischendurch gedacht, dass der wechsel von einer string- zu einer numerischen Variable helfen würde, aber die Variable ist anscheinend schon numerisch...

Danke im Voraus!

Re: Label zusammenfassen

BeitragVerfasst: Do 8. Jul 2021, 10:55
von Staxa
Also numerisch muss sie sein, das siehst du ja bei

Code: Alles auswählen
describe VAR


Und dann würde ich möglichst Wertebereiche nutzen mit recode:

Code: Alles auswählen
recode VAR (1/2 = 1) (2/4 = 2) (4/10 = 3), gen(newvar)


Ansonsten müsstest du einmal ein Datenbeispiel posten, falls das nicht klappt.

Re: Label zusammenfassen

BeitragVerfasst: Mi 14. Jul 2021, 11:40
von evagenau
depressiv_a |
lt | Freq. Percent Cum.
------------+-----------------------------------
0 | 53 1.37 1.37
1 | 60 1.55 2.93
1.25 | 2 0.05 2.98
2 | 113 2.93 5.91
2.222222 | 1 0.03 5.93
2.5 | 2 0.05 5.98
2.857143 | 1 0.03 6.01
3 | 214 5.54 11.55
3.333333 | 7 0.18 11.73


storage display value
variable name type format label variable label
------------------------------------------------------------------------------------------------
depressiv_alt float %9.0g


--> das ist die entsprechende Variablenbeschreibung

Es geht um solche Daten. Wenn ich mit dem normalen recode-Befehl arbeite (recode depressiv_alt (1/1.25 = 1) (2/2.857143 = 2) (3/3.333333 = 3), gen(depressiv_alt_stat)), werden hier alle zahlen korrekt umkodiert außer der 3.333333 ... solche periodischen Zahlen erfasst er mit dem Befehl leider nicht.

RECODE of |
depressiv_a |
lt | Freq. Percent Cum.
------------+-----------------------------------
0 | 53 1.37 1.37
1 | 62 1.61 2.98
2 | 117 3.03 6.01
3 | 214 5.54 11.55
3.333333 | 7 0.18 11.73

Was kann ich da genau machen?
Vielen Dank im Voraus!

Re: Label zusammenfassen

BeitragVerfasst: Mi 14. Jul 2021, 14:28
von Staxa
Hier kannst du einfach einen größeren Wert wählen:

Code: Alles auswählen
recode depressiv_alt (1/1.25 = 1) (2/2.857143 = 2) (3/4 = 3), gen(depressiv_alt_stat)

Re: Label zusammenfassen

BeitragVerfasst: Do 15. Jul 2021, 17:07
von evagenau
Hallo, perfekt danke. Das hatte ich bis dahin noch nicht ausprobiert, vielen Dank!