待解决问题:
做代谢组学分析,一共有147种代谢物,需要每个单独和其他选定的协变量一起放入线性回归模型中,依次替换147种代谢物,完成147次回归分析。
实现步骤:
R语言
1、 数据预处理:excel和spss
2、 for循环
3、 lm() 线性回归
4、 导出结果分析
具体操作:
1. 数据预处理:excel和spss
excel:数据转置,改为横向数据;生成log转化代谢物含量;给代谢物按顺序命名为com1 TO com147
spss:可视化检查数据,为多分类变量生成哑变量dummy。
2. for循环
一开始的思路不对,总想着要在lm函数里面使用i,依次替换代谢物的变量名。后来发现了,应该无法实现,因为生成的com[i]是一个向量或是列表,反正就是无法放入回归函数中使用。
最后明白了,应该是直接依次“提取”第i个代谢物。
for (q in c(222:368)){
#我的代谢物放在第222至368列
result <- lm(tdata$Y~ tdata[,q]+tdata$age)
}
#注意:不能使用data=tdata这样,而一定要用$提取变量,否则tdata[,q]会报错
3. lm() 线性回归
timo