[英]How to extract residuals from the regressed data?
這可能是一個非常簡單的問題,但我確實需要R的幫助。
我有一個表達式數據,為此我進行了線性回歸來校正協變量,我想在文件中提取殘差。
所以下面是我的循環
for (i in 1:n) {
geneProbe <- z.na[,i]
lm1 <- lm(geneProbe ~ phenotype + covariate1 + covariate2 + covariate3)
write.table(lm1$residuals, file="residuals.txt", sep="\t")
}
當然,當我執行以下操作時
write.table(lm1$residuals, file="residuals.txt", sep="\t")
我僅能按以下方式(循環數( residuals.txt
))檢索residuals.txt
:
Res1
-0.00224226
0.005144119
0.011142788
1.90E-05
-0.003698019
我希望將它們用於所有i
或循環,如下所示(單個residuals.txt
文件)。 換句話說,每個循環都應添加一列:
Res1 Res2 Res3 Res4
-0.00224226 0.009583449 0.000538104 0.012497267
0.005144119 0.015632242 -0.000104554 -0.009199898
0.011142788 -0.012912383 -0.004363051 -0.010270967
1.90E-05 -0.038716093 0.004149837 0.011071139
-0.003698019 0.015219847 -0.002486236 -0.009230721
將殘差保存在循環內的矩陣或數據框中,然后在完成后保存表。 例如:
resdat = matrix(NA, 5,n)
for (i in 1:n) {
geneProbe <- z.na[,i]
lm1 <- lm(geneProbe ~ phenotype + covariate1 + covariate2 + covariate3)
resdat[,i] = lm1$residuals
}
write.table(resdat, file="residuals.txt", sep="\t")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.