

   plotmath {base}                              R Documentation

   MMaatthheemmaattiiccaall AAnnnnoottaattiioonn iinn RR

   DDeessccrriippttiioon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Deettaaiills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Seeee AAllssoo::

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

   EExxaammppllees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)

