2017-12-14 4 views
-4

hinzufügt Hallo, ich habe ein lineares Modell und ein Regressionsdiagramm erstellt - allerdings hätte ich gerne die Ergebnisse des Modells auf der Grundstück selbst - so etwas wie das Bild unten:Wie man lineare Modellresultate (adj-r im Quadrat, Steigung und p-Wert) auf Regressionsdiagramm in r

example plot

Wie kann ich die wichtigsten Ergebnisse auf dem Grundstück? Unten ist mein Code für das Grundstück:

library(ggplot2) 
ggplot(HP_crime15, aes (x = as.numeric(HP_crime15$Theft15), y = 
as.numeric(HP_crime15$X2015))) + geom_point(shape=1) + 
geom_smooth(method=lm) + xlab ("Recorded number of Thefts") + 
ylab("House prices (£)") + ggtitle("Title") 

Antwort

1

Idealer gute Fragen sind diejenigen, die das Problem darstellen, indem ein reproducible example bereitstellt. Jedenfalls habe ich dieses Problem in zwei Schritten angegangen;

Schritt 1: Bestimmen Sie das lineare Regressionsmodell;

fit1 <- lm(Sepal.Length ~ Petal.Width, data = iris) 

Schritt 2: Zeichnen Sie das Modell;

library (ggplot2) 
ggplot(fit1$model, aes_string(x = names(fit1$model)[2], y = names(fit1$model)[1])) + 
    geom_point() + 
    stat_smooth(method = "lm", col = "red") + 
    labs(title = paste("Adj R2 = ",signif(summary(fit1)$adj.r.squared, 5), 
        "Intercept =",signif(fit1$coef[[1]],5), 
        " Slope =",signif(fit1$coef[[2]], 5), 
        " P =",signif(summary(fit1)$coef[2,4], 5))) 

Plot

1

Hier ist eine weitere Option: Statt die Statistiken auf den Titel hinzuzufügen, können Sie ein Etikett auf dem Grundstück könnte hinzufügen:

library (ggplot2) 

fit1 <- lm(Sepal.Length ~ Petal.Width, data = iris) 
ggplot(fit1$model, aes_string(x = names(fit1$model)[2], y = names(fit1$model)[1])) + 
    geom_point() + 
    stat_smooth(method = "lm", col = "red") + 
    geom_label(aes(x = 0, y = 7.5), hjust = 0, 
      label = paste("Adj R2 = ",signif(summary(fit1)$adj.r.squared, 5), 
               "\nIntercept =",signif(fit1$coef[[1]],5), 
               " \nSlope =",signif(fit1$coef[[2]], 5), 
               " \nP =",signif(summary(fit1)$coef[2,4], 5))) 

enter image description here

Verwandte Themen