0

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

我已经得出了我的最终模型,带有估计值,我想知道如何绘制这些估计值,但我没有在网上看到任何东西..

在此处输入图像描述

有没有办法用一条线绘制估计值,并为每个观察值绘制点?

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

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

谢谢

4

1 回答 1

4

没有仅绘制模型输出的函数,因为通常有许多不同的可能方式来绘制输出。

查看predict您使用的任何模型类型的函数(例如,使用函数的线性回归lmpredict.lm

然后选择一个绘图系统(对于不同的饮食水平,您可能需要不同的面板,所以使用 ggplot2 或 lattice)。然后看看你是否可以用文字更清楚地描述你想要情节的样子。如果遇到困难,请更新您的问题。


现在我们已经确定了您使用的数据集,这是一个可能的图:

#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)
)
于 2012-04-07T11:22:35.537 回答