2011-03-13 3 views
5

일부 데이터 세트는 전체 소문자 값 레이블과 함께 표시되며 대문자 국가 이름 대신 "egypt", "jordan"및 "saudi arabia"에 대한 결과를 보여주는 그래프와 표로 끝납니다.Stata에서 값 레이블 사용하기

proper() 문자열 함수가 나를 위해 뭔가를 할 수 있다고 생각하지만 주어진 변수에 대해 모든 값 레이블을 대문자로 사용하는 Stata 11 코드를 작성하는 올바른 방법을 찾지 못했습니다.

기본적으로 변수의 모든 값 레이블에 proper() 함수를 실행하고 변수에 할당해야합니다. Stata에서 foreach 루프와 매크로를 사용하면 가능합니까?

답변

6

예. 최초의 테스트를 위해 라벨 일부 샘플 데이터를 생성 할 수 : 결과 확인을 실행 한 후

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 
} 

:

을 여기
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 

변수 "V"와 관련된 값을 활용하는 매크로입니다
label list types 
+0

우수 감사합니다. –