

plotmath {base}                              R Documentation

_M_a_t_h_e_m_a_t_i_c_a_l _A_n_n_o_t_a_t_i_o_n _i_n _R

_D_e_s_c_r_i_p_t_i_o_n_:

     If the `text' argument to one of the text-drawing func-
     tions (`text', `mtext', `axis') in R is an expression,
     the argument is interpreted as a mathematical expres-
     sion and the output will be formatted according to TeX-
     like rules.

_D_e_t_a_i_l_s_:

     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, multiplica-
     tion, 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' pro-
     duces +x and `-y' produces -y.

     Subscripts and superscripts: a subscript is specified
     using the subsetting syntax and a superscript is speci-
     fied using the power syntax.  For example, `x[i]' pro-
     duces 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' pro-
     duces 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 corre-
     sponding 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 sym-
     bols).  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 repro-
     duced as a function expression.  For example, `foo(x)'
     produces foo(x).

_S_e_e _A_l_s_o_:

     `axis', `mtext', `text', `title'

_E_x_a_m_p_l_e_s_:

     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)

