2016-04-08 4 views
-1

Ich arbeite in einem analytischen Labor, in dem viele Daten generiert werden. Wir modellieren Anpassungen und interessieren uns für Modellkoeffizienten (Achsenabschnitt, a, b), r_squared und Reststandardfehler. Die Anzahl von bis zu 70 abhängigen Variablen (Antworten) ist ziemlich groß. Ich möchte aus mylms eine Tabelle erzeugen, in der die Zeilen die Antworten a bis f und die Spalten die erwähnten Modellparameter sind.Erstellen einer benutzerdefinierten Ergebnistabelle aus vielen linearen Modellen

Ich war nicht in der Lage, die Lösungen anzupassen ich im Netz zu meinem Fall gefunden:

Ein Teil der Lösung Zusammenfassung ist sicherlich (mylms) wo Die Parameter sind gespeichert. Hier

ist das vereinfachte Beispiel möchte ich eine Lösung finden zu:

#To generate a dataset 
x <- c(1:30) 
x2 <- x*x 
a <- x2 
b <- jitter(a, factor=10) 
c <- jitter(b, factor=30) 
d <- jitter(c, factor=40) 
e <- jitter(d, factor=50) 
f <- jitter(e, factor=60) 
z <- cbind(a,b,c,d,e,f) 

# The matrix y are the responses of x 
y <- as.matrix(z) 

# Define the weights for the regression 
w <- 1/x 

# create linear models 
mylms <- lm(y~x+x2, weights=w) 
+0

so haben Sie bis zu 70 Spalten, wo die Felder die Koeffizienten sind? Und wie viele Reihen hast du? Immer 6 (A-F)? – Simon

+1

Schauen Sie sich das Besenpaket an: https://cran.r-project.org/web/packages/broom/index.html –

+0

Tatsächlich wird sich in meiner Antwortmatrix y die Anzahl der Spalten ändern. Es könnte 30 sein, aber es könnte auch 70 oder 15 sein. Die Anzahl der Spalten in Matrix y entspricht der Anzahl der Zeilen in meiner Ergebnistabelle. Aber die Ergebnistabelle wird immer 5 Zeilen haben: Achsenabschnitt, a, b, r_squared und restlicher Standardfehler. – ThomasG

Antwort

0

Sie dies tun können:

mylms$residuals 

oder den Bereich der Residuen zum Beispiel zu bekommen:

apply(mylms$residuals,2,range) 

oder um die Quantile zum Beispiel zu erhalten:

apply(mylms$residuals,2,quantile,seq(0.1,0.9,by=0.1)) 
+0

Eigentlich suche ich nach dem Rest-Standardfehler, nicht jeder Rest selbst! – ThomasG

+0

fand ich die Lösung Rest.stabw <- NULL R2 <- NULL for (i in 1: l/2) { Rest.stabw [i] <- Zusammenfassung (mylms) [[i]] $ sigma R2 [i] <- Zusammenfassung (a.lm) [[i]] $ r.squared } – ThomasG

Verwandte Themen