| 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)