我正在尝试使用R进行一些建模,我已经开始使用BodyWeight库,因为我在网上看到了一些例子。只是为了理解并习惯命令。
我来到我的最终模型,估计并且我想知道如何绘制这些估计值,但我没有在网上看到任何东西..
有没有办法用线绘制估计值,每个观察值的点数?
我在哪里可以找到有关如何执行此操作的信息,我是否必须自己提取值,或者可以说出这些模型的估计值?
我只是从R开始。欢迎任何帮助。
谢谢
答案 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)
)