2012-04-07 48 views
0

我想用R來做一些建模,我已經開始使用BodyWeight庫,因爲我已經看到一些在線的例子。只是爲了理解和習慣這些命令。如何繪製通過模型估計R

我來我的最終模型,估計和我不知道如何繪製這些估計,但我還沒有在網上見過..

enter image description here

是否有繪製方式用線估計的值,以及每個觀察值的點數?

從哪裏可以找到關於如何做到這一點的信息,我必須自己提取值還是可以說繪製這些模型的估計值?

我只是以R開頭。任何幫助都是值得歡迎的。

謝謝

+0

哪裏'BodyWeight'包?我無法在CRAN或bioconductor上找到它。如果您提供了代碼來重新創建模型,那將會很好。 – 2012-04-07 11:16:20

+0

另外,雖然我很挑剔:a * library *是您安裝* packages *到的文件夾。輸入'.libPaths()'來查看系統上的位置。別擔心,每個人都會對此感到困惑。 – 2012-04-07 11:24:40

+0

對不起,它是庫(nlme)。 BodyWeight包然後,在圖書館nlme。謝謝:) – pavid 2012-04-07 11:40:07

回答

4

沒有的功能,只是一個繪製模型的輸出,因爲通常有密謀輸出的許多不同的可能途徑。

看看predict函數適用於您正在使用的任何模型類型(例如,使用lm具有predict.lm函數的線性迴歸)。

然後選擇一個繪圖系統(你可能會想要不同的面板爲不同的飲食水平,所以使用ggplot2或格)。然後看看你能否用文字更清楚地描述你想要情節。然後更新你的問題,如果你卡住了。


現在,我們已經確定了哪個數據集使用的是,這裏有一個情節可能:

#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

感謝您的幫助,我剛剛看到這個功能:xyplot(體重〜時間,數據= BodyWeight,groups =飲食,類型= c(「p」,「r」)) 類似於我想要的。這是我第一次嘗試建模 – pavid 2012-04-07 11:42:32

+0

這不是大多數人稱之爲「建模」的東西。這只是顯示數據。 – 2012-04-07 13:51:27

+0

@DWin:可能調用'lme'並不是大多數人所稱的建模。我想他們會去「穿着內衣走上舞臺」。 – 2012-04-07 13:54:43