R语言-循环(loop)线性模型

Posted 杂学小家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言-循环(loop)线性模型相关的知识,希望对你有一定的参考价值。

R语言-循环(loop)线性模型

    在生物信息或者神经科学领域的数据分析中, 因为需要比较案例(case)组与对照(control)组的多项变量(指标, 测量等), 因此编程时需要写循环去进行执行多次比较.

    正如在MATLAB中使用矩阵运算才是最优选择, 在R语言中许多重复计算应该善于利用apply/sapply/lapply等函数才是最高效的选择.

    下面利用一个实例进行分析. 数据为mydata, 数据格式有313个变量, 包括组别Groups, 年龄Age和性别Sex以及308个靶点变量. 现在的目的是比较组间的308个靶点变量, 同时控制年龄和性别. 以下分别使用循环和apply函数进行.

##使用循环构建5-313列变量的多元线性模型t <- proc.time() for (i in 5:313) { lms[[i-4]] = lm(mydata[,i] ~ Groups + Age + Sex, data = mydata) }proc.time() - t# 用户 系统 流逝# 0.90 0.02 1.5
##使用lapply函数构建5-313列变量的多元线性模型t <- proc.time() lms <- lapply(5:313, function(x) lm(mydata[,x] ~ Groups + Age + Sex,                                     data = mydata))proc.time() - t# 用户 系统 流逝# 0.76 0.00 1.01

    尽管从结果来看, 运行速度都是在1秒多, 但是对于更加大型的数据, 比如上千上万维的大样本数据, 这种方法的优越性会更加明显, 除此自外, 使用apply的代码更加简洁和易读.

以上是关于R语言-循环(loop)线性模型的主要内容,如果未能解决你的问题,请参考以下文章

R语言一般线性模型(涉及因变量是虚拟变量(哑变量))

R语言一般线性模型(涉及因变量是虚拟变量(哑变量))

多元线性回归模型用r语言怎么来实现

视频什么是非线性模型与R语言多项式回归局部平滑样条 广义相加GAM分析工资数据|数据分享|附代码数据

For loop in MATLAB,R,C programming language.

For loop in MATLAB,R,C programming language.