2017-06-04 2 views
0

Ich habe mehrere abhängige Variablen (nennen wir sie dep1, DEP2 und DEP3) und ich möchte mehrere unabhängige Variablen regredieren auf sie. Ich habe die unabhängigen Variablen a, b und c, die ich immer in die Regression einbeziehen möchte. Die unabhängigen Variablen d1, d2, d3 sollten jedoch nur verwendet werden, wenn die Anzahl mit der Nummer der abhängigen Variablen übereinstimmt. Dies ist:Regression Schleife: mehrere dep Variablen & mehrere indep Variablen, eine dieser indep Variablen nimmt unterschiedliche Werte entsprechend der dep Variable

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

genauer zu sein, sowohl meine abhängigen und unabhängigen Variablen eine monatliche Zeitreihen (XTS-Objekt). Ich habe die abhängigen Variablen zusammengeführt, um die Matrix "dep" zu erhalten. a, b, c, d1, d2 und d3 sind in der Matrix "indep" gespeichert.

Ist es möglich, eine Schleife zu erstellen, die das automatisch macht?

+0

Bitte geben Sie ein kleines reproduzierbares Beispiel. Haben Sie einen 'dat.frame' oder sind das alle Vektorobjekte – akrun

+1

Bitte überprüfen Sie [ask] und [mcve]. –

+0

Sie könnten 'd1-d3' in eine Liste einfügen, 'lm (..., d [[i]])' für 'i in 1: 3' durchlaufen und die Ergebnisse in einer anderen Liste namens' dep' speichern . –

Antwort

0

Wir paste verwenden

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

Danke! Aber in diesem Beispiel, wo habe ich die unabhängigen Variablen angegeben und was ist x? Es tut mir leid, ich bin ganz neu zu R ... – Lila

+0

Ich habe versucht, es zu implementieren, aber ich erhalte die Folling Fehlermeldung: „Variable dep1 nicht gefunden“ ... – Lila

+0

@Lila Bitte geben Sie eine reproduzierbare Beispiel. Es basiert auf Ihrer Beschreibung – akrun