GAUSS 20 Initial Release

Download and install packages in one step

  • Get working faster with quicker access to pre-built GAUSS packages.
  • Download, install and update GAUSS packages without ever leaving GAUSS.
  • Supports paid GAUSS Application Modules and new free GAUSS packages!
  • Download from Aptech channels or create and share private packages across your organization.


Improved panel data functionality

blank

New function to aggregate results across groups by:

  • mean, min, max, median, mode, variance, sum and standard deviation.

Example aggregate by year

// Load data with the grouping data in the first column
X = loadd("grunfeld.dat", "Years + Investment");

// Group investment by average for year
mean_by_year = aggregate(X, "mean");

Example aggregate by firm

// Load data with the grouping data in the first column
X = loadd("grunfeld.dat", "firm + Investment");

// Group investment by median for each firm
median_by_firm = aggregate(X, "median");

Advanced imputation methods for missing values

  • New support for predictive mean matching, local residual draws, and linear prediction imputation. 
  • Customizable with options for the number of donors, matching type, and linear prediction methods.

Optional Arguments: Add power and flexibility to your procedures

New suite of tools makes it easy to add optional arguments to your GAUSS procedures.

  • Easily integrate default values.
  • Retrieve single or multiple optional inputs in a single line.
  • Tools to count the number of optional inputs and check input types.

Example estimation procedure with optional lambda

This example shows a simple estimation procedure that chooses either OLS estimation or ridge regression based on whether an optional input, lambda, is passed in.

// ... is a placeholder for the optional arguments
proc (1) = estimate(y, X, ...);
    local lambda;

    // Get the optional 'dynamic argument'   
    lambda = getDynargs(1);

    // If the 'lambda' was not passed in,
    // it will be an empty matrix.
    if isempty(lambda);
        // No 'lambda' so perform standard OLS
        b_hat = olsRegress(y, X);
    else;
        // 'lambda' passed in so perform ridge regression
        b_hat = ridgeRegress(y, X, lambda);
    endif;

    retp(b_hat);

endp;

The procedure above can be called like this:

// OLS regression when optional input is not passed in
b_hat = estimate(y, X);

or like this:

// Ridge regression is performed when optional input is passed in
b_hat = estimate(y, X, lambda);

Expanded graphics tools

New filled area plots using plotXYFill.

Graphs showing the behavior of a stationary time series and a time series with a unit root after a shock.

New horizontal bar plots using plotBarH.

Other new graphics functionality

  • plotSetLegend now supports setting the legend location by coordinates.  
  • Precise control over y-axis tick location and intervals using plotSetYTicInterval.
  • Alpha channel support provides optional transparency for any graph element.
  • Better control over bar plot adds.
  • Control for legend border properties.

Other new functions

  • modec - Compute mode for each matrix column.
  • loaddsa - Load string data from CSV, Excel, GAUSS, SAS or STATA datasets.
  • sprintf - Create formatted string output from columns of matrices and strings.  
    var_names = "alpha" $| "beta" $| "gamma";
    b = { 0.34, 1.9334, -0.8983 };
    se = { 0.00002234, 0.013235, 0.03752 };

                ↓

    print sprintf(fmt, var_names, b, se);

                ↓

    alpha  0.340 (0.00)
     beta  1.933 (0.01)
    gamma -0.898 (0.04)
  • weighted ols - Compute weighted OLS estimates with user-specified weights.


Leave a Reply