-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のようなある種の変数の特定の名前ではありません(ただし、一般的な単位にはそのような意味があります...)。したがって、それらを提供する準備ができた関数はありません。モデルを構築するときに、コードの最初の行ですでにUnitsを使用しています。そこでは値付きの引数を使用しました。これは、モデリングで使用される変数が。というデータフレーム内にあることを関数に通知します。residualsfitted valuesdataAlmeA

抽出する変数の名前にドル記号を使用して、データフレーム内の変数にアクセスできます$(関数を使用して名前を確認できますnames(A))。したがって、コマンドを使用してUnits変数を取得するため、コマンドを使用して変数と残差をA$Unitsプロットできます。Units

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