// version 1.0.0 14Feb2018 import com.stata.sfi.*; public class MyCalcsW { public static int myAve( MyMatrix bmat, long firstObs, long lastObs, int nVariables, MyLong nObs) { int rc, varIndex ; double value ; String msg ; rc = 0 ; // Loop over observations for(long obs=firstObs; obs<=lastObs; obs++) { if (!Data.isParsedIfTrue(obs)) { continue; } nObs.incrementValue() ; // Loop over variables for(int var = 1; var<=nVariables; var++) { // get the real variable index for parsed variable -var- varIndex = Data.mapParsedVarIndex(var); // Put value of observation obs on variable varIndex into value value = Data.getNum(varIndex, obs); // Exit with error if (Data.isValueMissing(value)) { msg = "{err}missing values encountered" ; SFIToolkit.errorln(msg); return(416) ; } // Increment sample average vector bmat.incrementByValue(0, var-1, value) ; } } // Divide sample average vector by nObs bmat.divideByScalar((double) nObs.getValue()) ; return (rc) ; } public static int myV( MyMatrix bmat, MyMatrix vmat, long firstObs, long lastObs, int nVariables, MyLong nObs) { int rc, varIndex ; MyMatrix emat ; double value ; String msg ; rc = 0 ; // Create and initialized vector for observation level errors emat = new MyMatrix(1, nVariables); // Loop over observations for(long obs=firstObs; obs<=lastObs; obs++) { if (!Data.isParsedIfTrue(obs)) { continue; } // Loop over variables for(int var = 1; var<=nVariables; var++) { // get the real variable index for parsed variable -var- varIndex = Data.mapParsedVarIndex(var); // Put value of observation obs on variable varIndex into value value = Data.getNum(varIndex, obs); if (Data.isValueMissing(value)) { msg = "{err}missing values encountered" ; SFIToolkit.errorln(msg); return(416) ; } emat.storeValue(0, (var-1), bmat.getValue(0,(var-1)) - value) ; } for(int j = 0; j