23 views (last 30 days)
I need to perform a Crawford-Howell t-test between single cases and normative groups of controls.
I found this code for it, but it is in R.
Does anyone have any code for it in Matlab, or is able to convert the code to matlab code?
the cyclist on 4 Oct 2014
The MATLAB Statistics Toolbox has a built-in function ttest2(). The result of using this function on a single case vs controls, for example,
[h p ci stats] = ttest2(5,[1 2 3])
gives me the same result (to several decimal places) as the R code in that link.
(This is just a bit puzzling to me, since ttest2() is just a standard t-test, and you are suggesting that Crawford-Howell is something other than that. But, the results are what they are.)
Star Strider on 4 Oct 2014
Edited: Star Strider on 4 Oct 2014
I don’t have ‘R’, so I transliterated it as best I could understand it. (I won’t post it as a File Exchange contribution, since I have no desire to pay US$39 to download the paper to be sure I got it correct.)
It runs. I will let you determine if it gives correct answers:
function [tval,degfre,pval] = CrawfordHowell(kase,kontrol)
lenk = length(kontrol);
tval = (kase - mean(kontrol))./(std(kontrol).*sqrt((lenk+1)./lenk));
degfre = lenk-1;
pval = 2*(1-tcdf(abs(tval),degfre));
[t,d,p] = CrawfordHowell(1, rand(1,10)) % Test
I used ‘kase’ and ‘kontrol’ because ‘case’ is a reserved word in MATLAB and I just decided to have fun with ‘kontrol’.