2013-06-04 7 views
9

Gibt es eine Lösung, mehr als ein Gleichheitszeichen in einem Ausdruck zu verwenden (die nicht in Klammern sind)? Ich mache es gerade mit "=". Aber das ist nicht so schön, da == und "=" auf der Handlung anders aussehen.Wie mehrere Gleichheitszeichen im Text zu verwenden (x, y, Ausdruck (...))

Minimal Beispiel:

plot(0:5,0:5, type="n") 
saleprice <- 35 
revenue <- 98000 
text(1, 2, 
    bquote(paste(R(x[G]) == .(saleprice)%.%x[G], " = ", .(revenue)))) 

Siehe folgendes Bild für den aktuellen Status: sample image

Ich möchte so etwas wie verwenden:

bquote(R(x[G]) == .(saleprice)%.%x[G] == .(revenue)) 

Aber es treten Fehler auf.

+0

Huh, ich habe nie zuvor bemerkt, dass R auf parsing verketteten Vergleichsoperatoren barrt. Es scheint nichts anderes zu kümmern. Kontrast "1 <2 <3" mit "1 && 2 && 3", "1 & 2 & 3" oder "x <- y <- z" zum Beispiel. –

+0

Der Grund, warum R verkettete Vergleichsoperatoren nicht mag, ist, dass ["es wurde entschieden, dass a == b == c unerwünschte Semantik haben würde"] (http://comments.gmane.org/gmane.comp.lang .r.general/326420) – gebi

Antwort

13

Verwenden Sie {}, um eine unsichtbare Gruppierung um die erste Gleichheit zu legen.

text(1, 2, bquote({R(x[G]) == .(saleprice)%.%x[G]} == .(revenue))) 
+0

Ok, das funktioniert ausgezeichnet. Vielen Dank. – user2451870

Verwandte Themen