当前位置:K88软件开发文章中心编程语言R语言R语言01 → 文章内容

R语言 协方差分析

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-15 15:46:34

由 xiaoxiaogang 创建,youj 最后一次修改 2016-12-12 我们使用回归分析创建模型,描述变量在预测变量对响应变量的影响。 有时,如果我们有一个类别变量,如Yes / No或Male / Female等。简单的回归分析为分类变量的每个值提供多个结果。 在这种情况下,我们可以通过将分类变量与预测变量一起使用并比较分类变量的每个级别的回归线来研究分类变量的效果。 这样的分析被称为协方差分析,也称为ANCOVA。 例考虑在数据集mtcars中内置的R语言。 在其中我们观察到字段“am”表示传输的类型(自动或手动)。 它是值为0和1的分类变量。汽车的每加仑英里数(mpg)也可以取决于马力(“hp”)的值。 我们研究“am”的值对“mpg”和“hp”之间回归的影响。 它是通过使用aov()函数,然后使用anova()函数来比较多个回归来完成的。 输入数据从数据集mtcars创建一个包含字段“mpg”,“hp”和“am”的数据框。 这里我们取“mpg”作为响应变量,“hp”作为预测变量,“am”作为分类变量。 input <- mtcars[,c("am","mpg","hp")]print(head(input))当我们执行上面的代码,它产生以下结果 - am mpg hpMazda RX4 1 21.0 110Mazda RX4 Wag 1 21.0 110Datsun 710 1 22.8 93Hornet 4 Drive 0 21.4 110Hornet Sportabout 0 18.7 175Valiant 0 18.1 105协方差分析我们创建一个回归模型,以“hp”作为预测变量,“mpg”作为响应变量,考虑“am”和“hp”之间的相互作用。 模型与分类变量和预测变量之间的相互作用# Get the dataset.input <- mtcars# Create the regression model.result <- aov(mpg~hp*am,data = input)print(summary(result))当我们执行上面的代码,它产生以下结果 - Df Sum Sq Mean Sq F value Pr(>F) hp 1 678.4 678.4 77.391 1.50e-09 ***am 1 202.2 202.2 23.072 4.75e-05 ***hp:am 1 0.0 0.0 0.001 0.981 Residuals 28 245.4 8.8 ---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1这个结果表明,马力和传输类型对每加仑的英里有显着的影响,因为两种情况下的p值都小于0.05。 但是这两个变量之间的相互作用不显着,因为p值大于0.05。 没有分类变量和预测变量之间相互作用的模型# Get the dataset.input <- mtcars# Create the regression model.result <- aov(mpg~hp+am,data = input)print(summary(result))当我们执行上面的代码,它产生以下结果 - Df Sum Sq Mean Sq F value Pr(>F) hp 1 678.4 678.4 80.15 7.63e-10 ***am 1 202.2 202.2 23.89 3.46e-05 ***Residuals 29 245.4 8.5 ---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1这个结果表明,马力和传输类型对每加仑的英里有显着的影响,因为两种情况下的p值都小于0.05。 比较两个模型现在我们可以比较两个模型来得出结论,变量的相互作用是否真正重要。 为此,我们使用anova()函数。 # Get the dataset.input <- mtcars# Create the regression models.result1 <- aov(mpg~hp*am,data = input)result2 <- aov(mpg~hp+am,data = input)# Compare the two models.print(anova(result1,result2))当我们执行上面的代码,它产生以下结果 - Model 1: mpg ~ hp * amModel 2: mpg ~ hp + am Res.Df RSS Df Sum of Sq F Pr(>F)1 28 245.43 2 29 245.44 -1 -0.0052515 6e-04 0.9806由于p值大于0.05,我们得出结论,马力和传播类型之间的相互作用不显着。 因此,在汽车和手动变速器模式下,每加仑的里程将以类似的方式取决于汽车的马力。

R语言 协方差分析