plotmath {base} | R Documentation |
If the text
argument to one of the text-drawing functions
(text
, mtext
, axis
) in R
is an expression, the argument is interpreted as a mathematical
expression and the output will be formatted according to TeX-like
rules.
A mathematical expression must obey the normal rules of syntax for any R expression, but it is interpreted according to very different rules than for normal R expressions.
Binary operators: addition, subtraction, multiplication, and
division use the standard R syntax, although multiplication only
juxtaposes the arguments. For example, a+b
, a-b
, and
a/b
, produce a+b, a-b, and a/b, but
a*b
produces ab.
Unary operators: positive and negative numbers are specified
with standard syntax. For example, +x
produces +x and
-y
produces -y.
Subscripts and superscripts: a subscript is specified using the
subsetting syntax and a superscript is specified using the power
syntax. For example, x[i]
produces x_i and x^2
produces x^2.
Accents: accented expressions are specified using the special
mathematical functions hat
and bar
.
Fractions: fractions are specified using the special
mathematical function frac
(or its alias, over
).
Relations: equality or assignment of terms is specified using
the ==
relation. For example, x == y
produces
x=y.
Visible grouping: terms are visibly grouped by placing them
within parentheses. For example, (x+y)
produces (x+y).
Invisible grouping: terms are invisibly grouped by placing them
within curly braces. For example, x^{2*y}
produces
x^{2y}, whereas x^2*y
produces x^2y.
Big operators: a sum, product, or integral is specified using
the special mathematical function of the corresponding name. Each of
these functions takes three arguments; the first indicates what is
being summed/multiplied/integrated and the second and third specify
the limits of the summation/product/integral.
For example, sum(x[i], i==0, n)
produces
sum_{i=0}^n x_i
.
Radicals: a square root expression is specified using the
special mathematical functions root
and sqrt
.
Absolute values: an absolute term is specified using the
special mathematical function abs
. For example, abs(x)
produces |x|.
Juxtaposition: multiple terms are juxtaposed using the special
mathematical function paste
. For example,
paste(over(b, 2), y, sum(x))
produces
b/2 y sum(x).
Typeface changes: the default font in mathematical expressions
is italic (except for terms which are symbols). A new typeface is
specified using the special mathematical functions bold
,
italic
, plain
, and bolditalic
. Note that these
font specifications do not accumulate (i.e., bold(italic(x)))
gives an italic `x', whereas bolditalic(x)
produces a bold,
italic `x').
General expressions: any functional expression which is not a
special mathematical function is simply reproduced as a function
expression. For example, foo(x)
produces foo(x).
x <- seq(-4, 4, len = 101) y <- cbind(sin(x), cos(x)) matplot(x, y, type = "l", xaxt = "n", main = expression(paste(plain(sin) * phi, " and ", plain(cos) * phi)), ylab = expression("sin" * phi, "cos" * phi), # only 1st is taken xlab = expression(paste("Phase Angle ", phi)), col.main = "blue") axis(1, at = c(-pi, -pi/2, 0, pi/2, pi), lab = expression(-pi, -pi/2, 0, pi/2, pi)) plot(1:10, 1:10) text(4, 9, expression(hat(beta) == (X^t * X)^{-1} * X^t * y)) text(4, 8.4, "expression(hat(beta) == (X^t * X)^{-1} * X^t * y)", cex = .8) text(4, 7, expression(bar(x) == sum(frac(x[i], n), i==1, n))) text(4, 6.4, "expression(bar(x) == sum(frac(x[i], n), i==1, n))", cex = .8) text(8, 5, expression(paste(frac(1, sigma*sqrt(2*pi)), " ", plain(e)^{frac(-(x-mu)^2, 2*sigma^2)})), cex= 1.2)