2017-11-19 2 views
0

Arbeiten mit diesem data in Rstudio. Ich muss eine einfache Regression von ed76 auf lwage76 und eine gesättigte Regression, die ed76 wird in eine Dummy-Variable für jede Ebene innerhalb der Spalte. Dann muss ich beide Regressionen in einem XY-Plot mit lwage76 als Y-Achse und ed76 als X-Achse darstellen. Das ist, was ich habe, so weit:Hinzufügen von zwei Y-Achsen zu einem xy-Plot

regression <- lm(nlsdata$lwage76~nlsdata$ed76) 

predicted <- data.frame(Edu =nlsdata$ed76, Wage = predict(regression)) 

aggplot <- aggregate(Wage ~ Edu, data=predicted, mean) 
xyplot(Wage ~ Edu, data = aggplot, grid = TRUE, type = c("p","l")) 

Das gibt mir ein sehr schönes XY-Diagramm, aber jetzt brauche ich die vorhergesagten Werte von meinem staturated Modell hinzuzufügen:

satreg <- lm(lwage76 ~ ed76*edu_1 + ed76*edu_2 + ed76*edu_3 + 
      ed76*edu_4 + ed76*edu_5 + ed76*edu_6 + ed76*edu_7 + 
      ed76*edu_8 + ed76*edu_9 + ed76*edu_10 + ed76*edu_11 + 
      ed76*edu_12 + ed76*edu_13 + ed76*edu_14 + ed76*edu_15 + 
      ed76*edu_16 + ed76*edu_17, data = nlsdata) 

satmodel <- data.frame(Edu =nlsdata$ed76, Wage = predict(satreg)) 

So wie ich hinzufügen der zweite Datensatz zu dem Graph, den ich habe?

+0

, das nicht ist "eine zweite y-Achse Hinzufügen", es eine zweite Reihe nur ist Plotten. Beide Serien teilen sich die gleiche y-Achse. – smci

Antwort

0

Lösung in ggplot:

ggplot(data=predicted, aes(Edu, Wage)) + 
    geom_line() + 
    geom_point() + 
    geom_line(data=satmodel, colour="blue") + 
    geom_point(data=satmodel, colour="blue") 

enter image description here

Alternativ können Sie jede Ihrer Tabelle und kombiniert sie zu einem einzigen data.frame beschriften.

satmodel <- satmodel %>% mutate(type="sat_model") 
predicted <- predicted %>% mutate(type="predicted") 

df <- rbind(satmodel, predicted) 


ggplot(df, aes(Edu, Wage, colour=type)) + 
    geom_line() + 
    geom_point() 

enter image description here

+0

Benötige ich ein spezielles Paket, um den zweiten Codecode auszuführen, den Sie bereitgestellt haben? Wenn ich es ausführe, bekomme ich einen Fehler "%>%" Fehler gefunden. –

+1

@MichaelPerdue yup. Normalerweise lade ich das Paket 'dplyr' standardmäßig. Tut mir leid, dass ich nicht früher geklärt habe. –

Verwandte Themen