Thanks as always to Kit Baum, a new version of the xcontract package 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 is updated to Stata Version 16, and has a new frame() option, allowing the user to save the output dataset (or resultsset) in a data frame.

Users of older versions of Stata can still download versions of xcontract in Stata 10 or Stata 8 from my website by typing, in Stata,

net from http://www.rogernewsonresources.org.uk/

and selecting a Stata version at or below their own in which to download 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: 26december2019
Stata-Version: 16

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