인용부호가 있는 목록 처리: 값라벨 매크로
// 목록을 처리할때, 가장(?) 어려운 것이 아마도 인용부호가 있는 경우일 것입니다. // 이러한 경우가 발생하는 경우는 스타타에서 값라벨이 여기에 해당합니다. // 값라벨과 유사한 경우가 그래프의 레전드인데, 예전에 처리한 적이 있죠!!^^ // 여튼, 값라벨과 그래프의 레전드는 다음과 같은 형식입니다.. 숫자1 "문자1" 숫자2 "문자2" ...... ==> 1 "임금" 2 "비임금" 3 "전체" ....... //다음과 같은 상황을 생각해 봅시다. // 값이 1 2 3 이 있는 변수 sim이 있는데 각각의 값라벨로 // 1일때, "모형1", 2일때 "모형2" 3일때 "모형3"을 설정해야하는 경우.... // 이런 경우 매크로를 짜봅시다....ㅋ loc sname = "" loc Model = "모형1 모형2 모형3" loc ii 0 // 모델순번 foreach mysim of loc Model { loc ++ii loc sname = `"`sname' `ii' "`mysim'""' // 이 부분이 어렵죠....ㅋ } // 이 루프가 끝나면, 목록이 만들어져 있을터이고, 그 목록을 확인하고 싶으면, di `"`sname'"' // 다음으로 그 목록을 값라벨로 설정해서, 변수 sim에 적용하고 싶다면.... lab def myname `sname' // 여기서 위의 di `"`sname'"' 와 다르다는 것이 핵심..ㅋ lab val sim myname