データフレーム内の 2 つの列の間で Kruskal-Wallis 検定を実行しようとしたときに、列をそれ自体と比較すると、p 値が 1 にならないことがわかりました。
controlvcontrol<- kruskal.test(neurite.5RGD[,1], neurite.5RGD[,1], na.rm=TRUE)
controlvcontrol$p.value
[1] 7.967453e-99
同じデータを保持する 2 つの異なる列を比較すると、同じことが起こります。
(1:length(neurite.5RGD[,1]))[which((neurite.5RGD[,1]-neurite.5RGD[,3])!=0)]
integer(0)
> controlvBDNF<- kruskal.test(neurite.5RGD[,1], neurite.5RGD[,3], na.rm=T)
> controlvBDNF$p.value
[1] 7.967453e-99
これは列の NA 値が原因であると考えたので、簡単な例を試しました。
> x <- c(1, 2, 3, 4,5, NA, NA)
> y <- c(1, 2, 3, 4,5, NA, NA)
> krus <- kruskal.test(x,y, na.rm = TRUE)
> krus$p.value
[1] 0.4060058
> ttest <- t.test(x,y, na.rm=T)
> ttest$p.value
[1] 1
誰が私が間違っているのか教えてもらえますか?