2012-04-07 45 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