学习使用 R 简单回归分析

回归分析有多种(线性,多项式等),这里对高中时期的线性回归分析 R 实现做一个笔记。

R 中有现成的方法实现。

拟对肥胖程度与高血压数据进行回归,数据参考:

https://people.sc.fsu.edu/~jburkardt/datasets/iswr/bp.obese.csv

linear_regression.R

#!/usr/bin/env Rscript
###
# Simple linear regression using R
#
# @author YanWen <i@yanwen.email>
###

bo <- read.csv('bp.obese.csv')

# Plot
plot(BloodPressure ~ Obese, data=bo, pch=as.integer(Sex), col=as.integer(Sex) + 3)
legend('topright', legend=c('Male', 'Female'), pch=c(1, 2), col=c(3, 4))

# Linnear regression
m1 <- lm(BloodPressure ~ Obese, data=bo)
abline(m1, col='red', lty=2, lwd=3)

# Simple prediction
predict(m1, data.frame('Obese' = 5.0))
# ->
#        1
# 211.8247

predict(m1, data.frame('Obese' = 5.0), interval='prediction')
# ->
#        fit      lwr     upr
# 1 211.8247 152.1204 271.529

线性回归的系数参考 m1 变量,作图:

参考:

  1. R doc(?lm or https://cran.r-project.org/doc/manuals/r-release/fullrefman.pdf P.1422)
  2. https://en.wikipedia.org/wiki/Regression_analysis

作者: V

Web Dev

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s