I’m using ASEC data to extract some descriptive analysis of labor market characteristics of native and foreign workers. But Stata does not allow ASECWT as fweight in the ‘contract’ command since numbers are not integers.

My question is: can I generate a new weight variable by rounding ASECWT and then use it as fweight? Would the frequencies still be reliable?

My alternative approach would be creating dummy variables for each characteristic and then use the weighted sum to calculate relative frequencies but this is considerably more complicated.

Yes, you can round the weights and the difference will be negligible. If you’re skeptical try a command (like -mean-) that accepts non-integer weights and compare it with the unrounded and rounded weights. Here’s one I just did:

Original weights:

```
--------------------------------------------------------------
| Mean Std. Err. [95% Conf. Interval]
-------------+------------------------------------------------
age | 38.24983 .2799663 37.70103 38.79863
--------------------------------------------------------------
```

Rounded weights:

```
--------------------------------------------------------------
| Mean Std. Err. [95% Conf. Interval]
-------------+------------------------------------------------
age | 38.24985 .2799662 37.70105 38.79865
--------------------------------------------------------------
```

Thank you! It seems to work well.