Feeding Datenrahmen Spalten zu xyplot Panel-Funktionen

8

Ich verwende xyplot für einen Datenrahmen und möchte eine Panelfunktion mit Daten versorgen, die nicht die Argumente (x, y, ...) sind, sondern einige zusätzliche Spalten des Datenrahmens (sagen wir k im Beispiel unten) ):

%Vor%

Ich verstehe, dass dies nicht funktioniert, weil R diese k-Spalte nicht der Panel-Funktion zuführt. Gibt es einen einfachen Weg dazu?

(Ich versuche nicht, in meiner eigentlichen Panel-Funktion einfach x mit k zu multiplizieren. Ich rufe eine andere Funktion auf, die k erfordert ...)

Vielen Dank!

    
Max 15.04.2013, 16:50
quelle

1 Antwort

8

Dies ist das nützliche (aber etwas obskure) Argument subscripts . Aus der Beschreibung des Arguments "panel" in ?xyplot :

  

[...] die Panel-Funktion kann    habe 'tiefgestellte Zeichen' als formales Argument. In beiden Fällen    Das 'subscripts' Argument, das an die Panelfunktion übergeben wird, ist das     Indizes der 'x' und 'y' Daten für dieses Panel in der     ursprüngliche "Daten", vor Berücksichtigung der Wirkung der     'Teilmenge' Argument.

Mit anderen Worten, ein formales Argument mit dem Namen "tiefgestellt" enthält die Zeilennummern in Ihrem data -Argument, die den Daten entsprechen, die im aktuellen Panel geplottet werden - genau das, was Sie brauchen, um die gewünschte Teilmenge des k -Werte.

In Ihrem Fall:

%Vor%

(Beachten Sie, dass es in dieser Anwendung eine seltsame Komplikation gab. Ein Argument für xyplot() named k wird aufgrund von partiellem Matching von Argumenten als key interpretiert. Um das zu verhindern, habe ich das relevante Argument K , damit es intakt an die Panel-Funktion übergeben wird.)

    
Josh O'Brien 15.04.2013, 17:57
quelle

Tags und Links