USECSPRO: Value labels

CSPro dictionaries occasionally apply interval value labels, which have no equivalent in Stata. They are only partially imported by usecspro using the following logic: first if the interval endpoints are non-integers they are rounded inwards, if the resulting interval contains less than cspro_maxrange integer points then individual integer points of this interval are labelled, otherwise only endpoints are labelled.

In other words, the strategy implemented in usecspro is to emulate interval labels by labelling all integers from the interval when the interval is not big, and labelling only end points when it is big. The parameter cspro_maxrange determines what "big" really is.The default value of cspro_maxrange is 21, but users can set the Stata global cspro_maxrange to another suitable value.

This is important primarily in the cases such as the following:

Values range Values label
0000-2999 Cheap
3000-5999 Middle class
6000-8999 Top
9000-9999 Exclusive

If every integer datapoint in this example is to be labelled, this will result in 10,000 labels. It is easy to see that it is neither possible, nor necessary. See description of the cut() function of egen.