R version 3.1.1 (2014-07-10) -- "Sock it to Me"
> bl <- c(140, 138, 150, 148, 135)
> fu <- c(138, 136, 148, 146, 133)
> t.test(fu, bl, alternative = "two.sided", paired = TRUE)
Error in t.test.default(fu, bl, alternative = "two.sided", paired = TRUE) :
data are essentially constant
Ensuite, je change juste un seul caractère dans mon jeu de données fu:
> fu <- c(138, 136, 148, 146, 132)
et ça tourne ...
> t.test(fu, bl, alternative = "two.sided", paired = TRUE)
Paired t-test
Qu'est-ce que j'oublie ici?
bl-fu
. Maintenantsd(bl-fu)
. Si ce n'est pas encore évident, faites-les:dif=bl-fu
alorsn=length(dif)
alorsmean(dif)/(sd(dif)/sqrt(n))
... voyez-vous maintenant?Réponses:
Comme indiqué dans les commentaires, le problème était que les différences étaient toutes de 2 (ou -2, selon le sens dans lequel vous écrivez les paires).
Répondre à la question dans les commentaires:
Eh bien, cela dépend.
Si la distribution des différences était vraiment normale, ce serait la conclusion, mais il se pourrait que l'hypothèse de normalité soit erronée et que la distribution des différences de mesures soit en fait discrète (peut-être dans la population que vous souhaitez en déduire, c'est généralement -2 mais parfois différent de -2).
En fait, vu que tous les nombres sont des nombres entiers, il semble que la discrétion soit probablement le cas.
... dans ce cas, il n'y a aucune certitude que toutes les différences seront -2 dans la population - c'est plus qu'il y a un manque de preuves dans l'échantillon d'une différence dans la population signifie tout différent de -2.
(Par exemple, si 87% des différences de population étaient -2, il n'y a que 50-50 chances que l'une des 5 différences d'échantillon soit autre chose que -2. L'échantillon est donc tout à fait cohérent avec une variation de -2 dans la population)
Mais vous seriez également amené à remettre en question l'adéquation des hypothèses pour le test t - en particulier dans un échantillon aussi petit.
la source