2017-04-22 1 views
0

Je tente de tracer deux modèles de locfit dans un seul tracé, mais je n'arrive pas à obtenir le deuxième modèle de locfit pour tracer les intervalles de confiance. J'ai créé deux modèles locfit:R traçant plusieurs modèles de locfit avec des intervalles de confiance

1_fit = locfit(Y~Time,data=data_1) 
2_fit = locfit(Y~Time,data=data_2) 

Chacun peut tracer leur propre bien avec les intervalles de confiance en utilisant les éléments suivants:

plot(1_fit,band="local",type = "l", xlab = "Time", ylab = "Y-Axis",ylim=c(0,22), 
    col = "red",lwd = 5,font=3,main="Local Poly Fit 1",cex.lab=1.5, cex.axis=1.5, 
    cex.main=1.5, cex.sub=1.5) 

Cependant, lorsque je tente de tracer un modèle locfit supplémentaire à l'intrigue en utilisant:

lines(2_fit,col="blue") 

Je peux seulement ajouter la ligne de locfit mais pas les intervalles de confiance. Je suis tenté de le faire:

lines(2_fit,band="local",col="blue") 

mais je reçois ce message et aucun intervalle de confiance:

Warning message: In plot.xy(xy.coords(x, y), type = type, ...) : "band" is not a graphical parameter

J'ai aussi regardé en utilisant lines.locfit, mais pas eu de chance comme R dit juste qu'il ne peut pas trouver la fonction lines.locfit.

J'ai un travail autour de mettre les deux parcelles dans la même fenêtre en utilisant:

par(mfrow=c(2,1)) 

Mais voudrais éviter cela car cela rendrait les parcelles plus comparables si elles étaient dans la même parcelle.

+0

Vous pouvez toujours utiliser 'par (new = TRUE)', puis tracer l'un au-dessus de l'autre. Vous devrez peut-être définir xlim/ylim pour assurer la correspondance. '1_fit' n'est pas un nom légal dans R –

+0

Alternativement, utilisez' predict' pour extraire le CI et tracer directement –

+0

par (new = TRUE) a fait l'affaire! Merci beaucoup! En guise de note, 1_fit était juste un nom temporaire, ne l'utilisant pas réellement dans mon code, mais bon de savoir quand même que ce n'est pas légal. – user3221962

Répondre

0

La réponse a été fournie par Richard Telford dans les commentaires. Le code suivant a été en mesure d'accomplir ce que je avais besoin:

plot(1_fit,band="local",type = "l", xlab = "Time", ylab = "Y-Axis",ylim=c(0,22), xlim=c(0,12), col = "red",lwd = 5,font=3,main="Local Poly Fit 1",cex.lab=1.5, cex.axis=1.5, cex.main=1.5, cex.sub=1.5)` 

    par(new = TRUE) 

    plot(2_fit,band="local",type = "l", xlab = "Time", ylab = "Y-Axis",ylim=c(0,22), xlim=c(0,12),col = "blue",lwd = 5,font=3,main="Local Poly Fit 1",cex.lab=1.5, cex.axis=1.5, cex.main=1.5, cex.sub=1.5)` 

je devais être sûr que ylim et xlim étaient égaux, ainsi que principal, ylab et xlab. Aussi une note de côté de Richard, 1_fit n'est pas un nom légal, je l'ai utilisé ici juste comme un nom d'espace réservé mais semble une bonne connaissance à transmettre.