R语言回归分析指南

2018 年 12 月 19 日 R语言中文社区

作者:郑连虎,在数学学院取得理学学位的文科生,中国人民大学硕博连读生在读,山东大学管理学学士、理学学士

个人公众号:阿虎定量笔记


本期介绍:

线性回归、逻辑回归、泊松回归、多层线性模型的R语言实战技术


常用命令:

lm或lm.fit:

线性模型的拟合(fit linear models)

predict.lm:

线性回归的预测(for prediction)

lm.influence:

线性模型的回归诊断(for regression diagnostics)

lm.wfit:

加权线性模型的拟合(for weighted regression fitting)

plm:

面板数据的线性回归分析(Linear models for panel data)

glm:

广义线性模型的拟合(fit generalized linear models)

lme:

线性混合效应模型的拟合(fits a linear mixed-effects model)


实例演示:


### 线性回归

## 数据准备

# 设置工作目录

setwd('D:/R_regression')

# 读取数据

data1 = read.csv("cassady.csv", header=T)

## 回归分析

# 考察大学平均绩点(GPA)与学业的认知焦虑(CTA.tot)、生理焦虑(BStotal)之间是否存在关系(注意命令lm)

model1_1 <- lm(GPA ~ CTA.tot + BStotal, data1)

# 报告回归分析结果

summary(model1_1)

# 报告方差分析结果

anova(model1_1)

# 考虑交互项

model1_2 <- lm(GPA ~ CTA.tot + BStotal + CTA.tot*BStotal, data1)

# 报告含有交互项的拟合结果

summary(model1_2)

## 检验线性回归的经典假设条件

# 安装并加载car程序包

install.packages("car")

library(car)

# 正态性检验

qqPlot(model1_1)

# 同方差检验

residualPlots(model1_1)


### 逻辑回归

## 数据准备

# 设置工作目录

setwd('D:/R_regression')

# 读取数据

data2 = read.csv("coronaryArtery.csv", header=T)

## 回归分析

# 考察冠心病状态(group)与步行至疲劳的时间(time)之间是否存在关系(注意参数family)

model2<- glm(group~time, data= data2, family = binomial)

# 报告回归分析结果

summary(model2)

# 卡方检验

model2_p = 1-pchisq(deviance(model2), df.residual(model2))

model2_p

[1] 0.7936135


### 泊松回归

## 数据准备

# 设置工作目录

setwd('D:/R_regression')

# 读取数据

data3 = read.csv("babies.csv", header=T)

## 回归分析

# 考察一个家庭的社会经济地位(sei)与居住在家中6个月以下的儿童数量(babies)之间是否存在关系(注意参数family)

model3<- glm(babies~sei, data= data3, family = poisson)

# 报告回归分析结果

summary(model3)

# 卡方检验

model3_p= 1-pchisq(deviance(model3), df.residual(model3))

model3_p

[1] 0.9849675


### 多层线性模型

## 数据准备

# 设置工作目录

setwd('D:/R_regression')

# 读取数据

data4 = read.csv("Achieve.csv", header=T)

## 回归分析

# 安装并加载nlme程序包

install.packages("nlme")

library(nlme)

# 考察学生的词汇测试得分在多大程度上可以预测一般阅读成绩(学生是嵌套在学校里的,需要用HLM(MLM)来分析具有层次结构的数据)

model4 <- lme(fixed = geread~1, random = ~1|school, data = data4)

# 报告回归分析结果

summary(model4)

# 计算类内方差与类间方差

estVar = VarCorr(model4)

tausq = as.numeric(estVar [1,1])

sigmasq = as.numeric(estVar [2,1])

# 报告ICC结果

estICC = tausq/(tausq+sigmasq)

estICC

[1] 0.07201576


参考文献:


Ding-Geng Chen. Statistical Modelling and Computing using R. University of North Carolina-Chapel Hill, USA



精彩回顾

R语言绘图:28个实用程序包

Stata绘图:简单好用的37条外部命令

技术贴│Stata回归图表美化

SPSS时间序列分析

R语言图形界面R commander

R语言数据挖掘利器:Rattle包

R语言时间序列分析

技术贴│R语言13种相关矩阵图

技术贴│REmap包:简单好用绘地图


公众号后台回复关键字即可学习

回复 爬虫            爬虫三大案例实战  
回复 
Python       1小时破冰入门

