2012-04-07 3 views
0
plottet

Ich versuche, mit R zu modellieren, ich habe begonnen, BodyWeight-Bibliothek zu verwenden, da ich einige Beispiele online gesehen habe. Nur um zu verstehen und sich an die Befehle zu gewöhnen.Wie man Schätzungen über Modell in R

Ich habe mein letztes Modell kommen, mit Schätzungen und ich frage mich, wie diese Schätzungen zu zeichnen, aber ich habe nichts online gesehen ..

enter image description here

Gibt es eine Möglichkeit zu plotten die Werte der Schätzungen mit einer Linie und Punkte für die Werte jeder Beobachtung?

Wo finde ich Informationen dazu, muss ich die Werte selbst extrahieren, oder ist es möglich, die Schätzungen dieses Modells zu plotten?

Ich beginne nur mit R. Jede Hilfe ist willkommen.

Danke

+0

Wo ist das 'BodyWeight' Paket? Ich kann es nicht auf CRAN oder Bioconductor finden. Es wäre schön, wenn Sie den Code bereitstellen würden, um Ihr Modell neu zu erstellen. –

+0

Auch wenn ich wählerisch bin: Eine * Bibliothek * ist der Ordner, in den Sie * Pakete * installieren. Geben Sie '.libPaths()' ein, um die Speicherorte auf Ihrem System anzuzeigen. Mach dir keine Sorgen, jeder ist verwirrt darüber. –

+0

Entschuldigung, es ist Bibliothek (nlme). BodyWeight-Paket dann in der Bibliothek nlme. Danke :) – pavid

Antwort

4

Es gibt keine Funktion, die nur die Ausgabe eines Modells zeichnet, da es in der Regel viele verschiedene Möglichkeiten, Plotten der ausgegeben werden.

einen Blick auf die für predict Funktion nehmen, was Modelltyp Sie verwenden (zB mit lm haben eine predict.lm Funktion lineare Regressionen).

Dann wählen Sie ein Plotting-System (Sie werden wahrscheinlich verschiedene Panels für verschiedene Ebenen der Ernährung, so verwenden Sie entweder ggplot2 oder Gitter). Dann sehen Sie, ob Sie in Worten klarer beschreiben können, wie die Handlung aussehen soll. Dann aktualisieren Sie Ihre Frage, wenn Sie nicht weiterkommen.


Jetzt haben wir identifiziert, die Sie Dataset verwenden, ist hier eine mögliche Handlung:

#Run your model 
model <- lme(weight ~ Time + Diet, BodyWeight, ~ 1 | Rat) 
summary(model) 

#Predict the values 
#predict.lme is a pain because you have to specify which rat 
#you are interested in, but we don't want that 
#manually predicting things instead 
times <- seq.int(0, 65, 0.1) 
mcf <- model$coefficients$fixed 
predicted <- 
    mcf["(Intercept)"] + 
    rep.int(mcf["Time"] * times, nlevels(BodyWeight$Diet)) + 
    rep(c(0, mcf["Diet2"], mcf["Diet3"]), each = length(times)) 
prediction_data <- data.frame(
    weight = predicted, 
    Time = rep.int(times, nlevels(BodyWeight$Diet)), 
    Diet = rep(levels(BodyWeight$Diet), each = length(times)) 
) 

#Draw the plot (using ggplot2) 
(p <- ggplot(BodyWeight, aes(Time, weight, colour = Diet)) + 
    geom_point() + 
    geom_line(data = prediction_data) 
) 
+0

Vielen Dank für Ihre Hilfe, ich habe gerade diese Funktion gesehen: xyplot (Gewicht ~ Zeit, Daten = BodyWeight, Gruppen = Diät, Typ = c ("p", "r")) ähnlich wie ich es wollte . Es ist das erste Mal, dass ich versuche, etwas zu modellieren – pavid

+0

Das ist nicht das, was die meisten Leute "Modellierung" nennen würden. Es ist nur die Anzeige von Daten. –

+0

@DWin: Wahrscheinlich nennt man 'lme' nicht, was * die meisten * Leute als Modellierung bezeichnen würden. Ich denke, sie würden "eine Bühne in Unterwäsche auf und ab gehen". –