Thanks once again to Kit Baum, a new version of the xcontract package (superseding yesterday's version) is now available for download from SSC. In Stata, use the ssc command to do this, or adoupdate if you already have an old version of xcontract.

The xcontract package is described as below on my website. The new version no longer uses file processing (except if the user specifies a saving() option). Previously, file processing was used if the zero option was specified. It has now been replaced by frame processing.

I would like to thank Jeremy Freese of Stanford University for writing the frameappend command, from which I have adapted some of the code for xcontract.

Best wishes

Roger

--------------------------------------------------------------------------------------
package xcontract from http://www.rogernewsonresources.org.uk/stata16
--------------------------------------------------------------------------------------

TITLE
xcontract: Create dataset of variable combinations with frequencies and percents

DESCRIPTION/AUTHOR(S)
xcontract is an extended version of contract. It creates an output
data set with 1 observation per combination of values of the
variables in varlist and data on the frequencies and percents of
those combinations of values in the existing data set, and,
optionally, the cumulative frequencies and percents of those
combinations. If the by() option is used, then the output data set
has one observation per combination of values of the varlist
variables per by-group, and percents are calculated within each
by-group. The output data set created by xcontract may be listed to
the Stata log, or saved to a data frame, or saved to a disk file, or
written to the memory (overwriting any pre-existing data set).

Author: Roger Newson
Distribution-Date: 30december2020
Stata-Version: 16

INSTALLATION FILES (click here to install)
xcontract.ado
xcontract.sthlp
--------------------------------------------------------------------------------------
(click here to return to the previous screen)