| 2.1.24.4.41 ocmath_row_desc_stats
 Descriptionget input matrix's each row's mean, standard deviation, se of mean, min, max, sum and
total number of data point and put result to relative pointer if the pointer not NULL.
 Syntaxint ocmath_row_desc_stats( UINT nRows, UINT nCols, const double * pMat, double * pMean = NULL, double * pSd = NULL, double * pSem = NULL, double * pMin = NULL, double * pMax = NULL, double * pSum = NULL, double * pN = NULL, double * pLCL = NULL, double * pUCL = NULL, int nMomentDenFlag = DS_SAS1_DOF ) Parameters nRows[input] row number of input matrix. nCols[input] column number of input matrix. pMat[input] double pointer to input data which will do descriptive statistic. pMean[output] if not NULL, pointer to each row's mean value, its size shouldbe nRows. Its default value is NULL. pSd[output] if not NULL, pointer to each row's standard deviation, its size shouldbe nRows. Its default value is NULL. pSem[output] if not NULL, pointer to each row's se of mean, its size should benRows. Its default value is NULL. pMin[output] if not NULL, pointer to each row's min value, its size should benRows. Its default value is NULL. pMax[output] if not NULL, pointer to each row's max value, its size should benRows. Its default value is NULL. pSum[output] if not NULL, pointer to each row's sum, its size should be nRows.its default value is NULL. pN[output] if not NULL, pointer to each row's total number of data point, its sizeshould be nRows. Its default value is NULL. pLCL[output] if not NULL, pointer to each row's lower confidence limit, its size should be nRows. pUCL[output] if not NULL, pointer to each row's upper confidence limit, its size should be nRows. nMomentDenFlag[input] Variance Divisor of Moment. This option decides the method to compute variance divisor d. You can use one of the following options: DS_SAS1_DOF, DS_SAS2_N, DS_SAS3_WDF, DS_SAS4_WGT and DS_NAG. They will compute d as degree of freedom, number of non-missing observations, degree of Sum of weights, sum of weights and WVR, respectively.
 ReturnReturn OE_NOERROR(0) if succeed, otherwise, non-zero error code is returned:
 OE_RANGE_ZERO(-3): nRows < 1 or nCols < 1
 OE_NULL_POINTER(-11): pMat is NULL
 OE_ALLOC_FAIL(-19): allocate internal used memory failed
 ExamplesEX1
 /*
Usage from LT:
1. rr(1,2); // col(1) to col(2)
2. rr(1,0); // all columns, use 0 for nC2 to indicate last column
*/
bool rr(int nC1, int nC2)
{
    Worksheet wks = Project.ActiveLayer();
    if( !wks )
    {
        out_str("Please keep a worksheet active with data");
        return false;
    }    
 
    nC1--; //convert from LT index to OC index    
    if(nC2 <= 0) 
        nC2 = -1;//indicate all cols
    else
        nC2--;
 
    DataRange dr;
    string strRangeName = "X";
    dr.Add(wks, nC1, "X", nC2);//construct a data range object from worksheet
 
    matrix mData; 
    dr.GetData(mData); // get data from range object
 
    int nRows = mData.GetNumRows();
    int nCols = mData.GetNumCols();
    if( nRows <= 0 || nCols <= 0 )
    {
        out_str("Please make sure input argument r1, c1, r2, c2 all are correct.");
        return false;
    }
 
    vector vMean(nRows);
    vector vSd(nRows);
    int nRet = ocmath_row_desc_stats(nRows, nCols, mData, vMean, vSd);
 
    if( OE_NOERROR != nRet )
    {
        printf("Error: ocmath_row_desc_stats returns %d\nPlease press F1 to open Origin C help to see more details about this function.\n", nRet);
        return false;
    }   
    
    int nMean = wks.AddCol("Mean");
    int nSD = wks.AddCol("SD");
 
    DataRange drOutput; 
    drOutput.Add(wks, nMean, "X"); 
    drOutput.SetData(vMean, false, 0); 
    
    drOutput.Add(wks, nSD, "X"); 
    drOutput.SetData(vSd, false, 1);  
 
    return true;
}RemarkSee Alsoocmath_row_quantiles, ocmath_basic_summary_stats
 Header to Includeorigin.h
 Reference |