program define tci version 2.1 *! This is version 1.2 26 July 1991 * (mult. graphs added; re-wrote code for computing group means) mac def _FN %S_FN mac def _varlist "req ex min(2)" mac def _if "opt" mac def _in "opt" parse "%_*" parse "%_varlist", parse(" ") qui ta %_2 %_if %_in, gen(_group) qui replace %_2=_group2 drop _group* qui reg %_1 %_2 mac def _diff=_b[%_2] mac def _m1=_b[_cons] mac def _df=_result(5) mac def _en=_result(1) emdef sdiff : se %_2 emdef tdiff : t %_2 emdef S2_t1 : invt .999 %_df di "" di "Following are confidence intervals for the difference:" di _co(43) "Lower Limit" _sk(5) "Upper Limit" di "The level(.999) confidence interval is:"/* */ _co(43) %9.4f %_diff-(%S2_t1*%sdiff) _co(59) %8.4f %_diff+(%S2_t1*%sdiff) emdef S2_t2 : invt .99 %_df di "The level(.99) confidence interval is:"/* */ _co(43) %9.4f %_diff-(%S2_t2*%sdiff) _co(59) %8.4f %_diff+(%S2_t2*%sdiff) emdef S2_t3 : invt .95 %_df di "The level(.95) confidence interval is:"/* */ _co(43) %9.4f %_diff-(%S2_t3*%sdiff) _co(59) %8.4f %_diff+(%S2_t3*%sdiff) emdef S2_t4 : invt .90 %_df di "The level(.90) confidence interval is:"/* */ _co(43) %9.4f %_diff-(%S2_t4*%sdiff) _co(59) %8.4f %_diff+(%S2_t4*%sdiff) emdef S2_t5 : invt .80 %_df di "The level(.80) confidence interval is:"/* */ _co(43) %9.4f %_diff-(%S2_t5*%sdiff) _co(59) %8.4f %_diff+(%S2_t5*%sdiff) emdef S2_t6 : invt .65 %_df di "The level(.65) confidence interval is:"/* */ _co(43) %9.4f %_diff-(%S2_t6*%sdiff) _co(59) %8.4f %_diff+(%S2_t6*%sdiff) emdef S2_t7 : invt .50 %_df di "The level(.50) confidence interval is:"/* */ _co(43) %9.4f %_diff-(%S2_t7*%sdiff) _co(59) %8.4f %_diff+(%S2_t7*%sdiff) di "" di "mean for first group is "%9.4f %_m1 /* */ _sk(4) "mean for second group is "%9.4f %_m1+%_diff di "" di "The difference is: "%9.4f in gr %_diff _sk(3) in ye /* */"t: "%8.4f in wh %tdiff _sk(2) in ye "and p-value is "/* */ %6.4f in gr tprob(%_df,%tdiff) _sk(1) in ye "(N=" %_en ")" di "" if _N<8 { set obs 8 } capture { gen _lo=. gen _hi=. gen index=. replace index=.50 if _n==2 replace index=.65 if _n==3 replace index=.80 if _n==4 replace index=.90 if _n==5 replace index=.95 if _n==6 replace index=.99 if _n==7 replace index=.999 if _n==8 replace _lo=%_diff-(%S2_t7*%sdiff) if _n==2 replace _lo=%_diff-(%S2_t6*%sdiff) if _n==3 replace _lo=%_diff-(%S2_t5*%sdiff) if _n==4 replace _lo=%_diff-(%S2_t4*%sdiff) if _n==5 replace _lo=%_diff-(%S2_t3*%sdiff) if _n==6 replace _lo=%_diff-(%S2_t2*%sdiff) if _n==7 replace _lo=%_diff-(%S2_t1*%sdiff) if _n==8 replace _lo=%_diff if _n==1 replace _hi=%_diff if _n==1 replace _hi=%_diff+(%S2_t1*%sdiff) if _n==8 replace _hi=%_diff+(%S2_t2*%sdiff) if _n==7 replace _hi=%_diff+(%S2_t3*%sdiff) if _n==6 replace _hi=%_diff+(%S2_t4*%sdiff) if _n==5 replace _hi=%_diff+(%S2_t5*%sdiff) if _n==4 replace _hi=%_diff+(%S2_t6*%sdiff) if _n==3 replace _hi=%_diff+(%S2_t7*%sdiff) if _n==2 } mac def TCI=%TCI+1 graph _lo _hi index, c(II) yline(%_diff,0) rlab(%_diff,0) ylab(%_diff,0) /* */ s(ii) xlab(.999,.95,.90,.80,.65,.50) tlab(.99,.95,.90,.50) sav(%TCI) /* */ b1("Confidence Level") l1("Size of Difference") b2(" ") /* */ xtick(.999,.99,.95,.90,.80,.65,.50) ttick(.999,.99,.95,.90,.80,.65,.50) drop _lo _hi index use %_FN, replace end