R 实现正态性检验,方差齐性检验t检验

检验数值是否服从正态分布 有很多种方式,这种比较简单。

mu<- c(0,0,0)
Sigma<- matrix(c(1,0.5,0.25,0.5,1,0.5, 0.25,0.5,1),3,3)
M<- mvrnorm(1000, mu, Sigma)

QQ-PLOT

qqnorm(M[,1]);qqline(M[,1],col=2)

shapiro,test

shapiro.test(M[,1]) P值大于0.05的意义是符合正态分布 推荐小样本适用,N<20

横坐标是标准的正态分布的quantile 纵坐标是我们数据的图。如果两者基本相等,则这个散点图会非常像y=x

t检验 T检验就是为了检验样本是否能推论至整体的一种检验 by 比较样本与总体的平均数差异是否显著

单总体或者双总体t检验 临床研究中,我们应该是不使用单样本t检验/单总体的,可以举下例子,我们一般是无法拥

有整体的具体参考值的,所以hhhhh.But, at the same time, if we use the two-sample t -tests.But, the paired t -test

and the separate variance estimation t-test are not included.但是,需进行方差齐性检验。但是,如果

n1,n2 都大于50的话,可以使用Z检验。

单样本T检验#——————————————

某鱼塘水的含氧量多年平均值为4.5mg/L,现在该鱼塘设10点采集水样,测定水中含氧量(单位:mg/L)分别为:

4.33,4.62,3.89,4.14,4.78,4.64,4.52,4.55,4.48,4.26,问该次抽样的水中含氧量与多年平均值是否有显著差异?

Sites<-c(4.33,4.62,3.89,4.14,4.78,4.64,4.52,4.55,4.48,4.26)
t.test(Sites,mu=4.5)

独立样本T检验#——————————————

有两种情况,一种是两个总体方差齐性,另一种是两个总体方差不齐。

#################两样本方差齐性

用高蛋白和低蛋白两种饲料饲养1月龄的大白鼠,饲养3个月后,测定两组大白鼠的增重量(g),两组数据分别如下所示:

高蛋白组:134,146,106,119,124,161,107,83,113,129,97,123

低蛋白组:70,118,101,85,107,132,94

试问两种饲料养殖的大白鼠增重量是否有显著差异?

High<-c(134,146,106,119,124,161,107,83,113,129,97,123)
Low<-c(70,118,101,85,107,132,94)
Group<-c(rep(1,12),rep(0,7))#1表示High,0表示Low
x<-c(High,Low)
DATA<-data.frame(x,Group)
DATAGroup)

bartlett.test方差齐性检验 P值小于0.05 意义是方差不齐

bartlett.test(x~Group)

var.test方差齐性检验 F test(要求服从正态分布)to compare two variances

var.test(x~Group)

leveneTest方差齐性检验(也是SPSS的默认方差齐性检验方法)

library(car)
leveneTest(DATAGroup)

前两者是对原始数据的方差进行检验的,leveneTest是对方差模型的残差进行组间齐性检验.

一般认为是要求残差的方差齐,所以一般的统计软件都做的是leveneTest

结果说明两独立样本数据方差齐性,可以进行独立样本T检验。

结果说明两独立样本数据方差齐性,可以进行独立样本T检验。

t.test(High,Low,paired=FALSE)

结果表明两种饲料养殖的大白鼠增重量无显著差异。

#################两样本方差不齐

有人测定了甲乙两地区某种饲料的含铁量(mg/kg),结果如下:

甲地:5.9,3.8,6.5,18.3,18.2,16.1,7.6

乙地:7.5,0.5,1.1,3.2,6.5,4.1,4.7

试问这种饲料含铁量在两地间是否有显著差异?

JIA<-c(5.9,3.8,6.5,18.3,18.2,16.1,7.6)
YI<-c(7.5,0.5,1.1,3.2,6.5,4.1,4.7)
Content<-c(JIA,YI)
Group<-c(rep(1,7),rep(2,7))#1表示甲地,2表示乙地
data<-data.frame(Content,Group)
data$Group<-as.factor(Group)

bartlett.test和var.test进行方差齐性检验,也可以加上leveneTest方差齐性检验

结果说明两独立样本数据方差不齐,对齐进行方差不齐分析

t.test(Content,Group,paired=FALSE,var.equal=FALSE)# var.equal必须写上 var 代表方差

方差齐性检验表明,方差不等,因此设定var.equal=FALSE,此时p=0.0023<0.05,

表明该饲料在两地的含铁量有显著差异。

配对样本T检验#——————————————

某人研究冲水对草鱼产卵率的影响, 获得冲水前后草鱼产卵率(%),如下:

冲水前:82.5,85.2,87.6,89.9,89.4,90.1,87.8,87.0,88.5,92.4

冲水后:91.7,94.2,93.3,97.0,96.4,91.5,97.2,96.2,98.5,95.8

问:冲水前后草鱼亲鱼产卵率有无差异?

Before<-c(82.5,85.2,87.6,89.9,89.4,90.1,87.8,87.0,88.5,92.4)
After<-c(91.7,94.2,93.3,97.0,96.4,91.5,97.2,96.2,98.5,95.8)
t.test(Before,After,paired=T)

结果表明,p=2.548e-05<0.01,表明冲水前后,草鱼亲鱼的产卵率有非常显著差异。

t.test(x,y,alternative=c("two.sided","less","greater"),mu=0,paired=FALSE,var.equal=FALSE,conf.level=0.95......)

如果只提供x,则作单个正态总体的均值检验,如果提供x,y则作两个总体的均值检验),alternative表示被则假设,

two.sided(缺省),双边检验,less表示单边检验,greater表示单边检验,mu表示原假设μ0,若 paired=T,为配对检验,

则必须指定x和y,并且它们必须是相同的长度。默认删除缺失值(如果配对为TRUE,则成对配对),var.equal是逻辑变量,

var.equal=TRUE表示两样品方差相同,var.equal=FALSE(缺省)表示两样本方差不同,conf.level置信水平,即1-α,通常是0.95,。

你可能感兴趣的:(R 实现正态性检验,方差齐性检验t检验)