美文网首页
ANOVA-单因素方差分析

ANOVA-单因素方差分析

作者: 东方不赞 | 来源:发表于2020-04-13 23:31 被阅读0次

    学习了一个视频https://www.bilibili.com/video/BV1m7411N79y?p=2

    图例1

    1.什么是方差分析

    1.1 方差分析的目的

    比较多组均数的差异。即检验在控制变量的不同水平下(不同分组),观测变量各总体分布(需要从mean和sd上考虑)是否存在显著差异

    1.2 方差分析的情景

    分析一个数值型变量与一个或多个分类变量的相关性(即数值变量在各个分类中有无差异)

    1.3 方差分析的结果

    不同组别的均数差异显著-->该数值型变量与分类变量是相关的(这是我们最想要的结果,比如开发一种新药物,使用的不同剂量对病人是否有疗效上的差异)!

    1.4 方差分析的数据

    控制变量(如药物) 水平(如剂量) 观测变量(如疗效)
    A A_1 x_{11},x_{12},...x_{1n_{1}}
    A A_2 x_{21},x_{22},...x_{2n_{2}}
    A ... ...
    A A_r x_{r1},x_{r2},...x_{rn_{r}}
    B B_1 y_{11},y_{12},...x_{1m_{1}}
    B B_2 y_{21},y_{22},...x_{2m_{2}}
    B ... ...
    B B_l y_{l1},y_{l2},...y_{ln_{l}}
    .. .. ..

    2. 前提条件

    • 控制变量的不同水平下,观测变量服从正态分布
    • 控制变量的不同水平下,观测变量的方差齐

    3. 基本原理

    4.ANOVA-单因素方差分析

    4.1 模型

    4.2 假设

    假设

    4.3 计算公式

    公式

    4.4 统计量

    检验统计量

    5. R语言实现

    5.1 加载包和数据

    library(multcomp)
    data("cholesterol")
    head(cholesterol)
    ##     trt response
    ## 1 1time   3.8612
    ## 2 1time  10.3868
    ## 3 1time   5.9059
    ## 4 1time   3.0609
    ## 5 1time   7.7204
    ## 6 1time   2.7139
    unique(cholesterol$trt)
    ## [1] 1time  2times 4times drugD  drugE 
    ## Levels: 1time 2times 4times drugD drugE
    

    5.2正态性检验

    # hapiro-Wilk Normality Test
    shapiro.test(cholesterol$response)
    ## Shapiro-Wilk normality test
    ## data:  cholesterol$response
    ## W = 0.97722, p-value = 0.4417
    

    5.3 方差齐性检验

    # Bartlett Test of Homogeneity of Variances
    bartlett.test(data=cholesterol,
                  response~trt)
    ## Bartlett test of homogeneity of variances
    ## data:  response by trt
    ## Bartlett's K-squared = 0.57975, df = 4,
    ## p-value = 0.9653
    ## 或者使用:Levene's Test
    car::leveneTest(data=cholesterol,
                    response~trt)
    ## Levene's Test for Homogeneity of Variance (center = median)
    ##       Df F value Pr(>F)
    ## group  4  0.0755 0.9893
    ##      45 
    

    5.4 ANOVA检验

    library(dplyr)
    aov(data = cholesterol,
        response~trt) %>% 
      summary()
    ##             Df Sum Sq Mean Sq F value   Pr(>F)    
    ## trt          4 1351.4   337.8   32.43 9.82e-13 ***
    ##   Residuals   45  468.8    10.4                     
    ## ---
    ##  Signif. codes:  
    ##  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
    
    # 或者使用:oneway.test
    oneway.test(data = cholesterol,
                response~trt,
                var.equal = T)#方差齐不齐,齐则设为T,不齐设为F
    ## One-way analysis of means
    ## data:  response and trt
    ## F = 32.433, num df = 4, denom df = 45,
    ## p-value = 9.819e-13
    

    5.5可视化

    library(gplots)
    plotmeans(data = cholesterol,
              response~trt)
    
    mean分布

    相关文章

      网友评论

          本文标题:ANOVA-单因素方差分析

          本文链接:https://www.haomeiwen.com/subject/azbsphtx.html