-1

我的混合模型如下:

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'

我应该怎么做才能解决这个问题?谢谢。

4

1 回答 1

3

我将扩展@Didzis 的评论(这当然是真的),所以你会真正了解发生了什么。Units是您数据中的一个变量,而不是某种变量的特定名称,例如residualsor fitted values(尽管一般的单位确实具有这种含义......),因此没有任何现成的函数可以为您提供这些。在构建模型时,您已经在第一行代码中使用了 Units:在那里您使用data了带有 value的参数A,它告诉lme函数您在建模中使用的变量位于名为 的数据框内A

您可以通过使用美元符号$和要提取的变量名称来访问数据框中的变量(您可以使用函数检查名称names(A))。因此,您可以使用命令获取 Units 变量A$Units,因此您可以使用命令绘制Units变量与残差的关系

plot(A$Units,resid(model))
于 2013-03-08T20:34:16.257 回答