2011-03-13 12 views
5

Einige Datensätze enthalten Wertelabels für Kleinbuchstaben, und am Ende werden Diagramme und Tabellen mit den Ergebnissen für "Ägypten", "Jordanien" und "Saudi-Arabien" anstelle der Großbuchstaben angezeigt.Großschreibung von Wertelabels in Stata

Ich denke, dass die proper() String-Funktion kann etwas für mich tun, aber ich finde nicht den richtigen Weg, um den Code für Stata 11 schreiben, die alle Wert Etiketten für eine bestimmte Variable groß geschrieben wird.

Ich muss im Grunde die proper() Funktion auf alle Wertelabels für die Variable ausführen und sie dann der Variablen zuweisen. Ist das möglich mit einer foreach Schleife und Makros in Stata?

Antwort

6

Ja. Lassen Sie uns zunächst einige Beispieldaten mit Etiketten zum Testen erstellen:

clear 
drawnorm x, n(10) 
gen byte v = int(4+x) 
drop x 
label define types 0 "zero" 1 "one" 2 "two" 3 "three" 4 "four" 5 "five" 6 "six" 
label list types 
label values v types 

Hier ist ein Makro, um die Werte der Variablen „v“ assoziiert zu nutzen:

local varname v 
local sLabelName: value label `varname' 
di "`sLabelName'" 

levelsof `varname', local(xValues) 
foreach x of local xValues { 
    local sLabel: label (`varname') `x', strict 
    local sLabelNew =proper("`sLabel'") 
    noi di "`x': `sLabel' ==> `sLabelNew'" 
    label define `sLabelName' `x' "`sLabelNew'", modify 
} 

Nach dem Ausführen es, überprüfen Sie die Ergebnisse:

label list types 
+0

Ausgezeichnet, danke! –