我的混合模型如下:
model <- lme(Cost~1+Units, random=~1+Units|Factory, method="ML", data=A)
我被告知应用下面的代码来绘制残差与拟合值的关系,并且它有效:
plot(fitted(model), resid(model))
然而,当我尝试绘制残差与预测变量单位单位时,它显示了一条错误消息。
> plot(Units(model), resid(model))
Error: could not find function "Units"
Error in plot(Units(model), resid(model)) :
error in evaluating the argument 'x' in selecting a method for function 'plot'
我该怎么做才能解决这个问题?感谢。
答案 0 :(得分:3)
我会扩展@Didzis的评论(这当然是真的),所以你真的会知道发生了什么。 Units
是您数据中的变量,而不是某些变量的特定名称,如residuals
或fitted values
(虽然单位一般确实具有这种含义......),所以是不是任何准备好的功能给你那些。在构建模型时,您已经在第一行代码中使用了单位:您使用了值为data
的参数A
,它告诉lme
函数您在建模中使用的变量位于名为A
的数据框。
您可以使用带有要提取的变量名称的美元符号$
来访问数据框中的变量(您可以使用函数names(A)
检查名称)。因此,您可以使用命令A$Units
获取单位变量,因此您可以使用命令
Units
变量与残差的关系图。
plot(A$Units,resid(model))