MATLAB: T-test weird degrees of freedom

degrees of freedomdfttest

Hi,
I did some t-test (two-tailed) and keeps geting weird degrees of freedom.
I have some pairs of vectors, all of size = [1 144], so n=144 observations for each group
ttest gave me the expected df (142) for some tests, but I also got 139 in another one, and even… 124 in an other one.
What is going on ? Why is the degree of freedom not 142 in all those tests ?
Thank you

Best Answer

I can think of two possibilities. First, if you have any NaN values, they are treated as missing and the df would be reduced accordingly. Second, if you ask for a test based on 'unequal' variances, the df is computed using a Satterthwaite approximation and may be a non-integer.