Why do I get an NaN error with the ttest?
4 views (last 30 days)
Show older comments
I am trying to do a statistical analysis. I have two sets of data and try to find out if one is always a little higher. For the analysis I also need the significance.
I was trying the ttest, but for several answers I get NaN.
How can I fix that, do I have to use a different test?
Thanks for any help.

1 Comment
Adam Danz
on 10 Dec 2019
I have two binary vectors with same elements. I mean, if X and Y are the two binary vectors, then X=Y. Now when I am running ttest(X,Y), it is giving me h=NaN and p=NaN. Does anyone know, how to handel this issue? Is there any alternate test to do this job?
I am a bigginner in statistics. So kindly help me to understand this.
Thank you in advanced!
Answers (2)
Star Strider
on 21 Jul 2019
The degrees-of-freedom are 0. It seems you likely do not have enough data to perform a t-test (or likely any other test of individual or group differences).
2 Comments
Star Strider
on 22 Jul 2019
Edited: Star Strider
on 23 Jul 2019
You are apparently not presenting them to the ttest function as single-precision or double-precision numeric values. (They cannot be symbolic, categorical, strings, characters, or anything other than numeric values.) There appears to be no data in your vectors that ttest can use.
EDIT — The only way I can reproduce the results you get is with:
[h,p,ci,stat] = ttest(0, 1)
Adam Danz
on 10 Dec 2019
Edited: Adam Danz
on 10 Dec 2019
Rather than copying the answer to here, see this review of possible causes of NaN output in ttest().
0 Comments
See Also
Categories
Find more on Logical in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!