簡體   English   中英

在 R 中運行幾個回歸並改變結果變量

[英]Running several regressions with changing outcome variable in R

我有一個 dataframe (df),如下所示:

condition  dv1  dv2  dv3
1          2    4    3
2          5    7    4
3          7    1    2

為了同時運行多個回歸,我使用了這樣的代碼:

dfdv <- df[,2:4]  
output <- lm(as.matrix(dfdv) ~ condition, data = df)
summary(output)

這為我提供了 dv1、dv2 和 dv3 的所有 dv ~ 條件回歸。 這些是 output 中給出的回歸:

dv1 ~ condition
dv2 ~ condition
dv3 ~ condition

但是,我現在想控制回歸中的不同條件。 具體來說,我想找出一種有效運行以下回歸的方法。

dv1 ~ condition + dv1
dv1 ~ condition + dv2
dv1 ~ condition + dv3

我使用與上述類似的原理嘗試了以下操作,但沒有成功。

dfdv <- df[,2:4]  
output2 <- lm(dv1 ~ condition + as.matrix(dfdv), data = df)
summary(output2)

它給了我一個單一的回歸,使用了一個回歸中的所有 dv,而不是我想要的回歸。 這就是它給我的:

dv1 ~ condition + dv1 + dv2 + dv3

有誰知道我如何使用簡單的代碼執行這些回歸分析? 我的實際數據集中比我在這個例子中包含的更多。

我們可以為此使用lapply 遍歷列名“dv”,通過指定響應和因變量使用reformulate公式創建公式,然后應用lm

v1 <- grep('^dv\\d+$", names(df), value = TRUE)
lapply(v1, function(dv) lm(reformulate(c(dv, "condition"),
           dv), data = df))

或使用paste創建公式

lapply(v1, function(dv) lm(paste0(dv, " ~ ", "condition + ", dv), data = df))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM