2017-04-08 5 views
0

-Code zu holen:Anova in R die signifikanten Codes

pred_model = anova(m1, m2, test="Chisq") 
pred_model 

Ergebnisse:

Analysis of Variance Table 

Model 1: male_birth ~ male_death + female_birth + female_death 
Model 2: male_birth ~ male_death + female_birth 
Res.Df RSS Df Sum of Sq Pr(>Chi) 
1  48 3.4883      
2  49 3.4951 -1 -0.0068189 0.7594 

Ich bin neu in R, kann jemand empfehlen, wie die signifikanten Codes für das Modell zu holen

+1

Was meinen Sie Was tun Sie holen wollen – user20650

+0

? @ user20650 '## Bedeutungscodes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 '' 1. 'Der p-Wert –

+1

Wenn Sie sich 'str (pred_model)' anschauen, können Sie die Namen von Dingen sehen, die aus 'pred_mode' extrahiert werden können, so dass Sie für den p-Wert' 'pred_model verwenden können $ 'Pr (> Chi)' '. Die Sterne werden nicht neu gestimmt, sondern ausgedruckt. Sie könnten die Ausgabe von anova aufnehmen oder mit den Druckmethoden, die diese erzeugen, umgehen, schreiben Sie Ihre eigene kleine Funktion, um den P-Wert in Zeichen-Sterne umzuwandeln. oder am besten die Sterne weglassen – user20650

Antwort

2

Die Funktion summary gibt oft eine Matrix mit einer Spalte von p-Werten zurück. In diesem Fall wird jedoch das Ergebnis anova als ein Datenrahmen zurückgegeben, der als "anova" -Objekt weiter "klasse" (so dass es seine eigene print -Methode haben kann). Führen Sie das erste Beispiel in ?lm und dann:

> lm.D9 <- lm(weight ~ group) 
> lm.0 <- lm(weight ~ 1) 

> anova(lm.D9,lm.0) 
Analysis of Variance Table 

Model 1: weight ~ group 
Model 2: weight ~ 1 
    Res.Df RSS Df Sum of Sq  F Pr(>F) 
1  18 8.7292       
2  19 9.4175 -1 -0.68821 1.4191 0.249 

> str(anova(lm.D9,lm.0)) 
Classes ‘anova’ and 'data.frame': 2 obs. of 6 variables: 
$ Res.Df : num 18 19 
$ RSS  : num 8.73 9.42 
$ Df  : num NA -1 
$ Sum of Sq: num NA -0.688 
$ F  : num NA 1.42 
$ Pr(>F) : num NA 0.249 
- attr(*, "heading")= chr "Analysis of Variance Table\n" "Model 1: weight ~ group\nModel 2: weight ~ 1" 

So können Sie den zweiten Wert in der Spalte mit dem Namen wollen mit dem Namen“'Pr(>F)'

anova(lm.D9,lm.0)$'Pr(>F)'[2] 
[1] 0.2490232 
Verwandte Themen