• 主页
  • 课程

    关于课程

    • 课程归档
    • 成为一名讲师
    • 讲师信息
    同等学历教学

    同等学历教学

    免费
    阅读更多
  • 特色
    • 展示
    • 关于我们
    • 问答
  • 事件
  • 个性化
  • 博客
  • 联系
  • 站点资源
    有任何问题吗?
    (00) 123 456 789
    weinfoadmin@weinformatics.cn
    注册登录
    恒诺新知
    • 主页
    • 课程

      关于课程

      • 课程归档
      • 成为一名讲师
      • 讲师信息
      同等学历教学

      同等学历教学

      免费
      阅读更多
    • 特色
      • 展示
      • 关于我们
      • 问答
    • 事件
    • 个性化
    • 博客
    • 联系
    • 站点资源

      R语言

      • 首页
      • 博客
      • R语言
      • 【回归分析】二元直线回归分析

      【回归分析】二元直线回归分析

      • 发布者 weinfoadmin
      • 分类 R语言
      • 日期 2016年5月23日
      测试开头

      回归是一种——可以说是最基本,也是最重要的一种统计分析工具,它可以在含有大量数据集的研究领域中使用。它构 成了在社科领域当中一些热度很高的统计方法的基础。多元回归分析和结构化方程建模也许是应用最广泛,同时也是运用到心理研究和教育研究的回归分析中,效果 最好的回归模型。其中的原因就在于回归分析所选用的架构非常简单,但又非常灵活。还有,它们很容易在R平台上实现,并且有很多很多的辅助函数来使用,甚至 可以通过查阅帮助文档就能掌握。

      接下来,我们看一个简单的线性回归分析的例子。我会使用swiss数据集,而这个数据集则含在datasets包里,而且也已经在R的所有安装流程上预先包装好了。现在,我们直接把这个数据集加载到我们的工作区域来使用。

      1. data(swiss)

      这个数据集的帮助文档也会告诉我们,这个数据集记录了瑞典1888年的生产力数据,而且所有的变量都以百分数的形式表示。它的结果,我会在这里看一 下生产力的指标,并通过研究比小学教育更高一级的教育进行生产力的预测——这时,我的基本假设就是更高等级的教育,其生产力就更低(如果1888年和现在 的情况一样的话)。
      下面,我们先看一下这个例子的散点图:

      1. plot(swiss$Fertility~swiss$Education)

      【回归分析】二元直线回归分析

      这个原始的散点图已经部分的证明了这个假设的合理性,而且更重要的是,这行代码本身就已经包含了回归分析中的核心语法结构。在R上写上一个公式的基 本方法就是dependent~independent,其~符号可以理解成“在这里进行回归分析”或者“以此进行预测”。第二个最重要的一点就是在R上 计算基本回归分析的实质就是要你使用这样的一个函数:lm(…),这代表线性模型的意思。
      这里,你在lm()函数里最常用到的两个参数分别是 formula和data(数据段)。这些参数也就自然而然地,而且也是lm(…)函数的头两个参数。指定一个数据段作为变量,你可以直接在 formula那里指明,而不需要告诉R每个变量的具体位置。当然,它只能在这两个变量都真的如你所指明的那样,在数据集里的时候才有效。下面,我们试一 下使用lm()函数,并把结果存放到reg中。

      1. reg <- lm(Fertility~Education,swiss)

      2. regCall:

      3. lm(formula = Fertility ~ Education, data = swiss)


      4. Coefficients:

      5. (Intercept)    Education  

      6.    79.6101      -0.8624

      lm(…)函数的基本输出结果包含两个部分:Call和系数。前面的那个部分告诉你,你用回归分析估计了什么东西,其实就是要确认一下这是否是你的 本意,然后第二个部分就给你输出相关的系数。在这个例子中,我们看到这样的两个系数:偏置项b和这个变量的系数。这个结果告诉我们,当Education 这个变量取0的时候,其预测结果是79.6101。这样的预测结果我们通常也会把它称之为条件期望,原因就在于你期望这个因变量的取值是假设自变量的值为 0时产生的。更加正式的说,$latex E(Y|X=0) = 79.61$。回归的权重就是一个点不同的两个领域的预测值之差。
      对于大部分的R对象而言,summary()函数可以在ASCII表格中展示出很多最有用的信息。

      1. summary(reg)Call:

      2. lm(formula = Fertility ~ Education, data = swiss)


      3. Residuals:

      4.    Min      1Q  Median      3Q     Max

      5. -17.036  -6.711  -1.011   9.526  19.689


      6. Coefficients:

      7.            Estimate Std. Error t value Pr(>|t|)    

      8. (Intercept)  79.6101     2.1041  37.836  < 2e-16 ***

      9. Education    -0.8624     0.1448  -5.954 3.66e-07 ***

      10. ---

      11. Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1


      12. Residual standard error: 9.446 on 45 degrees of freedom

      13. Multiple R-squared:  0.4406,    Adjusted R-squared:  0.4282

      14. F-statistic: 35.45 on 1 and 45 DF,  p-value: 3.659e-07

      在这个表格当中,什么样的信息最重要呢?也许就是系数的选择了,它包含了其中的参数估计和相关t检验。这个结果告诉我们,一个领域的教育程度和生产力水平是由显著相关性的。
      第 二个最重要的一行信息就是$latex R^2$。在这个例子中,超过44%的领域的生产力变化体现了与教育等级变化之间的差异。基于这个事实,$latex R^2$就是自变量与因变量之间的皮尔森相关系数的平方的多重相关平方,这个、体现在生产力和教育水平的相关性应当等于在这里的R^2$。为了检验它,我 们可以这么做:

      1. summary(reg)$r.squared

      2. cor(swiss$Fertility,swiss$Education)^2

      3. summary(reg)$r.squared == cor(swiss$Fertility,swiss$Education)^2

      4. 0.4406156

      5. 0.4406156

      6. TRUE

      最后一行代码展示了两个变量之间所求出来的值是否相等。
      为了完善这个过程,我会在最开始作的散点图那里添加一条回归直线。之前就已经说 到,lm(…)函数和它的结果能很好的嵌入到R语言的环境中。所以,我们需要调用abline()函数来添加结果回归线。这个函数可以添加任何类型的直 线,而你只需要给它一个截距a和斜率b。如果你在这里放入lm类型的参数,它可以帮你完成回归线的拟合。

      1. plot(swiss$Fertility~swiss$Education)

      2. abline(reg)

      【回归分析】二元直线回归分析
      这样,我们的R基本回归分析向导就这样大功告成。在后续的博客当中,我们会对这些概念延伸到多元回归进行探讨,并且关注一下如何简单的检验OLS回归的假设。

      原文链接:http://datascienceplus.com/bivariate-linear-regression/

      严禁修改,可以转载,请注明出自数据人网和原文链接。


      今日数据人网精选推荐:

      《谷歌I/O大会,人工智能+机器学习的产品》

      《开始您的机器学习旅程!》

      点击【阅读原文】,即刻阅读精选。

      测试结尾

      请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!

      • 分享:
      作者头像
      weinfoadmin

      上一篇文章

      【数据人网】干货资料第二期大派送
      2016年5月23日

      下一篇文章

      【R读书笔记】R语言读书心得3-数据的导入导出
      2016年5月25日

      你可能也喜欢

      3-1665801675
      R语言学习:重读《R数据科学(中文版)》书籍
      28 9月, 2022
      6-1652833487
      经典铁死亡,再出新思路
      16 5月, 2022
      1-1651501980
      R语言学习:阅读《R For Everyone 》(第二版)
      1 5月, 2022

      搜索

      分类

      • R语言
      • TCGA数据挖掘
      • 单细胞RNA-seq测序
      • 在线会议直播预告与回放
      • 数据分析那些事儿分类
      • 未分类
      • 生信星球
      • 老俊俊的生信笔记

      投稿培训

      免费

      alphafold2培训

      免费

      群晖配置培训

      免费

      最新博文

      Nature | 单细胞技术揭示衰老细胞与肌肉再生
      301月2023
      lncRNA和miRNA生信分析系列讲座免费视频课和课件资源包,干货满满
      301月2023
      如何快速批量修改 Git 提交记录中的用户信息
      261月2023
      logo-eduma-the-best-lms-wordpress-theme

      (00) 123 456 789

      weinfoadmin@weinformatics.cn

      恒诺新知

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      链接

      • 课程
      • 事件
      • 展示
      • 问答

      支持

      • 文档
      • 论坛
      • 语言包
      • 发行状态

      推荐

      • iHub汉语代码托管
      • iLAB耗材管理
      • WooCommerce
      • 丁香园论坛

      weinformatics 即 恒诺新知。ICP备案号:粤ICP备19129767号

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      要成为一名讲师吗?

      加入数以千计的演讲者获得100%课时费!

      现在开始

      用你的站点账户登录

      忘记密码?

      还不是会员? 现在注册

      注册新帐户

      已经拥有注册账户? 现在登录

      close
      会员购买 你还没有登录,请先登录
      • ¥99 VIP-1个月
      • ¥199 VIP-半年
      • ¥299 VIP-1年
      在线支付 激活码

      立即支付
      支付宝
      微信支付
      请使用 支付宝 或 微信 扫码支付
      登录
      注册|忘记密码?