I really like looking at the codes you guys come up with. They're great, I really like understanding the rationale behind them.
The main issue I see here is how representative of the whole dataset is this example we've been working with. This might be just a portion of the dataset, and whatever solutions appear to the issues shown, they might just be examples of extra stuff to come. I honestly hope that new data is not being entered on Marvin dataset (troubleshooting this while new issues keep arising is a nightmare). Additionally, I cannot stress enough how a simple -tab city- would be helpfull here (assuming no more data is being entered). Being able to look to all values in city would make creating the cleaning code so much easier.
Marvin, please try the following:
Please don't save the data after the -contract city- command. Running it followed by a -dataex city- will allow you to generate a code that contain a single observation of each actual answer in city. Hopefully there won't be many 
Best;
The main issue I see here is how representative of the whole dataset is this example we've been working with. This might be just a portion of the dataset, and whatever solutions appear to the issues shown, they might just be examples of extra stuff to come. I honestly hope that new data is not being entered on Marvin dataset (troubleshooting this while new issues keep arising is a nightmare). Additionally, I cannot stress enough how a simple -tab city- would be helpfull here (assuming no more data is being entered). Being able to look to all values in city would make creating the cleaning code so much easier.
Marvin, please try the following:
Code:
contract city dataex city

Best;
Comment