我根据遗传信息预测身高。数据是来自每个生物体的数十万个数据点,但简化的版本可以是:
dput(df)
structure(list(ID = c("A", "B", "C", "D", "E"),
height = c(2, 4, 6, 10, 12),
gene1 = c(0.2, -0.3, -0.6, 0, -0.8),
gene2 = c(0.4, -0.2, -0.4, 0.2, -0.6)),
gene3 = c(-0.1, 0.1, 0.3, 0.5, 0.7)
row.names = c(NA, -5L), class = "data.frame")
我开始对基因1进行逆回归,因为我从中获得的残差值给出的结果与使用身高作为响应的结果不同。所以回归是:
model1 <- lm(gene1 ~ height, data=df)
然后我从中获取残差值,并从数据帧中删除gene1后逐步进行(LARS程序包):
resid <- model1$residuals
resid <- as.data.frame(resid)
Stagewise <- lars(df, resid$resid, type="forward.stagewise", max.steps=2, use.Gram=FALSE)
这样做之后,我对模型拟合很感兴趣,因此我可以得到一个高度值(并运行测试集)。由于我将残差值用于分阶段过程,因此我不确定如何获得此值。
我们非常感谢您的帮助!