R语言关于协方差分析实例分析

 更新时间:2021年05月10日 15:40:27   作者:w3cschool  
在本篇内容里小编给大家整理的是一篇关于R语言关于协方差分析实例分析内容,有兴趣的朋友们可以学习下。

我们使用回归分析创建模型,描述变量在预测变量对响应变量的影响。 有时,如果我们有一个类别变量,如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   hp
Mazda RX4          1    21.0  110
Mazda RX4 Wag      1    21.0  110
Datsun 710         1    22.8   93
Hornet 4 Drive     0    21.4  110
Hornet Sportabout  0    18.7  175
Valiant            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 * am
Model 2: mpg ~ hp + am
  Res.Df    RSS Df  Sum of Sq     F Pr(>F)
1     28 245.43                           
2     29 245.4410.0052515 6e-04 0.9806

由于p值大于0.05,我们得出结论,马力和传播类型之间的相互作用不显著。 因此,在汽车和手动变速器模式下,每加仑的里程将以类似的方式取决于汽车的马力。

以上就是R语言关于协方差分析实例分析的详细内容,更多关于R语言协方差分析的资料请关注脚本之家其它相关文章!

相关文章

  • RStudio中如何更改R包安装位置浅析

    RStudio中如何更改R包安装位置浅析

    R语言提供了丰富的功能和扩展包来支持各种任务,默认R语言会将安装的扩展包存储在特定的目录中,有时我们希望将这个默认存储路径更改为其他位置,以便更好地组织和管理我们的包,这篇文章主要给大家介绍了关于RStudio中如何更改R包安装位置的相关资料,需要的朋友可以参考下
    2023-09-09
  • R语言利用ggplot2绘制QQ图和箱线图详解

    R语言利用ggplot2绘制QQ图和箱线图详解

    这篇文章主要为大家介绍了R语言如何利用ggplot2绘制QQ图和箱线图,文中的示例代码讲解详细,对我们学习R语言有一定的帮助,需要的可以参考一下
    2022-06-06
  • R语言 出现矩阵/缺失值的解决方案

    R语言 出现矩阵/缺失值的解决方案

    这篇文章主要介绍了R语言 出现矩阵/缺失值的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • R语言决策基础知识点详解

    R语言决策基础知识点详解

    在本篇文章里小编给大家整理了一篇关于R语言决策基础知识点内容,有兴趣的朋友们可以学习参考下。
    2021-03-03
  • R语言-生成频数表和列联表crosstable函数介绍

    R语言-生成频数表和列联表crosstable函数介绍

    这篇文章主要介绍了R语言-生成频数表和列联表crosstable函数介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • 用R语言绘制函数曲线图

    用R语言绘制函数曲线图

    这篇文章主要介绍了如何用R语言绘制函数曲线图,帮助大家更好的理解和学习使用R语言,感兴趣的朋友可以了解下
    2021-03-03
  • R语言操作X轴日期实例讲解

    R语言操作X轴日期实例讲解

    这篇文章主要介绍了R语言操作X轴日期实例讲解,图文描述的很清楚,有感兴趣的同学可以研究下
    2021-03-03
  • R语言实现将分类变量转换为哑变量(dummy vairable)

    R语言实现将分类变量转换为哑变量(dummy vairable)

    这篇文章主要介绍了R语言实现将分类变量转换为哑变量(dummy vairable),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言基本语法知识点

    R语言基本语法知识点

    在本篇文章里小编给大家整理的是一篇关于R语言基本语法知识点内容,有兴趣的朋友们可以参考学习下。
    2021-03-03
  • 聊聊R语言中Legend 函数的参数用法

    聊聊R语言中Legend 函数的参数用法

    这篇文章主要介绍了聊聊R语言中Legend 函数的参数用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03

最新评论