Ich habe Stata und eViews für einige Zeit verwendet, und habe sehr begrenzte Kenntnisse oder R und deshalb brauche ich etwas Hilfe. Ich schätze das französische Fama-Modell für Aktien von 2010 bis 2016, daher muss ich für jede Aktie eine Regression durchführen. Jede Regression wird als abhängige Variable eine Überschussrendite (Ereturn) und dann MKTRF, HML und SMB als unabhängige Variablen aufweisen. Der Lagercode wird in einer Variablen namens permno gespeichert. Die meisten der Fragen, die ich hier gestellt habe, betrafen die Wiederholung einer Regression mit verschiedenen Variablen, aber in meinem Fall ändern sich die Variablen nicht, aber die Beobachtungen tun es. Ich muss die Koeffizienten und den R2-Wert für jede Regression speichern. Ich hoffe, dass jemand helfen kann.Looping Regressionen in R mit verschiedenen Beobachtungen
Antwort
Ausgehend von Ihren Variablen, nehme ich an, dass Sie eine Regression für Beobachtungen durchführen wollen, die nach "permno" gruppiert sind? Hier ist was du tun könntest.
# Create list of subsets
dfList = split(df, permno)
Die split()
Funktion teilt Ihre „df“ von der Gruppe „permno“ dass permno unter der Annahme, ein Faktor ist. Verwenden Sie jetzt lapply, um dasselbe Modell für jede Teilmenge auszuführen.
regSummaryList = lapply(dfList, function(x) {
lm(eReturn ~ MLTRF + HML + SMB, data = x)
})
Dies gibt eine Liste der Regressionsobjekte für jede Regression zurück. Sie können dann die Koeffizienten und R Quadrat mit der folgenden extrahieren:
coefList = lapply(regSummaryList, coef)
R2 = sapply(regSummaryList, function(x) summary(x)$r.squared)
coefList
eine Liste von Koeffizienten wäre, während R2
ein Vektor von R2 des wäre.
Vielen Dank. –
- 1. looping logistische Regressionen durch mehrere abhängige und unabhängige Variablen in R
- 2. Loop mehrere 'multiple lineare Regressionen' in R
- 3. r: Summenwerte früherer Beobachtungen
- 4. Mehrere Regressionen in R für verschiedene IDs mit Panel-Daten ausführen
- 5. Anzahl Beobachtungen von Day in R
- 6. Looping durch Datenrahmen in R
- 7. Beschleunigung Zählung von paarweise Beobachtungen in R
- 8. r: dynamische Datenrahmen Looping
- 9. Looping Funktion Spaltennamen R
- 10. addChild mit Looping und verschiedenen Höheneigenschaften
- 11. h2o.glm nicht für lineare Regressionen GLM in R entsprechen
- 12. Verknüpfen von Datenrahmen unterschiedlicher Länge mit verschiedenen Spalten in R
- 13. Get Anzahl der Gruppenebene Beobachtungen mit mehreren einzelnen Beobachtungen von Datenrahmen in R
- 14. Erhalten von Residuen aus Regressionen mit unterschiedlich großen Spalten
- 15. Entfernen von doppelten Beobachtungen in r mit Einschränkung
- 16. Filtering Beobachtungen von grep den umgekehrten Weg in R mit
- 17. Subsetting Datensätze mit ungleicher Anzahl von Beobachtungen in R
- 18. Suche Anteil für gruppierte Beobachtungen mit dplyr in R
- 19. R: Berechnung mit verschiedenen Matrices
- 20. Looping eine Regression in VBA
- 21. Looping-Datum in R verliert Format
- 22. Looping durch Liste von Datenrahmen in R
- 23. Looping über zwei Kriterien in R
- 24. R-Legenden mit verschiedenen Titeln
- 25. R Looping durch unabhängige Variablen im Panel-Modell
- 26. ein geschichtete data.frame Null ergeben Zeilen/Beobachtungen in R
- 27. Wie wählt man alle 5 anderen Beobachtungen in R aus?
- 28. Untereinstellung einen Faktor auf die Menge an Beobachtungen in R
- 29. Looping Daten mit Tiefenkriterien in r der Teilmenge
- 30. Grundstück in R mit verschiedenen pch der
Ich bin mir nicht sicher, ob ich das Problem verstehe, das Sie haben. Was ist deine Frage? – WillardSolutions
Ich werde versuchen zu klären. Ich weiß, wie man eine Regression für die gesamte Stichprobe hat, aber ich brauche separate Regressionen, eine für jede Aktie. Die Regressionsgleichung ist die gleiche: eReturn = c + b1 * MKTRF + b2 * HML + b3 * SMB. Wie kann ich eine Schleife erstellen und die Regression innerhalb der Schleife ausführen und die Ergebnisse speichern? Danke –