年齢と性別が遺伝子発現にどのように影響するかを特定するために、R にループを書き、データセット遺伝子 (= 210011 遺伝子と合計 6 サンプル; 列は遺伝子、行はサンプル) に対して線形回帰を実行したいと考えています。線形回帰からの適合値出力を新しいデータフレームに保存したい(基本的に、列に遺伝子があり、行にサンプルがある同様のデータフレームを生成する)。
だから私が書いたループは次のとおりです。
genelist <- df %>% select(5:21011) #select only genes
for (i in 1:length(genelist)) {
formula <- as.formula(paste0(genelist[i], ' ~ age + sex'))
model <- lm(formula, data = df)
print(model$fitted.values)
}
しかし、新しいデータフレームを保存できません。私はこれに従おうとしましたRで線形回帰をループ/繰り返す方法
test <- list(); model <- list()
for (i in 1:length(genelist)) {
formula[[i]] = paste0(genelist[i], ' ~ age + sex')
model[[i]] = lm(formula[[i]], data = df)
}
しかし、結果として「0のリスト」が表示されるので、何か間違ったことを書いたに違いありません。結果を含む新しいデータフレームを生成する元のコードを変更するにはどうすればよいですか?
助けてくれてありがとう!