2013-03-08 4 views
-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' 

Что мне делать, чтобы исправить эту проблему? Благодарю.

ответ

3

Я продолжу комментарий @Didzis (это, конечно, правда), поэтому вы действительно узнаете, что происходит. Units - это переменная в ваших данных, а не конкретное имя для некоторой переменной, например residuals или fitted values (хотя единицы как правило имеют такой смысл ...), поэтому нет никакой готовой функции, которая дает вам это. Вы уже использовали единицы в своей первой строке кода при построении модели: там вы использовали аргумент data со значением A, в котором указана функция lme, что ваши переменные, используемые в моделировании, лежат внутри фрейма данных, называемого A.

Вы можете получить доступ к переменным в кадре данных, используя знак доллара $ с именем переменной, которую вы хотите извлечь (вы можете проверить имена, используя функцию names(A)). Таким образом, вы получаете переменные единица с помощью команды A$Units, так что вы можете построить ваш Units переменные в зависимости от остатков с помощью команды

plot(A$Units,resid(model)) 
+0

Спасибо за подробное объяснение. –