überschreibt S3-Methoden in der Basis R

8

Ich versuche, die print.anova () -Funktion aus dem R stats-Paket innerhalb eines lokalen Pakets zu übernehmen, das ich beim Teachen verwende. Grundsätzlich möchte ich das Drucken der Überschrift entfernen und eine "Gesamt" -Zeile hinzufügen, ohne eine neue Funktion (z. B. ANOVA ()) mit einer neuen Klasse zu erstellen.

Die Funktion sieht wie folgt aus:

%Vor%

Mein Problem ist, dass ich nicht sicher bin, ob ich das als eine Funktion, eine Methode, eine S3-Methode, irgendeine Kombination davon oder etwas ganz anderes exportieren soll. Zum Beispiel, wenn ich dies versuche (Teil von Code roxygenize):

%Vor%

Beim Ausführen von Rcmd check bekomme ich folgende Warnung:

%Vor%

aber die Funktion funktioniert wie erwartet, wenn ich mein Paket lade.

Aber wenn ich das versuche:

%Vor%

Ich bekomme keine Warnungen oder Fehler mit der Rcmd-Prüfung, aber wenn ich versuche, die Funktion in R zu verwenden, findet sie die ursprüngliche Funktion im stats-Paket-Namespace. Außerdem, wenn ich das tue

%Vor%

Ich verstehe das

%Vor%

Schließlich enthält mein von roxygen entwickelter Namespace für diese Version (nicht den Export, aber die Methode und die S3-Methode) das folgende Element.

%Vor%

Zu meiner Verwirrung führt, dass ich Erfolg mit etwas Ähnlichem mit anderen Funktionen hatte (z. B. mit der Methode und der S3-Methode mit print.summary.lm).

Ich würde mich über jede Hilfe bei meinem Verständnis freuen, was ich hier falsch mache (oder wie ich dieses Ziel letztlich erreichen kann). Vielen Dank im Voraus für jede Hilfe.

ps., für was es wert ist, bin ich auf Windows 7 (32-Bit), R 2.15.2 und mit RStudio.

    
D Ogle 21.12.2012, 21:00
quelle

1 Antwort

4

Anstatt zu versuchen, die Funktion print.anova zu überschreiben, könnten Sie Ihre eigene Klasse erstellen, die im Wesentlichen mit der anova-Klasse identisch ist. Erstellen Sie eine as.myanova -Funktion, die ein anova -Objekt in ein Objekt von mynanova verwandelt und schreiben Sie dann Ihre print.myanova -Funktion.

    
Michael 18.01.2013 20:28
quelle

Tags und Links