Ich versuche, eine ähnliche Regression für 25 verschiedene Portfolios durchzuführen und dann das R^2 aller 25 Regressionen zu finden. Natürlich kann ich sie durch AusführenLooping-Regression und Erhalten von Summenstatistiken in Matrixform
P1<-lm(formula = df[1:24,1] - RiskFree ~ Mkt.RF + SMB + HML, data = df)
summary(P1)$r.squared
25 mal einzeln tun, um alle r.square zu bekommen, die wirklich zeitaufwendig ist (kann sich nicht vorstellen, wenn es 100 oder größer ist). Ich dachte daran, eine Schleife zu machen und hier blieb ich stecken. Das ist, was ich tat
sequence<-seq(1,25)
P<-cbind(sequence)
for(i in 2:26){
P[i-1]<-lm(formula = df[1:24,i] - RiskFree ~ Mkt.RF + SMB + HML, data = df)
return(summary(P[i-1])$r.squared)
die Fehler in Zusammenfassung
Fehler zurückgibt (P [i - 1]) $ r.squared: $ Operator für die Atom Vektoren Zusätzlich ungültig ist: Warnung Nachricht: In P [i - 1] < - lm (Formel = df [1:24, ich] - RiskFree ~ Mkt.RF + SMB +: Anzahl der Elemente zu ersetzen ist kein Vielfaches der Ersatzlänge
Wie bekomme ich meine R^2 und lege sie dann in eine Matrixform?
(edit) ist dies die Beispieldaten, die ich arbeite auf
df <- "Year SMALL.LoBM ME1.BM2 ME1.BM3 ME1.BM4 Mkt.RF SMB HML RiskFree
1991 -4.61 22.74 16.42 27.89 37.88 2.59 13.60 23.22
1992 8.20 20.59 22.90 25.94 40.05 6.66 15.14 16.04
1993 1.20 12.41 19.27 21.39 37.59 5.46 17.19 23.40
1994 -22.67 -0.56 -3.86 1.34 1.93 -3.38-2.28 0.25
Data <- read.table(text=df, header = TRUE)
Können Sie bitte ein reproduzierbares Beispiel für die Daten angeben, mit denen Sie arbeiten? – Sotos