精华内容
下载资源
问答
  • 在P162 页 例题6-3:根据最近一段时间的40次空气检测结果 检验该城市PM2.5是否显著低于均值 我的代码如下 > library(BSDA) > z.test(table_6_3$PM2.5值,mu=81,sigma.x=sd(table_6_3$PM2.5值),alternative="less...
  • R语言多元均值检验

    千次阅读 2019-03-25 17:27:35
    一,将数据导入至R并转换为矩阵形式。 地区 人均GDP 三产比重 人均消费 人口增长 文盲半文盲 内蒙 5068 31.1 2141 8.23 15.83 广西 4076 34.2 2040 9.01 13.32 贵州 2342 29.8 1551 14.26 28.98 云南 4355 31.1...

    小惠作业,czq

    多元统计分析,人大习题
    理论基础,统计量构造
    T**2
    L是样本的协方差阵

    一,将数据导入至R并转换为矩阵形式。
    地区 人均GDP 三产比重 人均消费 人口增长 文盲半文盲

    内蒙 5068 31.1 2141 8.23 15.83
    广西 4076 34.2 2040 9.01 13.32
    贵州 2342 29.8 1551 14.26 28.98
    云南 4355 31.1 2059 12.1 25.48
    西藏 3716 43.5 1551 15.9 57.97
    宁夏 4270 37.3 1947 13.08 25.56
    新疆 6229 35.4 2745 12.81 11.44
    甘肃 3456 32.8 1612 10.04 28.65
    青海 4367 40.9 2047 14.48 42.92

    先以数据框的形式导入到R
    province <- read.table(“D:/data/province.csv”,header = TRUE,sep = “,”)
    把变量名称改为英文

    q1 q2 q3 q4 q5

    1 5068 31.1 2141 8.23 15.83
    2 4076 34.2 2040 9.01 13.32
    3 2342 29.8 1551 14.26 28.98
    4 4355 31.1 2059 12.10 25.48
    5 3716 43.5 1551 15.90 57.97
    6 4270 37.3 1947 13.08 25.56
    7 6229 35.4 2745 12.81 11.44
    8 3456 32.8 1612 10.04 28.65
    9 4367 40.9 2047 14.48 42.92
    fix(province)
    将数据框中的数据以向量的形式提取形成一个新的数据框

    attach(province)
    a<-paste(“q”,1:5,sep = ‘’)
    A<-province[a]
    把数据框转换为矩阵
    B<-as.matrix(A)

    二,计算出T统计量
    Ax<-c(mean(q1),mean(q2),mean(q3),mean(q4),mean(q5))
    样本均值向量
    AX<-matrix(Ax,ncol = 5)
    将其转化为五行一列的矩阵

    B<-matrix(1,nrow = 9)
    E<-B%%AX样本均值矩阵
    B=t(A-AX)
    E<-B%
    %E
    E<-E/4
    算出协方差矩阵。
    U<-matrix(c(6212.01,32.87,2972,9.5,15.78),nrow = 5)
    检验向量

    计算T统计量
    T<-5t(Ax-U)%%solve(E)%*%(Ax-U)

    三.根据卡方分布求出是否显著
    qchisq(0.95,5)
    11.0705
    T落在拒绝域
    因此西部地区和全国经济发展有显著差异

    展开全文
  • R语言详解参数检验和非参数检验二、参数检验R语言实现2.1 单样本t检验2.2 独立样本t检验2.3 配对样本t检验2.4方差分析2.5 pearson相关性检验三、非参数检验R语言实现3.1单样本wilcoxon检验3.2 Mann-Whitney检验3.3...

    一、前言

    数据基本属于两种类型:定性数据(类别变量,数字只有标签含义)及定量数据(数值型变量,每个数值有实际的含义)。

    常用的方法有正态分布检验(KM检验,shipro检验),t检验,方差分析,还有一些没那么常见的Wilcoxon秩和检验,Mann-Whitney检验及Kruskal-wallis检验等。

    本文对各种统计检验方法进行梳理、总结,帮大家省却一小部分时间,。同时,本文也将涉及到的统计检验方法的R语言实现代码罗列出来,让大家能够简单的检验自己的数据集。

    首先还是说明一下参数检验和非参数检验的区别,见下表:
    在这里插入图片描述

    我们首先会对样本数据做一个最基本的正态分布检验,以此决定,该选用参数检验派的一箩筐检验方法还是非参数检验派的方法。我们肯定是希望用参数检验,因为参数检验用的信息是真实的数据,而非参数检验用到的信息是将这些真实值,转换为秩(理解为位置,或者排序)了,检验过程中损失了大量的有效信息,除此以外还有一些其他原因共同导致了他的检验效能较低。

    正态分布检验的实现方法有很多,本文总结几种常见的,详情看下表:

    在这里插入图片描述

    • shapiro.test()
      一个参数:数值型数据,理解为你数据集的任何一列:
      Shp <- shapiro.test(test)
      小样本时使用,可以存在缺失值,非缺失样本量大于3即可
      fBasics
      基础包无需加载,函数直接用就行

    • ks.test()
      三个参数:一列数据,均值,方差
      KS <- ks.test(test,0,1)
      非参数检验方法,适用范围广。
      需要包 fBasics

    • lillie.test()
      一个参数:数值型数据
      Li <- lillie.test(test)
      基于KS的正态性检验,非缺失样本量大于4
      非基础包需要library(nortest)后,才能使用检验函数

    • ad.test()
      一个参数
      Ad <- ad.test(test)
      可以有缺失值,但非缺失样本量必须大于7
      需要加载包 nortest

    test测试数据是通过rnorm(100)随机生成的100个服从正态分布的数据,所有以上方法的统计检验结果P值都大于0.05,说明数据服从正态分布。平时见到的KS检验用的最多,非参数检验门槛低。如果数据有一两百例,就别考虑Shapiro.test()了。一般认为n>30,可以认为是大样本。

    讲了正态分布后,还需要再说一个检验:方差齐性检验。不管是t检验还是方差分析,比较的都是均值有无差异。Fisher先生在推导F分布的时候,是基于样本满足正态分布及方差同质(方差齐性)两个基础假设来的,如果两个条件不满足,F分布就会出现偏差。与此类似,双样本T检验中,如果方差不齐,合并方差需要做一定的修正,才能很好的满足t分布。但实际中的样本,大多数情况是异方差,同方差的情况才是少见。有实验表明,当样本量足够大,且两组样本量差距比较小时,可以忽略异方差的影响。如果样本量较小,且两组数据的样本差异较大时,还是老老实实按照书上的步骤,一步步把检验做了。

    本文对常见的方差齐性的检验方法总结如下:

    • bartlett.test()
      2个参数:数值型数据,因子型数据:
      Bar <- bartlett.test(count ~ spray, data = InsectSprays)
      样本服从正态分布时使用
      基础包无需加载,函数直接用即可

    • leveneTest()
      2个参数:数值型数据,因子型数据:
      Lev <-car:: leveneTest(count ~ spray, data = InsectSprays)
      相较于Bartlett检验,这一方法更为稳健
      car,这个包不是基础包,需要library加载下哦

    • fligner.test()
      2个参数:数值型数据,因子型数据:
      Fli <- stats::fligner.test(count ~ spray, data = InsectSprays)
      非参数的检验方法,完全不依赖于对分布的假设
      Stats

    在这里插入图片描述

    本表中,输入列的data通过函数“require(graphics)”获得,采用“str(InsectSprays)”函数可以看到InsectSprays数据集中的所有指标及其数据类型。

    讲了正态分布和方差齐性的检验,我们就可以进入正题了。你的数据,满足正态分布假设检验的,就进入参数检验方法,否则,选择非参数检验。本文所讲的内容基本如下:
    在这里插入图片描述

    二、参数检验R语言实现

    以下案例,均默认随机获得的样本服从正态分布,也满足方差齐性。

    T检验的前提是要求样本服从正态分布或近似正态分布,不然可以利用一些变换(取对数、开根号、倒数等等)试图将其转化为服从正态分布是数据,如若还是不满足正态分布,只能利用非参数检验方法。不过当样本量大于30的时候,可以认为数据近似正态分布。

    T检验最常见的四个用途

    • 单样本均值检验(One-sample t-test):用于检验 总体方差未知、正态数据或近似正态的 单样本的均值 是否与 已知的总体均值相等
    • 两独立样本均值检验(Independent two-sample t-test):用于检验 两对独立的 正态数据或近似正态的 样本的均值 是否相等,这里可根据总体方差是否相等分类讨论
    • 配对样本均值检验(Dependent t-test for paired samples)
      用于检验 一对配对样本的均值的差 是否等于某一个值
    • 回归系数的显著性检验(t-test for regression coefficient significance):用于检验 回归模型的解释变量对被解释变量是否有显著影响

    2.1 单样本t检验

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    案例:我有点矮,身高只有1.55米。我想知道,在广大群众之中,我的身高是不是处于一个正常水平,我能说大家的平均身高就是1.55米吗?于是,我在1.3米到2.2米的人中,随机选取100个人:

    Height <- sample(seq(1.3,2.2,by=0.1),100,replace=T) 。
    

    我对这100个人的身高进行t检验:

    Tsingle <- t.test(Height, alternative = "greater", mu =1.55 )
    

    结果如下:
    在这里插入图片描述

    P值近乎为0了,备择假设是真是均值大于1.55。So,我,太矮了.

    2.2 独立样本t检验

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    案例:听说南方人普遍较北方人矮,那矮的明显吗?差异真的很大?我要验证一下,选择100个南方人,80个北方人(假设在重庆,北方人相对还是太少了),进行我的检验。

    South <- sample(seq(1.3,1.9,by=0.1),100,replace=T)
    North <- sample(seq(1.3,2.2,by=0.1),80,replace=T)
    #检验代码如下:
    IndT <- t.test(South ,North ,paired = F)
    

    结果如下:
    图片

    结果P值远低于0.05,接收备择假设:均值的真实差异不等于0.

    2.3 配对样本t检验

    在这里插入图片描述
    在这里插入图片描述

    案例:患者入院时和出院时均进行了各临床指标的检验,比如NLR、CRP、White Blood Cell等。按理说,其中,多项研究证明,NLR和肺损伤程度是高度正相关的,所以,入院时和出院时的NLR值,应该不在一个水平。现在,用你的100个病人,来证明它!

    Getin <- sample(seq(3.22,14.9,by=0.1),100,replace=T)
    Getout <- sample(seq(1.22,9.9,by=0.1),100,replace=T)
    #检验代码如下:
    PairT <- t.test(Getin ,Getout ,paired = T)
    

    结果如下:
    图片
    P 值远低于0.05,拒绝原假设,接受备择假设:均值的真实差异不等于0。说明治疗前后,患者的NLR指标有明显变化。

    2.4方差分析

    案例:这批新冠肺炎患者,他们有NLR、CRP、White Blood Cell等指标,还有性别、年龄等基本信息。通过核酸检测,我知道他们的病情是何情况(轻型,重型,危重型)。现在,我要看这些指标在不同病情患者中是否存在差异。此时,我们就可以使用方差分析进行检验。
    首先,还是准备数据(做三因素方差分析吧)

    NLR <- sample(seq(3.22,14.9,by=0.1),100,replace=T)
    CRP <- sample(seq(0.06,190,by=0.1),100,replace=T)
    Age <- sample(seq(20,70,by=1),100,replace=T)
    COVID_Type <- sample(c(1,2,3),100,replace=T) # 1:Mild,2:Moderate,3:Severe
    AovData <- data.frame(Type=COVID_Type,NLR=NLR,CRP=CRP,Age =Age )
    #方差分析:
    Aov <- aov(Type~.,data=AovData )  
     #Type~.是一个公式,意味着我要对AovData 表格里的所有临床指标与Type进行方差分析,如果不用~.表示的话,就得写成Type~NLR+CRP+Age。
    #查看方差分析的结果
    summary(Aov ):
    

    图片

    可以看到,3个指标的P值均大于0.05,说明这三个指标在不同的Type病人下,没有显著差异。

    2.5 pearson相关性检验

    案例:长得越好看的人(颜值评分越高,10分就是李东旭那样子的),追求者越多。

    Face_score <- sample(seq(1,10,by=1),100,replace=T)
    Admirers <- sample(seq(1,5,by=1),100,replace=T)
    #检验函数,明确method为pearson:
    Cor <- cor.test(Face_score,Admirers,method="pearson")
    

    图片

    检验结果中,P值大于0.05,不能拒绝原假设,因此认为,并不是长得越好看的人,追的人就越多(Pearson相关用于双变量正态分布的资料,其相关系数称为积矩相关系数(coefficient of product-moment correlation);当两变量不符合双变量正态分布的假设时,需用Spearman秩相关来描述变量间的相互变化关系。)

    三、非参数检验R语言实现

    本节的数据与第二节完全一致,所以,就省去编案例和随机造数据这两步过程了。

    3.1单样本wilcoxon检验

    检验代码:

    Wilsingle <- wilcox.test(Height)
    

    检验结果:
    图片

    P值小于0.05,接收备择假设:位置(中位数)差异不等于0,说明在非参数检验的情况下,我的身高也还是和锅锅姐姐们有差异的。

    3.2 Mann-Whitney检验

    检验代码:

    ManWit <- wilcox.test(South,North,paired = F)
    

    检验结果:
    图片

    同上,P值小于0.05,说明两组数据是有显著性差异的。北方人普遍就是比南方人高鸭~

    3.3配对样本wilcoxon检验

    检验代码:

    PairWil <- wilcox.test(Getin,Getout,paired = T)
    

    检验结果:
    图片

    P值小于0.05,COVID患者入院时和出院时的NLR值有显著性差异。

    3.4 Kruskal-wallis和置换多元方差分析检验

    Kruskal-wallis用于单因素方差分析:

    KS <- kruskal.test(Type~NLR,data=AovData)
    

    P值大于0.05,说明NLR在各组之间没有显著性差异。

    置换多元方差分析用于多因素方差分析

    AD <- adonis(Type~.,data=AovData)
    

    在这里插入图片描述

    可以看到,NLR,CRP和Age的P值均大于0.05,说明他们在各组之间均没有显著性差异。

    3.5 spearman相关性检验

    检验代码,明确方法用spearman:

    SCor <- cor.test(Face_score,Admirers,method="spearman")
    

    检验结果:
    图片

    P值大于0.05,不能拒绝原假设,所以不能认为长得越好看,追求者越多。

    四、列联表检验(定性资料)

    4.1 pearson卡方检验

    适合性检验:
    案例:高中学了孟德尔豌豆杂交实验,二代分离的结果为:黄圆315、黄皱101、绿圆108、绿皱32,共556粒。这个结果符合自由组合定律9:3:3:1吗?
    检验数据:

    F2split <- c(315,101,108,32)
    Ratio <- c(9/16,3/16,3/16,1/16)
    Fit <- chisq.test(F2split , p = Ratio )
    

    检验结果:
    P值大于0.05,因此不能拒绝原假设,认为二代分离结果符合自由组合定律。

    独立性检验
    案例:大学及研究生阶段,发现班上总是女生入社团很积极,男生很一般。所以,性别和加入社团与否有关系吗?
    检验数据:

    CHi <- as.table(rbind(c(62, 37), c(48, 23)))
    dimnames(CHi ) <- list(gender = c("F", "M"),
                    party = c("InParty","Notinparty"))
    Chiq <- chisq.test(CHi )
    

    检验结果:
    图片

    P值大于0.05,说明性别和加不加入社团没关系哦~

    4.2 Fisher精确检验

    案例:单身与否和化妆有关系吗?
    数据准备:

    Fisher<- rbind(c(28 ,42), c(35, 27))
    dimnames(Fisher) <- list(gender = c("Single", "Mate"),
                    party = c("Makeup","NoeMakeup"))
     
    #检验代码:
    Fish <- fisher.test(Fisher)
    

    检验结果:
    图片

    P值大于0.05,拒绝原假设,接受备择假设:真实比值不等于1 ,说明化妆对找男朋友还是有用的。Wu~

    4.3 Cochran-Mantel–Haensze卡方检验

    案例:肖战和王一博的男粉和女粉有明显差别不?在不用地区分布咋样(比如在重庆,是不是肖战的粉丝明显更多)?
    数据准备(五个城市不同男女喜欢肖战王一博的统计数据):

    Fans<- array(c(100,200,28,320,
               253,230,113,376,
               116,452,320,414,
                     123,23,456,311,
                     234,452,145,264),
               dim = c(2,2,5),
               dimnames = list(
               Sex= c('Female','Male'),
               Response = c('XZ','WYB'),
                Penicillin.Level = c('CQ','BJ','SH','GZ','CD')))
    

    检验代码:

    FanTest <- mantelhaen.test(Fans)
    

    检验结果:
    图片

    P值小于0.05,接收备择假设:两个人被喜欢的程度,还是会受到城市的影响的~

    五、一致性检验

    5.1 Kappa一致性检验(定性数据)

    一致性检验也分两组比较及多组比较。在irr包里,有一个diagnoses数据集,这里面包含了6个医生多30个病人的诊断结果。
    如果只是对其中两个医生进行一致性检验,采用Cohen’s Kappa法;如果是多个医生一起比较一致性,采用 Fleiss’s Kappa法。以上两种方法的代码及结果如下:

    Cohen’s Kappa:
    install.packages('irr')
    library(irr)
    require(irr)
    data(diagnoses)
    dat=diagnoses[,c(1,2)]
     
    #检验代码:
    kap2 <- kappa2(dat[,c(1,2)],'unweighted')
    

    检验结果:
    图片

    P值小于0.05 ,说明这两个医生的诊断结果具有一致性。

    Fleiss’s Kappa:
    检验代码:

    Flesi <- kappam.fleiss(dat)
    

    检验结果:
    图片

    P值为0,kappa值0.43,说明这六个医生的评价仍然具有显著的一致性。

    5.2 配对χ2检验(McNemar检验)

    数据准备:

    Performance <- matrix(c(794, 86, 150, 570),
          nrow = 2,
          dimnames = list("1st Survey" = c("Approve","Disapprove"),
                           "2nd Survey" =c("Approve", "Disapprove")))
    #检验代码:
    mcnemar.test(Performance)
    
    

    检验结果:
    P值小于0.05,说明第一次调查和第二次调查的支持者及反对者具有一致性,第一次调查中支持的人,在第二次调查也支持。

    5.3 ICC组内相关系数

    ICC一般是具体的值,认为大于0.8,则前后一致性好。没有碰到过像上面一样的检验函数。由于放射组学前后两次勾画ROI,需要进行提取后特征值的一致性分析,所以,作者自己有写相关的ICC批量计算代码,如下

    ICC <- function(Data){
       if(unique(Data[,1]==unique(Data[,2]))){
        ICC <- 1
        ICC
      }
      else{
        n <- nrow(Data);k <- ncol(Data)
        mean_r <- apply(Data,1,mean)
        mean_c <- apply(Data,2,mean)
        mean_all <- mean(c(Data[,1],Data[,2]))
       
    l_all <- sum((Data-mean_all)^2)
        l_r <- sum((mean_r-mean_all)^2)*k
        l_c <- sum((mean_c-mean_all)^2)*n
        l_e = l_all-l_r-l_c
       
        v_all = n*k-1
        v_r = n-1
        v_c = k-1
        v_e = v_r*v_c
       
        MSR = l_r/v_r
        MSC = l_c/v_c
        MSE = l_e/v_e
       
        ICC = (MSR-MSE)/(MSR+(k-1)*MSE+k*(MSC-MSE)/n)
        ICC
      }
     
    }
     
    ICC1 <- DataFeature;ICC2 <- DataFeature2
     
    ICCvalue <- c()
    for(i in 2:ncol(ICC1)){
      data1 <- ICC1[,i];data2 <- ICC2[,i]
      Data <- data.frame(data1=data1,data2=data2)
      Value <- ICC(Data)
      ICCvalue <- c(ICCvalue,Value)
    }
     
    length(which(ICCvalue>=0.8))# %>% length() # 哪些特征的ICC系数大于0.8,则说明这些特征的可重复性好。
    

    附录

    正文所有用到的代码皆在此处~

    ## 随机生成服从均值为0,方差为1的100个正态分布数据
    test <- rnorm(100,0,1)
     
    ## 正态分布检验
    Shp <- shapiro.test(test)
    KS <- ks.test(test,0,1)
     
    library(nortest)
    Li <- lillie.test(test)
    Ad <- ad.test(test)
     
    ## 方差齐性检验
    require(graphics)
    str(InsectSprays)
    Bar <- bartlett.test(count ~ spray, data = InsectSprays);Bar
     
    library(car)
    Lev <- car::leveneTest(count ~ spray, data = InsectSprays);Lev
    Fli <- stats::fligner.test(count ~ spray, data = InsectSprays);Fli
     
    ## 单样本t检验
    Height <- sample(seq(1.3,2.2,by=0.1),100,replace=T)
    Tsingle <- t.test(Height, alternative = "greater", mu =1.55 );Tsingle
    Wilsingle <- wilcox.test(Height )
     
    ## 独立样本t检验
    South <- sample(seq(1.3,1.9,by=0.1),100,replace=T)
    North <- sample(seq(1.3,2.2,by=0.1),80,replace=T)
    IndT <- t.test(South ,North ,paired = F);IndT
    ManWit <- wilcox.test(South,North,paired = F);ManWit
     
    ## 配对样本t检验
    Getin <- sample(seq(3.22,14.9,by=0.1),100,replace=T)
    Getout <- sample(seq(1.22,9.9,by=0.1),100,replace=T)
    PairT <- t.test(Getin ,Getout ,paired = T);PairT
    PairWil <- wilcox.test(Getin,Getout,paired = T);PairWil
    ## 方差分析
    NLR <- sample(seq(3.22,14.9,by=0.1),100,replace=T)
    CRP <- sample(seq(0.06,190,by=0.1),100,replace=T)
    Age <- sample(seq(20,70,by=1),100,replace=T)
    COVID_Type <- sample(c(1,2,3),100,replace=T)
     
    AovData <- data.frame(Type=COVID_Type,NLR=NLR,CRP=CRP,Age =Age )
    Aov <- aov(Type~.,data=AovData )
    summary(Aov )
    ## 单因素
    KS <- kruskal.test(Type~NLR,data=AovData);KS
    ## 多因素
    library(vegan)
    AD <- adonis(Type~.,data=AovData);AD
     
    ## 相关性分析
    Face_score <- sample(seq(1,10,by=1),100,replace=T)
    Admirers <- sample(seq(1,5,by=1),100,replace=T)
    Cor <- cor.test(Face_score,Admirers,method="pearson");Cor
    SCor <- cor.test(Face_score,Admirers,method="spearman");SCor
     
     
    ## 列联表检验
    ## chisq.test
    ## 适合性检验
    F2split <- c(315,101,108,32)
    Ratio <- c(9/16,3/16,3/16,1/16)
    Fit <- chisq.test(F2split , p = Ratio );Fit
     
    ## 独立性检验
    Chi <- as.table(rbind(c(62, 37), c(48, 23)))
    dimnames(Chi ) <- list(gender = c("F", "M"),
                    party = c("InParty","NotinParty"))
    Chiq <- chisq.test(Chi );Chiq
     
    ## fisher exact test
    Fisher<- rbind(c(28 ,42), c(35, 27))
    dimnames(Fisher) <- list(gender = c("Single", "Mate"),
                    party = c("Makeup","NoeMakeup"))
    Fish <- fisher.test(Fisher);Fish
     
    ## 分层检验
    Fans<- array(c(100,200,28,320,
               253,230,113,376,
               116,452,320,414,
                  123,23,456,311,
                  234,452,145,264),
               dim = c(2,2,5),
               dimnames = list(
               Sex= c('Female','Male'),
               Response = c('XZ','WYB'),
                Penicillin.Level = c('CQ','BJ','SH','GZ','CD')))
    FanTest <- mantelhaen.test(Fans);FanTest
     
    ## 一致性检验
    install.packages('irr')
    library(irr)
    require(irr)
    data(diagnoses)
    dat=diagnoses[,c(1,2)]
    kap2 <- kappa2(dat[,c(1,2)],'unweighted');kap2
     
    Flesi <- kappam.fleiss(diagnoses);Flesi
     
    ## mcnemar 检验
    Performance <- matrix(c(794, 86, 150, 570),
          nrow = 2,
          dimnames = list("1st Survey" = c("Approve","Disapprove"),
                           "2nd Survey" =c("Approve", "Disapprove")))
    Performance
    mcnemar.test(Performance)
    
    展开全文
  • 样本检验检验一个正态分布的总体的均值是否在满足零假设的值之内,例如检验一群军校男生的身高的平均是否符合全国标准的 170 公分界线。 双样本检验:其零假设为两个正态分布的总体的均值...

    T 检验是用于小样本(样本容量小于 30)的两个平均值差异程度的检验方法。它是用 T 分布理论来推断差异发生的概率,从而判定两个平均数的差异是否显著,常被应用于小样本判断的置信度。

    最常用 t 检验的情况有:

    • 单样本检验:检验一个正态分布的总体的均值是否在满足零假设的值之内,例如检验一群军校男生的身高的平均是否符合全国标准的 170 公分界线。
    • 双样本检验:其零假设为两个正态分布的总体的均值之差为某实数,例如检验二群人的身高之平均是否相等。这一检验通常被称为学生 t 检验。但更为严格地说,只有两个总体的方差是相等的情况下,才称为学生 t 检验;否则,有时被称为 Welch 检验。以上谈到的检验一般被称作 “未配对” 或 “独立样本”t 检验,我们特别是在两个被检验的样本没有重叠部分时用到这种检验方式。
    • “配对” 或者 “重复测量”t 检验:检验同一统计量的两次测量值之间的差异是否为零。举例来说,我们测量一位病人接受治疗前和治疗后的肿瘤尺寸大小。如果治疗是有效的,我们可以推定多数病人接受治疗后,肿瘤尺寸应该是变小了。
    • 检验一条回归线的斜率是否显著不为零。

    R命令及输出结果解读:

    > t.test(a$X5.您的年龄是, mu = 5)
    
    	One Sample t-test #1个样本的t检验
    
    data:  a$X5.您的年龄是 #数据集
    t = -5.4269, df = 114, p-value = 3.269e-07 #离差统计量,自由度(数据数量-1),
    #p值(如果总体均值是5,那么随机抽取115个样本其均值为4.6的概率)
    alternative hypothesis: true mean is not equal to 5 #备择假设
    95 percent confidence interval: #95%置信区间
     4.477726 4.757057
    sample estimates: #样本均值
    mean of x 
     4.617391 

     

    展开全文
  • 例如,学生t检验是众所周知的参数检验,假设样本均值具有正态分布。由于中心极限定理,如果样本量足够,测试也可以应用于非正态分布的测量。在这里,我们将研究t检验有效所需的大致样本数。 将正态分布拟合到采样...

    参数检验受制于数据属性的假设。例如,学生t检验是众所周知的参数检验,假设样本均值具有正态分布。由于中心极限定理,如果样本量足够,测试也可以应用于非正态分布的测量。在这里,我们将研究t检验有效所需的大致样本数。

    将正态分布拟合到采样均值

    为了研究满足学生t检验要求所需的样本数量,我们迭代各种样本量。对于每个样本大小,我们从几个分布中抽取样本。然后,计算样本的平均值,并将正态分布拟合到平均值的分布。在每次迭代中,我们记录描述正态分布与采样均值拟合程度的对数似然。当对数似然变为正时,我们将考虑采样均值接近正态分布。

    记录拟合的概率

    调查结果,我们可以看到一些分布似乎比其他分布更快地接近正态分布:

    <span style="color:#000000"><span style="color:#000000"><code>print(result)</code></span></span>
    ##   Sample_Size      Beta     Normal        Chi    Poisson   Student
    ## 1           5  694.9139 -299.81161 -496.33474 -702.94076 -1971.203
    ## 2          10  823.0384 -126.68806 -297.08253 -515.18702 -3806.447
    ## 3          15  909.4417  -30.63266 -199.77525 -455.64737 -2119.944
    ## 4          20 1045.1414   46.45709 -136.21868 -375.75690 -2263.025
    ## 5          50 1235.7655  278.66189   84.44694 -117.56140 -3427.721
    ## 6         100 1397.7265  443.81523  281.68706   47.87537 -2178.871
    ## 7        1000 1996.2198 1019.70692  845.26837  619.25871 -3636.674
    ## 8        5000 2398.4267 1402.41433 1260.47873 1018.24454 -3231.983

    根据正对数似然,β分布产生的正态分布均值已经为5的样本大小。正态分布,卡方分布和泊松分布在样本大小分别为20,50和100时产生正态分布均值。最后,学生分布的方式永远不会正常,因为具有一个自由度的分布具有无限的峰度(非常重的尾部),使得中心极限定理不成立。

    验证对数似然标准

    作为结果的验证,让我们绘制样本大小为5的直方图和平均分布变为正常的样本大小:

    <span style="color:#000000"><span style="color:#000000"><code>plot.means(norm.means)</code></span></span>

    这些结果表明对数似然准则是正态性的充分代理。但请注意,从目视检查来看,平均值的初始贝塔分布似乎不比正态分布更正常。所以这个结果可能是用一粒盐。看看学生的t分布,我们可以看出为什么它的手段不是正态分布的:

    <span style="color:#000000"><span style="color:#000000"><code>round(quantile(means$Student), <span style="color:#880000">2</span>)</code></span></span>
    ##      0%     25%     50%     75%    100% 
    ## -495.61   -0.95    0.00    0.98 3422.66

    对于一些样本,平均分布在分布的两个尾部具有极端异常值。

    结论

    这些实验的结果表明,对于小于20的样本,绝对应该避免学生t检验。当样本量至少为100时,大多数分布似乎都满足了测试的假设。 

    总之,特别建议检查样本大小低于100的测量分布。由于中心极限定理不适用于具有无穷方差的分布,因此验证大样本大小的测量分布也是合理的。排除这种分配的可能性。正如我们在这里看到的,即使在5000的样本大小下,根据具有一个自由度的t分布分布的测量也不满足测试的假设。

    非常感谢您阅读本文,有任何问题请留言给我们!

    展开全文
  • 很多检验都假定了总体的背景分布,但也有些检验没有假定总体分布的具体形式,这些检验多根据数据观测值的相对大小建立检验统计量,然后找到在零假设下这些统计量的分布,并且看这些统计量的数据实现是否在零假设下...
  • R语言test函数均值和方差的检验

    千次阅读 2021-04-15 22:19:43
    文章目录单个正态总体均值检验均值已知,方差未知的单样本t检验样本的t检验正态总体方差的检验二项分布的假设检验 单个正态总体均值检验 library(BSDA) a <- c(8.05,8.15,8.2,8.1,8.25) z.test(x=a,mu=8,...
  • 从这个部分我们就开始为大家介绍统计推断的内容了,我们将重点放到相关统计函数的特定参数及其输出的解释上。一些最基础的统计检验基本上都是比较连续数据...它们能够对单样本、两独立样本与配对样本进行检验。#Ti...
  • 例如,学生t检验是众所周知的参数检验,假设样本均值具有正态分布。由于中心极限定理,如果样本量足够,测试也可以应用于非正态分布的测量。在这里,我们将研究t检验有效所需的大致样本数。 将正态分布拟合到采样...
  • 之前详细介绍了利用R语言进行统计描述,详情点击:R语言系列第三期:①R语言单组汇总及图形展示、R语言系列第三期:②R语言多组汇总及图形展示、R语言系列第三期:③R语言表格及其图形展示从这个部分我们就开始为...
  • 1、均值是400,样本是397,面包的重量是否减少了,读文件,方法一 breads ("breads.csv")读文件,方法二 breads (file.choose())计算样本均值和方差mean(breads$weight)//均值 sd(breads$weight)//方差date weight ...
  • ▼单个总体的均值向量的检验▼ 描述: 1.作统计假设:H0:μ=μ0,H1:μ≠μ0 2.计算样本均值 3.计算统计量的具体值: 4.按规定的小概率标准α,查卡方分布表,得临界值,并做出判断:  当 ,接受原假设,...
  • R语言函数与模型学习笔记:残差相关性零均值检验及跨期相关系数(图) 使用极大似然估计模型参数的假设包括:残差正态性、包含截距时的零均值、以及联合正态分布。如果我们更进一步假设待估计方程矩阵的方差-协方差...
  • 使用R完成均值检验

    万次阅读 2014-04-13 15:17:07
    样本均值检验 当样本容量小于30时使用t检验,当样本容量大于30时使用Z检验 Z检验使用例子: library(UsingR) x(50,0,5) simple.z.test(x,5)运行结果: [1] -2.947929 3.250022 结果说明在置信度为95%的情况下...
  • 【练习一】对example1_1.Rdata中数据,利用R软件,完成分别有放回和无放回抽取10名学生的姓名组成一个随机样本,输出学生姓名分别有放回和无放回抽取10名学生的姓名和分数组成一个随机样本,同时输出学生姓名和分数。...
  • 所述配对双样品的Wilcoxon检验一种的非参数检验,其可以被用于比较样品的两个独立数据。...为了执行两个样本的Wilcoxon检验,比较两个独立样本(x&y)的均值R函数wilcox.test()可以如下...
  • 配对样本t检验用于样品的两个相关组之间的比较手段。在这种情况下,同一样本有两个值(即一对值)。举个例子,在1个月内有20只小鼠接受了治疗X。我们想知道处理X是否会对小鼠的体重产生影响。为了回答这个问题,在...
  • 我们之前比较两总体均值时,都要假定感兴趣的总体是近似正态分布。然而,在许多情况,这种正态总体的假定是不可靠的。 能否在总体分布不知道的时候有办法检验两个总体的中位数是否相等呢? 我们在这里,介绍一种常用...
  • 区分总体与样本的概念,用到的公式是完全不同的。
  • R语言执行T检验

    千次阅读 2017-05-29 19:50:23
    样本t检验与双样本t检验
  • R的两均值比较检验(参数检验

    千次阅读 2017-09-17 11:06:00
    1.由于抽样的随机性,样本均值在不同总体上的差距很可能是由抽样误差引起的,而这种差距不被认为具有统计上的显著性。 2.反之,若分析发现样本均值在不同总体上差距较大,但不是由抽样误差引起的,则数值型变量在...
  • 5.1单样本t检验 daily.intake&lt;-c(5260,5470,5640,6180,6390,6515,6805,7515,8230,8770) mean(daily.intake)#求均值 [1] 6677.5 sd(daily.intake)#计算标准差 [1] 1174.11 quantile(daily.intake)#四分...
  • 方差分析是假设数据满足正态分布和方差齐性的前提下,计算总体相等但在当前样本量下由于偶然原因导致均值出现差异的概率,或者说基于当前样本量,结局均值的差异有多大的可能性(概率)是由于偶然原因造成的。...
  • R语言差异检验:非参数检验

    千次阅读 2019-11-09 21:37:45
    文章目录@[toc]Mann-Whitney U检验适用条件R语言示例Wilcoxon配对秩和检验适用条件R语言示例Kruskal-Wallis检验适用条件R语言示例Friedman检验适用条件R语言示例 非参数检验是在总体方差未知或知道甚少的情况下,...
  • 在上两期课程中,我们详细讲解了SPSS计算均值和单样本T检验的操作。上述两种方法是对单一样本进行的均值分析和比较。单一样本指的是同一类型或者同一组别的样本,比如男性,或者一班。 当我们要进行2类样本或者2组...
  • R语言t检验

    万次阅读 多人点赞 2017-02-27 16:09:06
    自己整理编写的R语言常用数据分析模型的模板,原文件为Rmd格式,直接复制粘贴过来,作为个人学习笔记保存和分享。I.单样本t检验例1. 有原始数据的t检验已知某水样中含碳酸钙的真值为20.7mg/L,现用某法重复测定该...
  • 所述配对双样品的Wilcoxon检验一种的非参数检验,其可以被用于比较样品的...为了执行两个样本的Wilcoxon检验,比较两个独立样本(x&y)的均值R函数wilcox.test()可以如下使用: wilcox.test(x, y, alternative...
  • R语言与正态总体均值的区间估计

    千次阅读 2020-04-16 17:05:16
    学习笔记 参考书籍:《统计学》-贾俊平;...一个正态总体均值的区间估计 产品重量数据: 74.3 78.8 68.8 78.0 70.4 80.5 80.5 69.7 71.2 73.5 79.5 75.6 75.0 78.8 72.0 72.0 72.0 74.3 71.2 72.0 75.0 73....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,882
精华内容 1,152
关键字:

r语言样本均值检验