回复 数据挖掘     R语言入门及数据挖掘
回复 
人工智能     三个月入门人工智能
回复 数据分析师  数据分析师成长之路 
回复 机器学习      机器学习的商业应用
回复 数据科学      数据科学实战
回复 常用算法      常用数据挖掘算法

登录查看更多
4

相关内容

【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
192+阅读 · 2020年6月29日
【实用书】Python机器学习Scikit-Learn应用指南,247页pdf
专知会员服务
264+阅读 · 2020年6月10日
【干货书】用于概率、统计和机器学习的Python,288页pdf
专知会员服务
287+阅读 · 2020年6月3日
商业数据分析,39页ppt
专知会员服务
160+阅读 · 2020年6月2日
【实用书】Python数据科学从零开始,330页pdf
专知会员服务
141+阅读 · 2020年5月19日
【干货书】R语言书: 编程和统计的第一课程,
专知会员服务
111+阅读 · 2020年5月9日
【经典书】Python数据数据分析第二版,541页pdf
专知会员服务
192+阅读 · 2020年3月12日
R语言机器学习:xgboost的使用及其模型解释
R语言中文社区
11+阅读 · 2019年5月6日
sklearn 与分类算法
人工智能头条
7+阅读 · 2019年3月12日
基于R语言进行Box-Cox变换
R语言中文社区
45+阅读 · 2018年11月19日
R语言时间序列分析
R语言中文社区
12+阅读 · 2018年11月19日
R语言数据挖掘利器:Rattle包
R语言中文社区
21+阅读 · 2018年11月17日
R语言之数据分析高级方法「时间序列」
R语言中文社区
17+阅读 · 2018年4月24日
lightgbm algorithm case of kaggle(上)
R语言中文社区
8+阅读 · 2018年3月20日
Xgboost算法——Kaggle案例
R语言中文社区
13+阅读 · 2018年3月13日
用 Scikit-Learn 和 Pandas 学习线性回归
Python开发者
9+阅读 · 2017年9月26日
RNN | RNN实践指南(3)
KingsGarden
7+阅读 · 2017年6月5日
Meta-Learning to Cluster
Arxiv
17+阅读 · 2019年10月30日
Learning Implicit Fields for Generative Shape Modeling
Arxiv
10+阅读 · 2018年12月6日
Arxiv
6+阅读 · 2018年10月3日
Arxiv
6+阅读 · 2018年7月12日
VIP会员
相关VIP内容
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
192+阅读 · 2020年6月29日
【实用书】Python机器学习Scikit-Learn应用指南,247页pdf
专知会员服务
264+阅读 · 2020年6月10日
【干货书】用于概率、统计和机器学习的Python,288页pdf
专知会员服务
287+阅读 · 2020年6月3日
商业数据分析,39页ppt
专知会员服务
160+阅读 · 2020年6月2日
【实用书】Python数据科学从零开始,330页pdf
专知会员服务
141+阅读 · 2020年5月19日
【干货书】R语言书: 编程和统计的第一课程,
专知会员服务
111+阅读 · 2020年5月9日
【经典书】Python数据数据分析第二版,541页pdf
专知会员服务
192+阅读 · 2020年3月12日
相关资讯
R语言机器学习:xgboost的使用及其模型解释
R语言中文社区
11+阅读 · 2019年5月6日
sklearn 与分类算法
人工智能头条
7+阅读 · 2019年3月12日
基于R语言进行Box-Cox变换
R语言中文社区
45+阅读 · 2018年11月19日
R语言时间序列分析
R语言中文社区
12+阅读 · 2018年11月19日
R语言数据挖掘利器:Rattle包
R语言中文社区
21+阅读 · 2018年11月17日
R语言之数据分析高级方法「时间序列」
R语言中文社区
17+阅读 · 2018年4月24日
lightgbm algorithm case of kaggle(上)
R语言中文社区
8+阅读 · 2018年3月20日
Xgboost算法——Kaggle案例
R语言中文社区
13+阅读 · 2018年3月13日
用 Scikit-Learn 和 Pandas 学习线性回归
Python开发者
9+阅读 · 2017年9月26日
RNN | RNN实践指南(3)
KingsGarden
7+阅读 · 2017年6月5日
Top
微信扫码咨询专知VIP会员