R代码一元线性回归

举报
the-order 发表于 2022/04/01 10:20:32 2022/04/01
【摘要】 R一元线性回归

@TOC

1 数据预览

当我们拿到一分新数据的时候先预览下数据的情况,这里先以一份收入相关数据简单演示下

cre=read.csv("creditcard_exp.csv")
names(cre)
str(cre)
summary(cre)

2 y值的确定以及偏态数据的处理

s=hist(cre$Income,freq = F)

在这里插入图片描述
我们关注的收入指标比较正常,可以不做处理
如果明显右偏数据可以进行对数处理,左偏数据可以进行开方处理

3 数据整理

观察下数据
View(cre)
在这里插入图片描述
可以看到我们想要的y,并不在第一列,并且数据还有很多缺失值
我们可以删除此数据缺失数据(这里基础教程只是最简单的处理方式),对于缺失值的处理我们后面在讲解

cre=na.omit(cre)
which(colnames(cre)=="Income")

cre=data.frame(cre$Income,cre[,-7])
View(cre)

在这里插入图片描述
再次view数据
发现数据干净多了

4 绘图参数

pch=17,
col="red",
col.axis="green",
col.main="brown",
col.sub="blue",
fg="blue",
cex=1.5,
cex.axis=0.8,
cex.lab=1.2,
cex.main=1.5,
lwd=5
)

绘图参数只要便于数据和模型理解可以凭喜好设置

5 相关分析

correlationanalysis=cor(cre)#相关系数矩阵 correlation coefficient matrix
correlationanalysis=round(correlationanalysis,2)

View(correlationanalysis)

在这里插入图片描述
可以观察到
dist_avg_income与我们的income相关很高,如果只选一个变量的话就选它
对于Acc变量的NA值我们可以观察下

table(cre$Acc)

console
 1 
70

只有一个类型的数据所以相关分析有NA出现

我们还可以图形可视化相关系数

a=which(colnames(cre)=="Acc")
cre=cre[,-a]
corrgram(iris,order=T,lower.panel=panel.shade,upper.panel=panel.pie,text.panel=panel.txt,main="plot")
corrgram(iris, lower.panel=panel.pts, upper.panel=panel.conf,
         diag.panel=panel.density)
corrgram(vote, order=TRUE, upper.panel=panel.cor)

在这里插入图片描述

6 构建模型

a=lm(cre$Income~cre$dist_avg_income)
summary(a)

在这里插入图片描述

plot(a) #对模型结果画图

在这里插入图片描述
观察拟合值和残差,发现在y大时,齐方差性没那么好,结合summary的结果R方0.98

模型结果还可以

此次采用的是特殊数据,,在下篇文章详细进行数据处理,敬请关注

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。