如何在R中通过模型绘制估计值

时间:2012-04-07 10:10:55

标签: r plot modeling

我正在尝试使用R进行一些建模,我已经开始使用BodyWeight库,因为我在网上看到了一些例子。只是为了理解并习惯命令。

我来到我的最终模型,估计并且我想知道如何绘制这些估计值,但我没有在网上看到任何东西..

enter image description here

有没有办法用线绘制估计值,每个观察值的点数?

我在哪里可以找到有关如何执行此操作的信息,我是否必须自己提取值,或者可以说出这些模型的估计值?

我只是从R开始。欢迎任何帮助。

谢谢

1 个答案:

答案 0 :(得分: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)
)