使用本地数据 鸢尾花(yuān wěi huā)做配对t检验 t.test示例
提取两个物种的处理介绍看之前提到的空因子处理
data(iris)
library(tidyverse)
iris2=filter(iris,Species=='setosa'|Species=='versicolor')
iris2$Species=droplevels(iris2$Species)
table(iris2$Species)
iris$block <-rep(1:50,3)
str(iris$block)
table(iris$block)
iris$block=as.factor(iris$block)
#秩和检验的区组是有设置 区组的变量 block
friedman.test(iris$Sepal.Length,iris$Species,iris$block)
而配对t检验中没有相应的变量填入
那么它到底是怎么查找的呢?只是设置了paired=True
t.test( iris2$Sepal.Length ~ iris2$Species,var.equal = T)
t.test(iris2$Sepal.Length ~ iris2$Species,equal = T,paired=TRUE)
可以看到p_value是不同的数值
下面是一个小实验,证明结果
#配对t检验的原理=对子相减,然后做差值的单样本t检验,与总体0相比
data2=filter(iris,Species=='setosa')
data3=filter(iris,Species=='versicolor')
data4=left_join(data2,data3,by=c('block'))
data5=mutate(data4,difference=data4$Sepal.Length.x-data4$Sepal.Length.y)
t.test(data5$difference,mu=0)
结果一致