ttest returns NaN even though matrices are finite and does not contain nan?

4 次查看(过去 30 天)
I have 2 matrices: sample1 - 17*80 and sample2 - 17*80
find(isnan(sample1)==1) and find(isnan(sample2)==1) are empty matrices.
Similarly, find(isfinite(sample1)==0) and find(isfinite(sample2)==0) are empty matrices.
[h,p] = ttest(sample1, sample2) results into a 1*80 vector, each value = NaN.
Why does it happen so??
  2 个评论
Katerina Merculy
Katerina Merculy 2018-4-13
I have the same problem and vextors are not the same, they even have different number of rows and I compare ttest(mean(sample1),mean(sample2)) Have you decided this question?

请先登录,再进行评论。

回答(1 个)

Anthony Peng
Anthony Peng 2017-9-19
Are the two vectors the same? If they have the same values in them, it will return NaN.
  3 个评论
ANKUSH JAMTHIKAR
ANKUSH JAMTHIKAR 2019-12-10
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?
I am a bigginner in statistics. So kindly help me to understand this.
Thank you in advanced!
Adam Danz
Adam Danz 2019-12-10
编辑:Adam Danz 2019-12-10
@Katerina Merculy, you're getting NaN values because mean(sample1) and mean(sample2) result in scalar values which is interpretted as a 1-sample ttest (not a paired ttest) and you need at least 2 values to carry out the test. Instead of inputting the mean, input the raw values.
@ANKUSH JAMTHIKAR, when the x and y inputs to ttest(x,y) are exactly equal, you should expect a NaN results.
For more detail on both problems, see this answer which explains in detail why NaN results occur in ttest().

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by