ASEC national level frequencies with STATA - fweight or pweight

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.