[R] tex/latex output?

E. D. Isaia isaia at econ.unito.it
Thu Mar 28 07:35:22 CET 2002


If it helps you:

##################################################################
##    textable - 13.09.2000
##################################################################

"textable" <-
  function(matrix, precision=2, column=NULL, caption=NULL, label=NULL, title="b",
stretch=NULL,
      centering="c")
  {
     ncols <- ncol(matrix)
    if (length(centering) == 1) {
        if(centering != "r" && centering != "l" && centering != "c")
            stop("la centering deve essere r, l, c")
        ausr <- rep(centering, length = ncols + 1)
    }
    else {
        if (length(centering) == ncols + 1)
            ausr <- centering
        else
            stop("centering ad hoc")
    }
    exact <-
        function(x, prec) {
            x <- round(x, prec)
            for (i in prec:1) {
                if ((i == prec) & ((x * 10^prec) %% (10^prec) == 0))
                    return(cat(" & ", x, ".", rep(0, prec), sep = ""))
                else if (round((x * 10^prec) %% (10^i), 5) == 0)
                    return(cat(" & ", x, rep(0, i), sep = ""))
            }
            return(cat(" & ", x, sep = ""))
        }
 printout <- function(matrix, precision)
   {
            for (i in 1:nrow(matrix)) {
                for (j in 1:ncol(matrix)) {
                    exact(matrix[i, j], prec = precision)
            }
                cat("\\\\ \n")
            }
        }
    cat("\\begin{table}[ht]\n\\begin{center}\n")
    if (title == "a" && !is.null(caption))
    {
        if(length(stretch) == 2)
            cat("\\renewcommand{\\baselinestretch}{", stretch[1],
                "} \\normalsize\n", sep = "")
        cat("\\caption{", sep = "")
        if(!is.null(label)) cat("\\label{", label, "}", sep = "")
        cat(caption, "}\n", sep = "")
    }
    if(length(stretch) == 2)
        cat("\\renewcommand{\\baselinestretch}{", stretch[2],
            "} \\normalsize\n\\vspace{0.3cm}\n", sep = "")
    cat("\\begin{tabular}")
    cat("{",ausr[1],"|",ausr[2:length(ausr)],"}\n", sep = "")
    if (is.null(column))
        cat("", paste(1:ncols), sep=" & Col ")
    else
        for (i in 1:ncols) cat("&",column[i])
    cat("\\\\\n")
    cat("\\hline\n")
    printout(matrix = matrix,precision = precision)
    cat("\\hline\n")
    cat("\\end{tabular}\n")
    if (title == "b" && !is.null(caption)) {
        if(length(stretch) == 2)
            cat("\\renewcommand{\\baselinestretch}{", stretch[1],
                "} \\normalsize\n", sep = "")
        cat("\\caption{")
        if(!is.null(label)) cat("\\label{", label, "}", sep = "")
        cat(caption, "}\n", sep = "")
    }
    cat("\\end{center}\n\\end{table}\n")
}
##################################################################
## <EoF> textable  - 13.09.2000
##################################################################

X<-cbind(c(10,12,13,11),c(20,25,24,22),c(50,45,54,58))

> X
     [,1] [,2] [,3]
[1,]   10   20   50
[2,]   12   25   45
[3,]   13   24   54
[4,]   11   22   58
> textable(X)
\begin{table}[ht]
\begin{center}
\begin{tabular}{c|ccc}
 & Col 1 & Col 2 & Col 3\\
\hline
 & 10.00 & 20.00 & 50.00\\
 & 12.00 & 25.00 & 45.00\\
 & 13.00 & 24.00 & 54.00\\
 & 11.00 & 22.00 & 58.00\\
\hline
\end{tabular}
\end{center}
\end{table}

Best, isaia.

"Jeff D. Hamann" wrote:

> Is it possible to write the output/results (redirect) to a latex file?
>
> Jeff.
>
> Jeff D. Hamann
> Hamann, Donald & Associates, Inc.
> PO Box 1421
> Corvallis, Oregon USA 97339-1421
> Bus. 541-753-7333
> Cell. 541-740-5988
> jeff_hamann at hamanndonald.com
> www.hamanndonald.com
>
> -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
> r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
> Send "info", "help", or "[un]subscribe"
> (in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
> _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ Ennio D. Isaia
~ Dep. of Statistics & Mathematics, University of Torino
~ Piazza Arbarello, 8 - 10128 Torino (Italy)
~ Phone: +39 011 670 62 51 ~~ Fax: +39 011 670 62 39
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list