2013-06-04 10 views
9

czy istnieje rozwiązanie, które umożliwia użycie więcej niż jednego znaku w wyrażeniu (które nie znajduje się w nawiasie)? Obecnie robię to z "=". Ale to nie jest takie miłe, ponieważ == i "=" wyglądają inaczej na fabule.Jak używać kilku równych znaków w tekście (x, y, expression (...))

Minimal Próbka:

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

Zobacz następujący obraz do aktualnego stanu: sample image

chciałbym użyć czegoś takiego:

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

Ale produkuje błędów.

+0

Huh, nigdy wcześniej nie zauważyłem, że R barfs na analizowanie łańcuchów operatorów porównania. Wydaje się, że nic to nie dotyczy. Kontrastuje '1 <2 <3' z' 1 && 2 && 3', '1 & 2 & 3' lub' x <- y <- z', na przykład. –

+0

Powodem, dla którego R nie lubi połączonych operatorów porównania jest to, że ["zadecydowano, że a == b == c będzie miało niepożądaną semantykę "] (http://comments.gmane.org/gmane.comp.lang .r.general/326420) – gebi

Odpowiedz

13

Użyj {}, aby umieścić niewidoczne grupowanie wokół pierwszej równości.

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

Ok, to działa znakomicie. Dziękuję Ci. – user2451870

Powiązane problemy