나중에 변수 이름을 내 do-file에서 참조하도록 설정하는 Stata에 매크로를 만들려고합니다. 그래서 변수 이름을 로컬 매크로로 바꾸려고합니다.변수를 참조하는 로컬 매크로는 어떻게 사용합니까?
예시적인 데이터는 다음
ID Indicator1 Indicator2 Amount
1 1 0 10
2 0 1 2
3 0 0 3
4 1 0 5
5 1 1 20
내 데이터 지표들을 갖는다. 하지만 한 번에 하나의 지표로만 작업하면됩니다. 그래서 저는 현재 작업하고있는 지시자를 매크로에 넣어서 전체 코드에서 한 가지만 바꾸어야합니다. 내 코드는 다음과 같습니다
local myvar = "Indicator"
내가 원하는 것은이 같은 것을 사용할 수있게하는 것입니다 그러나
sum Amount if "`myvar'" == 1
, 내가 정의 된 "type mismatch"
도 myvar
불구라는 오류가 계속. 중 하나를 입력하여
감사합니다. 나는''myvar '== 1'이라면 sum Amount를 사용하고, 이번에는 '== 1 invalid name'이라고 정의했다. – Kany
아마 그 시점에서 로컬 매크로가 보이지 않는다는 것을 의미합니다. 이것은 do 파일을 청크로 실행하는 일반적인 부작용입니다 (예 : 한 번에 한 줄씩. 지역 정보 란 지역 정보 (코드 덩어리)를 의미합니다. 테스트하기 전에, 매크로를 사용하기 전에 매크로를 디스플레이 해보십시오 :'macro list'는 그것을 수행하거나'di "\'myvar '"'를 수행합니다. 해결 방법은 파일을 청크로 실행하지 말고 어떤 경우에는'local' 정의가 보이는지 확인하는 것입니다. –
오케이. 문제는 내가 할일 파일을 청크로 실행하고 있다는 것입니다. 이제 작동합니다. :) – Kany