I have a dataset on commuting zones (labour markets) and US adoption of robot capital. My dataset looks like:

Code:
* Example generated by -dataex-. For more info, type help dataex
clear
input double czone float us_adoption
 100  2.585151
 200 2.2093573
 301 1.9508333
 302 1.6739242
 401 1.2181147
 402  .7855238
 500  1.595398
 601  .9040157
 602  2.166966
 700 2.1553154
 800  3.495704
 900 1.5596316
1001  1.565926
1002 1.6194605
1100 1.6159388
1201 1.5096195
1202 1.0066879
1203 2.0085452
1204 1.6160336
1301  1.821532
1302  1.221951
1400 1.5225252
1500  .9541722
1600   1.91756
1701 1.4385277
1702 1.7229594
1800  1.667504
1900 1.1990824
2000  .8277416
2100 1.3121743
2200  .9216021
2300 1.6583214
2400  .8563671
2500  .9768367
2600 1.6219492
2700  .8631381
2800  1.766617
2900  1.166489
3001 3.4663935
3002  1.787124
3003 1.9252738
3101 1.3373003
3102 1.1053903
3201  .3273247
3202    .83947
3203 1.4701393
3300  .6207489
3400  .7213547
3500 1.0126672
3600  .4905821
3700 1.0742888
3800  .5529601
3901  .6475732
3902    .45945
4001 1.3522857
4002 1.6055268
4003  .7432803
4004  .9768627
4101  .7313774
4102 1.0792868
4103 1.2892325
4200 1.1507634
4301  1.509801
4302 2.0446653
4401 1.0132966
4402  2.074212
4501  .8653903
4502  .4686881
4601 1.8845667
4602 1.9681238
4701  3.466393
4702 2.0482712
4800 1.7267092
4901 2.7719064
4902  2.697688
4903  2.989156
5000 1.8443165
5100  2.679819
5201  2.434012
5202 1.2118442
5300 2.5579994
5401 4.0308743
5402   5.01121
5500  5.251618
5600 2.2618046
5700  5.174437
5800 2.9632814
5900 1.8383553
6000  3.604908
6100 2.0682788
6200 2.6774776
6301  5.309545
6302  4.912723
6401  1.567106
6402  4.107013
6501  .9917437
6502 2.6733024
6600   1.39555
6700  .8646895
6800    .83843
end
I am looking to create 2 dummy variables indicating commuting zones with top 1% and bottom 1% of US adoption of robot capital. I try the following for top 1% but it does not work:

generate top = 0
summarize us_adoption, detail
local `top_adoption' = r(p99)
replace top = 1 if us_adoption > `top_adoption'