R语言实战——线性回归分析和相关矩阵可视化

               



多元回归分析

多元回归分析预测法,是指通过对两个或两个以上的自变量与一个因变量的相关分析,建立预测模型进行预测的方法。当自变量与因变量之间存在线性关系时,称为多元线性回归分析。



多元线性回归的适用条件:

(1)自变量对应变量的变化具有显著影响。

(2)自变量与应变量间的线性相关必须是真实的,而非形式上的。

(3)自变量之间需有一定的互斥性。

(4)应具有完整的统计数据。

下面,我们就选取一个例子,用R实现多元线性回归模型。

训练数据:txt格式(行为样本,列为食物)。此例子中,我们选取10类食物作为特征,即自变量为10类食物。因变量为产生的蛋白质含量(Protein)。

图片



1 检查两两因变量之间的关系


x=read.table("test.txt",header=T,sep="\t",row.names=1)

x=as.matrix(x)

z=x[,1:10]

cor <- cor(z,use="pairwise", method="pearson")

cor

corrplot(cor)

图片

相关性图的展示使用的是corrplot包。具体步骤参见R语言绘图-相关矩阵的可视化。

从图中可以看出,各个自变量之间的线性程度不高,可以直接作为回归参数输入。因为如果自变量之间的线性关系超过自变量与因变量之间的线性关系,则回归模型稳定性受到破坏。


1 多元回归模型建立


接下来,我们用10个特征作为自变量,蛋白质含量作为因变量。建立多元线性回归模型。

y=x[,11]

lm.result <-lm(y~z)

summary(lm.result)

图片

***表示极为显著,**表示高度显著,*表示显著。以上是模型检验的结果。因为我们的例子数据不全,所以大家可以用自己数据试一试,看看结果好不好。


1 残差分析


par(mfrow=c(2,2))

plot(lm.results)

图片

以上就是使用R实现多元线性回归的过程。



相关矩阵

在生物信息学分析中,经常会计算相关性矩阵。因此,相关矩阵的可视化很重要。许多文献中生动的相关性图形十分吸引眼球。

下面,我们介绍一种R语言中可视化相关性矩阵的方法(corrplot包)。


1 安装corrplot包


install.packages("corrplot")

library(corrplot)

然后,我们使用R中的例子数据mtcars计算相关性矩阵。

data(mtcars)

mtcars

图片

1 计算相关性矩阵


cor=cor(mtcars)

图片

1 计算相关性矩阵


corrplot(cor, method="circle",type="full",order="hclust")

图片

cor 相关性矩阵

method共有7种。"circle"(default), "square","ellipse", "number", "pie", "shade" and "color"

type 共有3种。"full" (default), "upper" or "lower"

order 分为以下几种。"original" for original order(default).

"AOE" for the angular orderof the eigenvectors.

"FPC" for the first principalcomponent order.

"hclust" for the hierarchicalclustering order.

"alphabet" for alphabeticalorder.

我们使用另外的参数:

corrplot(cor,method="color",type="upper", order="hclust",addCoef.col = "black")

图片

具体颜色,形状的改变,来获得更漂亮的图片就只需调节下参数了。


优秀的个人博客,低调大师

微信关注我们

原文链接:https://blog.51cto.com/15127592/2674941

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。