R语言-方差检验

Python015

R语言-方差检验,第1张

对实验数据检验方差相等的正态分布总体均值是否相等。判断各因素对试验指标影响是否显著。根据影响实验指标条件的个数可以区分为:单因素方差分析,双因素方差分析,多因素方差分析

boxplot(目标变量~变量,data=数据框)

箱子中的黑线是中值,箱体是下边缘为1/4分位数,上边缘为3/4分位数。上下两侧为最小值和最大值。

第一列为均值差异,第二列为置信区间,最后为P值(校正后)

上方存在相同字母的组间差异不显著

R语言与统计-1:t检验与秩和检验

方差分析适用于多组均数的比较 (在完全随机设计的实验中,两组均数的t检验和方差分析是完全等价的。但t检验只能用于两组的均数比较,对于三组和三组以上的均数比较,就需要用到方差分析。)

可以看到这个数据集只有两个变量,其中治疗是分类变量(因子型),有5个水平。response是数值型变量。要对每种治疗所对应的response的均值进行比较,就只能用方差分析而不能用t检验。

符合正态分布

要比较均值的数据写~左边,分组变量写右边。p=0.9653,方差齐。

写法同上,方差齐。

需要注意的是,如果检验出方差不齐,我们第一步不是立马选择进行非参数检验,而是首先要判断有无异常值存在,因为异常值对方差的影响很大。当然,到这一步才来检验有无异常值是不符合数据分析的流程的,异常值在进行数据初步处理的时候就因该被发现和处理掉。

方差分析包括 单因素方差分析 , 多因素方差分析 , 协方差分析 , 多元方差分析 , 重复测量数据方差分析 。

gplots包的plotmeans函数 对上述结果进行可视化

使用ToothGrowth数据集进行演示

aov函数

不考虑supp和dose之间的交互作用的情况。结果显示两个因素都对小鼠牙齿生长影响显著。

考虑两个因素之间的交互作用:将上面的+换成*。结果显示两个因素都对小鼠牙齿生长影响显著而且两者间的互相影响也不容忽视。

可视化

上述结果已经知道了再五组数据中的均值不全相等,下一步想知道哪些相等哪些不等,就要对这五组进行两两比较。

输出的结果:从左往右依次是:两两比较、两两间的差值、lwr是95%可信线的下限,upr是上限。最后是p值。

将结果可视化:

线段中点是均值,两端是95%置信区间,跨过0说明没有显著差异。

在进行方差分析时,所有混杂因素统称为 协变量 。

检验dose对weight的影响。出生时间gesttime是协变量。

aov后面小括号里写的顺序:结果变量~协变量+自变量。如果要看协变量和自变量之间是否存在交互,在后面写+协变量:自变量。最后是data=数据集。

结果显示两个变量之间不存在交互效应(p=0.17889, >0.05),可以认为它们的斜率是相同的。

因变量不止一个,但是需要将它们作为一个整体同时进行分析。例如:某种药物对患者血红蛋白浓度,红细胞计数,外周血细胞因子水平等多种因素的影响。

使用 manovs()函数 进行性多元方差分析

参考: https://blog.csdn.net/dingming001/article/details/72822270

R语言中的多元方差分析1、当因变量(结果变量)不止一个时,可用多元方差分析(MANOVA)对它们同时进行分析。library(MASS)attach(UScereal)y <- cbind(calories, fat, sugars)aggregate(y, by = list(shelf), FUN = mean)Group.1 calories fatsugars1 1 119.4774 0.6621338 6.2954932 2 129.8162 1.3413488 12.5076703 3 180.1466 1.9449071 10.856821cov(y)calories fat sugarscalories 3895.24210 60.674383 180.380317fat60.67438 2.713399 3.995474sugars180.38032 3.995474 34.050018fit <- manova(y ~ shelf)summary(fit)Df Pillai approx F num Df den Df Pr(>F) shelf 1 0.195944.955 3 61 0.00383 **Residuals 63 ---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1summary.aov(fit)Response calories :Df Sum Sq Mean Sq F valuePr(>F)shelf1 45313 45313 13.995 0.0003983 ***Residuals 63 2039823238 ---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Response fat :Df Sum Sq Mean Sq F value Pr(>F) shelf1 18.421 18.4214 7.476 0.008108 **Residuals 63 155.236 2.4641---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Response sugars :Df Sum Sq Mean Sq F value Pr(>F) shelf1 183.34 183.34 5.787 0.01909 *Residuals 63 1995.87 31.68 ---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 12、评估假设检验单因素多元方差分析有两个前提假设,一个是多元正态性,一个是方差—协方差矩阵同质性。(1)多元正态性第一个假设即指因变量组合成的向量服从一个多元正态分布。可以用Q-Q图来检验该假设条件。center <- colMeans(y)n <- nrow(y)p <- ncol(y)cov <- cov(y)d <- mahalanobis(y, center, cov)coord <- qqplot(qchisq(ppoints(n), df = p), d, main = "QQ Plot Assessing Multivariate Normality", ylab = "Mahalanobis D2")abline(a = 0, b = 1)identify(coord$x, coord$y, labels = row.names(UScereal))如果所有的点都在直线上,则满足多元正太性。2、方差—协方差矩阵同质性即指各组的协方差矩阵相同,通常可用Box’s M检验来评估该假设3、检测多元离群点library(mvoutlier)outliers <- aq.plot(y)outliers