- clear
- inp str6 cityseries city1 city2 city3 city4 city5 city6
- city1 1 4 6 9 4 7
- city3 4 7 8 5 7 5
- city5 4 6 7 8 6 9
- city6 5 6 8 4 8 4
- end
- gen cs = substr(cityseries,5,.)
- destring cs,replace force
- ds
- local varlist `r(varlist)'
- di "`varlist'"
- local exclu cityseries cs
- local newlist:list varlist - exclu
- di "`newlist'"
- foreach k of local newlist {
- tempvar v`k' d`k'
- qui gen `v`k'' = substr("`k'",-1,.)
- qui destring `v`k'',replace force
- qui gen `d`k'' = cs - `v`k''
- qui replace `d`k'' = . if `d`k''==0 in 1/l
- qui mdesc `d`k''
- scalar mnum = r(miss)
- if mnum<1 {
- qui drop `k'
- }
- }
有点繁琐,不过能实现,请核对。