/* ** Program ExPrintTex ** ** Purpose: ** Example creating LaTeX tables ** ** Version: ** 2 Simplified ** ** Author: ** Charles Bos ** ** Date: ** 3/3/2012 */ #include #include #include main() { decl aPrFmt, arLabs, acLabs, mX, iK, mY, mSign; // Get the data from the database iK= 3; mX= rann(iK, 1000); mY= meanr(mX)~varr(mX)~limits(mX')[:1][]'; aPrFmt= {"%7.3f", "%7.3f", "%7.3f"}; acLabs= {"R1", "R2", "R3"}; arLabs= {"mu", "S2", "min", "max"}; // Print the table to screen println ("Using simpler printtex format"); printtex("exprinttex", "%cf", aPrFmt, "%c", acLabs, "%r", arLabs, mY'); println ("Output using standard print statement"); print("exprinttex", "%cf", aPrFmt, "%c", acLabs, "%r", arLabs, mY'); // Print the table to screen, using simpler printtex format, with parentheses println ("\nUsing parentheses in format"); aPrFmt= {"%7.3f", " (%.2f)", "%7.3f", "%7.3f"}; printtex("exprinttex", "%cf", aPrFmt, "%c", arLabs, "%r", acLabs, mY); // Fake theta and standard deviations mX= (<0; 1; 2> + 1*rann(iK, 1))~ranchi(3, 1, 1); mX~= mX[][0] ./ mX[][1]; // t-val mX~= 2*tailn(fabs(mX[][2])); // p-val // Construct a matrix with significance, number of stars to print mSign= sumr(mX[][3] .< <.10, .05, .01>)~zeros(iK, columns(mX)-1); // Add significance println ("\nAdd significance"); printtex("exprinttex", "%cf", aPrFmt, "%c", {"Theta", "s", "t", "p"}, "%r", acLabs, mX~mSign); println ("Output using standard print statement"); print("exprinttex", "%cf", aPrFmt, "%c", {"Theta", "s", "t", "p"}, "%r", acLabs, mX~mSign); }