use "locationdata.dta", clear
gen ring=.
* Philly City Hall
gen lat_center = 39.9525468
gen lon_center = -75.1638855
destring(INTPTLAT10), replace
destring(INTPTLON10), replace
vincenty INTPTLAT10 INTPTLON10 lat_center lon_center , hav(distance_km) inkm
quietly su distance_km
local min = r(min)
replace ring=0 if (`min' <= distance_km < 1)
local max = ceil(r(max))
* forval loop does not work
forval i=1/`max'{
local j = `i'+1
replace ring=`i' if (`i' <= distance_km < `j')
}
포인트에서 1km 씩 반지를 그립니다. 코드의 마지막 부분 (forval
)이 작동하지 않습니다. 여기 뭔가 잘못 됐어?Stata : for 값의 경우 대체
편집은 다음과
forval
부분에 대한 결과가로 :
. forval i=1/`max'{
2. local j = `i'+1
3. replace ring=`i' if `i' <= distance_km < `j'
4. }
(1746 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
....
그래서, i = 2
이후 작동하지 않습니다 교체.
"작동하지 않음"이란 무엇을 의미합니까? 더 자세하게 얘기해 주 시겠어요? –
원본 질문에 결과를 추가했습니다. 감사. –