2017-06-04 105 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