2017-06-04 39 views
0

我有幾個因變量(我們稱之爲dep1,dep2和dep3),我想回歸幾個獨立變量在他們。我有獨立變量a,b和c,我總是希望將其包含在迴歸中。但是,自變量d1,d2,d3應該只在數字與因變量的數目匹配時使用。這是:迴歸循環:幾個dep變量和幾個indep變量,其中一個indep變量根據dep變量取不同的值

lm(dep1 ~ a + b + c + d1) 
lm(dep2 ~ a + b + c + d2) 
lm(dep3 ~ a + b + c + d3) 

更準確地說,我的依賴變量和自變量都是月度時間序列(xts對象)。我合併了因變量以得到矩陣「dep」。 a,b,c,d1,d2和d3存儲在矩陣「indep」中。

是否有可能創建一個自動執行此操作的循環?

+0

請提供一個小的可重複的例子。你有'data.frame'還是這些全是矢量對象 – akrun

+1

請複習[ask]和[mcve]。 –

+0

你可以把'd1-d3'放在一個列表中,通過'lm(...,d [[i]])'遍歷1:3中的'i,並將結果保存在另一個名爲'dep'的列表中。 –

回答

0

我們可以使用paste

v1 <- paste0("dep", 1:3) 
v2 <- paste0("d", 1:3) 
v3 <- paste(v1, paste(paste(letters[1:3], collapse=" + "), v2, sep=" + "), sep="~") 
lapply(v3, function(x) lm(x)) 
+0

謝謝!但在這個例子中,我在哪裏指定了自變量,什麼是x?我很抱歉,我是相當新的R ... – Lila

+0

我試圖實現它,但我得到folling錯誤消息:「變量dep1找不到」... – Lila

+0

@萊拉請提供一個可重複的例子。它基於你的描述 – akrun