pull-out p-Werte und r-squared von einer linearen regression
Wie Sie ziehen Sie den p-Wert für die Signifikanz des Koeffizienten der einzelnen erklärenden Variablen als nicht-null) und R-Quadrat-Wert von einem einfachen linearen Regressionsmodell? Zum Beispiel...
x = cumsum(c(0, runif(100, -1, +1)))
y = cumsum(c(0, runif(100, -1, +1)))
fit = lm(y ~ x)
summary(fit)
Ich weiß, dass summary(fit)
zeigt der p-Wert und R-Quadrat-Wert, aber ich möchte in der Lage sein, kleben Sie diese in andere Variablen.
InformationsquelleAutor der Frage grautur | 2011-04-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
r-squared: zurück können Sie den r-Quadrat-Wert direkt aus dem summary-Objekt
summary(fit)$r.squared
. Sehennames(summary(fit))
für eine Liste aller Artikel, die Sie extrahieren können direkt.Modell p-Wert: Wenn Sie möchten, erhalten den p-Wert des Gesamt-Regressionsmodells,
in diesem blog-post beschreibt eine Funktion zur Rückgabe der p-Wert:
Im Fall einer einfachen regression mit einem Prädiktor, das Modell p-Wert und p-Wert für den Koeffizienten wird die gleiche sein.
Koeffizient p-Werte: Wenn Sie mehr als eine Vorhersage, dann die oben genannten zurück das Modell p-Wert und p-Wert für den Koeffizienten extrahiert werden können, mit:
Alternativ kannst du dir den p-Wert des Koeffizienten von der
anova(fit)
Objekt in einer ähnlichen Weise zu der Zusammenfassung Objekt oben.InformationsquelleAutor der Antwort Chase
Beachten Sie, dass
summary(fit)
erzeugt ein Objekt mit allen Informationen, die Sie benötigen. Die beta, se, t und p Vektoren sind in ihm gespeichert. Holen Sie sich die p-Werte durch die Auswahl der 4. Spalte der Koeffizienten-matrix (gespeichert in der Zusammenfassung-Objekt):Versuchen
str(summary(fit))
zu sehen alle Infos, die dieses Objekt enthält.Edit: hatte ich falsch verstanden, Chases Antwort, die im Grunde sagt Ihnen, wie man zu dem, was ich hier geben.
InformationsquelleAutor der Antwort Vincent
Sehen Sie die Struktur des Objekts zurückgegeben, die von
summary()
durch den Aufrufstr(summary(fit))
. Jedes Stück kann zugegriffen werden mit$
. Der p-Wert der F-Statistik ist mehr leicht hatte aus dem Objekt zurückgegebenanova
.Prägnant, können Sie dies tun:
InformationsquelleAutor der Antwort jberg
Während die beiden Antworten oben sind gut, die Prozedur zum extrahieren von teilen von Objekten ist mehr allgemein.
In vielen Fällen Funktionen geben Listen und die einzelnen Komponenten zugegriffen werden kann, mit
str()
wird drucken Sie die Komponenten zusammen mit Ihren Namen. Sie können dann auf diese mit dem $ - operator, d.h.myobject$componentname
.Im Falle der lm-Objekte gibt es eine Reihe von vordefinierten Methoden, die man nutzen kann, wie
coef()
resid()
summary()
etc, aber du wirst nicht immer so viel Glück.InformationsquelleAutor der Antwort richiemorrisroe
Erweiterung von @Vincent 's Antwort:
Für
lm()
generierte Modelle:Für
gls()
generierte Modelle:Zum isolieren eines einzelnen p-Wert selbst, würden Sie fügen Sie eine Zeile im code:
Z.B. für den Zugang der p-Wert des intercept in beiden Modell-Zusammenfassungen:
Beachten, können Sie ersetzen Sie Nummer der Spalte mit dem Spaltenname in jedem der oben genannten Fälle:
Wenn Sie noch unsicher sind, wie Sie Zugriff auf einen Wert der form der übersichtstabelle verwenden
str()
um herauszufinden, die Struktur der übersichtstabelle:InformationsquelleAutor der Antwort theforestecologist
Ich cam über diese Frage, während die Erkundung vorgeschlagenen Lösungen für ein ähnliches problem; ich vermute, dass es für zukünftige Referenz, kann es sinnvoll sein, zur Aktualisierung der Liste der verfügbaren Antwort mit einer Lösung, die Nutzung der
Besen
Paket.Beispielcode
Ergebnisse
Seite Notizen
Ich finde die
glance
Funktion nützlich, da es ordentlich fasst die nützliche Werte. Als zusätzlichen Vorteil, die Ergebnisse werden gespeichert alsdata.frame
was die weitere manipulation einfach:InformationsquelleAutor der Antwort Konrad
Dies ist der einfachste Weg, um ziehen Sie die p-Werte:
InformationsquelleAutor der Antwort RTrain3k
Habe ich dieses amp-Funktion ziemlich oft.
Und an einer Stelle habe ich beschlossen, das hinzufügen neuer features zur Verbesserung der Analyse der Daten. Ich bin nicht Experte in R oder Statistik, aber die Leute sind in der Regel eine Betrachtung der verschiedenen Informationen, die von einer linearen regression :
Lassen Sie uns ein Beispiel. Sie haben hier
Hier eine reproduzierbare Beispiel mit verschiedenen Variablen:
Gibt es sicherlich eine schnellere Lösung als diese Funktion, aber es funktioniert.
InformationsquelleAutor der Antwort Dorian Grv
InformationsquelleAutor der Antwort Jojo
Verwenden:
wo
num
ist eine Zahl bezeichnet die Zeile der Koeffizienten-matrix. Es hängt davon ab, wie viele Funktionen, die Sie haben in Ihrem Modell, die Sie wollen, ziehen Sie den p-Wert. Zum Beispiel, wenn Sie nur eine variable gibt es ein p-Wert für den intercept, die [1,4] - und die nächste für Ihre eigentliche variable, die werden [2,4]. So Ihrnum
2.InformationsquelleAutor der Antwort Tirtha
Andere Möglichkeit ist die Verwendung des KOR.test-Funktion, statt lm:
InformationsquelleAutor der Antwort dalloliogm