Calculates Pearson rank, Spearman rank and Kendall rank correlation coefficients. This is an OriginPro only function.
int ocmath_corr_coeff( UINT nRows, UINT nCols, const double * pData, double * pPeaCorr, double * pPeaSig, double * pSpeCorr, double * pSpeSig, double * pKenCorr, double * pKenSig, int nExcludeMissing = CORR_EXCLUDE_MISSING_PAIRWISE )
Returns STATS_NO_ERROR on successful exit or an STATS error code on failure.
EX1
void ocmath_corr_coeff_Ex1() { matrix mData = {{10,12,13,11},{13,10,11,12},{9,12,10,11}}; double *pmData = mData; int nRet; int nRows = mData.GetNumRows(); int nCols = mData.GetNumCols(); double* pmPeaCov = NULL; double* pmPeaSig = NULL; matrix mPeaCorr(nCols, nCols); matrix mPeaSig(nCols, nCols); pmPeaCov = mPeaCorr; pmPeaSig = mPeaSig; double* pmSpeCov = NULL; double* pmSpeSig = NULL; matrix mSpeCorr(nCols, nCols); matrix mSpeSig(nCols, nCols); pmSpeCov = mSpeCorr; pmSpeSig = mSpeSig; double* pmKenCov = NULL; double* pmKenSig = NULL; matrix mKenCorr(nCols, nCols); matrix mKenSig(nCols, nCols); pmKenCov = mKenCorr; pmKenSig = mKenSig; nRet = ocmath_corr_coeff(nRows, nCols, pmData, pmPeaCov, pmPeaSig, pmSpeCov, pmSpeSig, pmKenCov, pmKenSig); out_int("nRet=", nRet); // print out return value. int ii, jj; out_str("Pearson");//print out Pearson rank correlation coefficients for(ii=0; ii<mPeaCorr.GetNumRows(); ii++) { for(jj =0; jj<mPeaCorr.GetNumCols(); jj++) printf("%f\t", mPeaCorr[ii][jj]); printf("\n"); } out_str("Spearman");//print out Spearman rank correlation coefficients for(ii=0; ii<mSpeCorr.GetNumRows(); ii++) { for(jj =0; jj<mSpeCorr.GetNumCols(); jj++) printf("%f\t", mSpeCorr[ii][jj]); printf("\n"); } out_str("Kendall");//print out Kendall rank correlation coefficients for(ii=0; ii<mKenCorr.GetNumRows(); ii++) { for(jj =0; jj<mKenCorr.GetNumCols(); jj++) printf("%f\t", mKenCorr[ii][jj]); printf("\n"); } }
origin.h