Stata

2011-03-13 17 views
5

'da büyük harf etiketlerinin bulunması Bazı veri kümeleri tam küçük harfli etiketlerle gelir ve büyük harfle yazılan ülke adları yerine "Mısır", "Ürdün" ve "Suudi Arabistan" için sonuçları gösteren grafikler ve tablolarla sonuçlanır.Stata

proper() dize işlevinin benim için bir şey yapabildiğini tahmin ediyorum, ancak belirli bir değişken için tüm değer etiketlerini kaplayacak olan Stata 11 için kod yazmanın doğru yolunu bulamıyorum.

Temelde proper() işlevini değişken üzerindeki tüm değer etiketlerinde çalıştırmam ve sonra değişkene atamam gerekiyor. Bu, Stata'da foreach döngü ve makroları kullanarak mümkün mü?

cevap

6

Evet. İlk önce test için etiketlerle bazı örnek verileri yapalım: Sonuçlar kontrol bunu çalıştırdıktan sonra

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 
} 

:

İşte
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 

değişken "v" ile ilişkili değerleri yararlanmak için makro var
label list types 
+0

Mükemmel, teşekkürler! –

İlgili konular