Der anova-Test schlägt bei lme-Anpassungen fehl, die mit der eingefügten Formel erstellt wurden

8

Ich gebe oft das Formelargument an, um passende Funktionen wie lm oder lme zu modellieren, indem ich die Teile zusammenfüge, die ich brauche, wie in @ DWins Antwort auf diese Frage: Lm und Umgebung verstehen .

In der Praxis sieht das so aus:

%Vor%

Mit lme aus dem Paket nlme funktioniert der Vergleich zweier Modelle, die mit anova erstellt wurden, jedoch nicht, da anova.lme das Argument der gespeicherten Formel überprüft, um sicherzustellen, dass die Modelle angepasst wurden die gleiche Antwort, und das Argument der gespeicherten Formel ist einfach as.formula(f) . Der Fehler ist:

%Vor%

Hier ist, was der anova -Befehl tun sollte (die Modelle neu einrichten, damit es funktioniert):

%Vor%

Irgendwelche Vorschläge?

    
Aaron 05.10.2011, 19:43
quelle

2 Antworten

13

Bens Antwort funktioniert, aber do.call bietet die allgemeinere Lösung, die er wollte.

%Vor%

Es funktioniert, weil (standardmäßig) die Argumente in args = ausgewertet werden, bevor sie an lme übergeben werden.

    
Josh O'Brien 05.10.2011, 23:15
quelle
3

Hier ist ein Hack, der zu funktionieren scheint:

%Vor%

aber ich mag es überhaupt nicht. Ich würde sehr gerne eine eher prinzipielle Antwort auf diese Frage sehen, da ich bei der Erweiterung des bbmle -Pakets ständig auf diese Art von Problem stoße.

    
Ben Bolker 05.10.2011 21:06
quelle

Tags und Links