xtable                package:xtable                R Documentation

_C_r_e_a_t_e _E_x_p_o_r_t _T_a_b_l_e_s

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

     Function converting an R object to an 'xtable' object, which can
     then be printed as a LaTeX or HTML table.

_U_s_a_g_e:

     xtable(x, caption=NULL, label=NULL, align=NULL, vsep=NULL, digits=NULL,
            display=NULL, ...)

_A_r_g_u_m_e_n_t_s:

       x: An R object of class found among 'methods(xtable)'.  See
          below on how to write additional method functions for
          'xtable'.

 caption: Character vector of length 1 containing the table's caption
          or title. Set to 'NULL' to suppress the caption.  Default
          value is 'NULL'.

   label: Character vector of length 1 containing the LaTeX label or
          HTML anchor. Set to 'NULL' to suppress the label.  Default
          value is 'NULL'.

   align: Character vector of length equal to the number of columns of
          the resulting table indicating the alignment of the
          corresponding columns.  Also, '"|"' maybe used to produce
          vertical lines between columns in LaTeX tables, but these are
          effectively ignored when considering the required length of
          the supplied vector.  If a character vector of length one can
          be supplied, it is split as 'strsplit(align,"")[[1]]' before
          processing. Since the row names are printed in the first
          column, the length of 'align' is one greater than 'ncol(x)'
          if 'x' is a 'data.frame'. Use '"l"', '"r"', and '"c"' to
          denote left, right, and center alignment, respectively. 
          Default depends on the class of 'x'.

    vsep: Character vector with length equal to one or the number of
          columns in the resulting table + 2 (one for left and one for
          right margin).  These may be any column separators acceptable
          to LaTeX.  Default depends on the class of argument.  Ignored
          in HTML mode.

  digits: Numeric vector of length equal to the number of columns of
          the resulting table indicating the number of digits to
          display in the corresponding columns. Since the row names are
          printed in the first column, the length of 'align' is one
          greater than 'ncol(x)' if 'x' is a 'data.frame'. Default
          depends of class of 'x'.

 display: Character vector of length equal to the number of columns of
          the resulting table indicating the format for the
          corresponding columns. Since the row names are printed in the
          first column, the length of 'align' is one greater than
          'ncol(x)' if 'x' is a 'data.frame'. These values are passed
          to the 'formatC' function.  Use '"d"' (for integers), '"f"',
          '"e"', '"E"', '"g"', '"G"', '"fg"' (for reals), or '"s"' (for
          strings). '"f"' gives numbers in the usual 'xxx.xxx' format; 
          '"e"' and '"E"' give 'n.ddde+nn' or 'n.dddE+nn' (scientific
          format); '"g"' and '"G"' put 'x[i]' into scientific format
          only if it saves space to do so.  '"fg"' uses fixed format as
          '"f"', but 'digits' as number of _significant_ digits.  Note
          that this can lead to quite long result strings.  Default
          depends on the class of 'x'.

     ...: Additional arguments.  (Currently ignored.)

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

     This function extracts tabular information from 'x' and returns an
     object of class '"xtable"'. The nature of the table generated
     depends on the class of 'x'. For example, 'aov' objects produce
     ANOVA tables while 'data.frame' objects produce a table of the
     entire data.frame.  One can optionally provide a caption (called a
     title in HTML) or label (called an anchor in HTML), as well as
     formatting specifications.  Default values for 'align', 'vsep',
     'digits', and 'display' are class dependent.

     The available method functions for 'xtable' are given by
     'methods(xtable)'. Users can extend the list of available classes
     by writing methods for the generic function 'xtable'. These
     methods functions should have 'x' as their first argument with
     additional arguments to specify 'caption', 'label', 'align',
     'vsep', 'digits', and 'display'.  Optionally, other arguments may
     be present to specify how the object 'x' should be manipulated.
     All method functions should return an object whose class if given
     by 'c("xtable","data.frame")'. The resulting object can have
     attributes 'caption' and 'label', but must have attributes
     'align', 'digits', and 'display'.  It is strongly recommened that
     you set these attributes through the  provided replacement
     functions as they perform validity checks.

_V_a_l_u_e:

     An object of class '"xtable"' which inherits the 'data.frame'
     class and contains several additional attributes specifying the
     table formatting options.

_A_u_t_h_o_r(_s):

     David Dahl dahl@stat.tamu.edu

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

     'print.xtable', 'caption', 'label', 'align', 'digits', 'display',
     'formatC', 'methods'

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

     ## Load example dataset
     data(tli)

     ## Demonstrate data.frame
     tli.table <- xtable(tli[1:20,])
     digits(tli.table)[c(2,6)] <- 0
     print(tli.table)
     print(tli.table,type="html")

     ## Demonstrate matrix
     design.matrix <- model.matrix(~ sex*grade, data=tli[1:20,])
     design.table <- xtable(design.matrix)
     print(design.table)
     print(design.table,type="html")

     ## Demonstrate aov
     fm1 <- aov(tlimth ~ sex + ethnicty + grade + disadvg, data=tli)
     fm1.table <- xtable(fm1)
     print(fm1.table)
     print(fm1.table,type="html")

     ## Demonstrate lm
     fm2 <- lm(tlimth ~ sex*ethnicty, data=tli)
     fm2.table <- xtable(fm2)
     print(fm2.table)
     print(fm2.table,type="html")
     print(xtable(anova(fm2)))
     print(xtable(anova(fm2)),type="html")
     fm2b <- lm(tlimth ~ ethnicty, data=tli)
     print(xtable(anova(fm2b,fm2)))
     print(xtable(anova(fm2b,fm2)),type="html")

     ## Demonstrate glm
     fm3 <- glm(disadvg ~ ethnicty*grade, data=tli, family=binomial())
     fm3.table <- xtable(fm3)
     print(fm3.table)
     print(fm3.table,type="html")
     print(xtable(anova(fm3)))
     print(xtable(anova(fm3)),type="html")

     ## Demonstrate aov
     ## Taken from help(aov) in R 1.1.1
     ## From Venables and Ripley (1997) p.210.
     N <- c(0,1,0,1,1,1,0,0,0,1,1,0,1,1,0,0,1,0,1,0,1,1,0,0)
     P <- c(1,1,0,0,0,1,0,1,1,1,0,0,0,1,0,1,1,0,0,1,0,1,1,0)
     K <- c(1,0,0,1,0,1,1,0,0,1,0,1,0,1,1,0,0,0,1,1,1,0,1,0)
     yield <- c(49.5,62.8,46.8,57.0,59.8,58.5,55.5,56.0,62.8,55.8,69.5,55.0,
                62.0,48.8,45.5,44.2,52.0,51.5,49.8,48.8,57.2,59.0,53.2,56.0)
     npk <- data.frame(block=gl(6,4), N=factor(N), P=factor(P), K=factor(K), yield=yield)
     npk.aov <- aov(yield ~ block + N*P*K, npk)
     op <- options(contrasts=c("contr.helmert", "contr.treatment"))
     npk.aovE <- aov(yield ~  N*P*K + Error(block), npk)
     options(op)

     summary(npk.aov)
     print(xtable(npk.aov))
     print(xtable(anova(npk.aov)))
     print(xtable(summary(npk.aov)))

     summary(npk.aovE)
     print(xtable(npk.aovE),type="html")
     print(xtable(summary(npk.aovE)),type="html")

     ## Demonstrate lm
     ## Taken from help(lm) in R 1.1.1
     ## Annette Dobson (1990) "An Introduction to Generalized Linear Models".
     ## Page 9: Plant Weight Data.
     ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
     trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
     group <- gl(2,10,20, labels=c("Ctl","Trt"))
     weight <- c(ctl, trt)
     lm.D9 <- lm(weight ~ group)
     print(xtable(lm.D9))
     print(xtable(anova(lm.D9)))

     ## Demonstrate glm
     ## Taken from help(glm) in R 1.1.1
     ## Annette Dobson (1990) "An Introduction to Generalized Linear Models".
     ## Page 93: Randomized Controlled Trial :
     counts <- c(18,17,15,20,10,20,25,13,12)
     outcome <- gl(3,1,9)
     treatment <- gl(3,3)
     d.AD <- data.frame(treatment, outcome, counts)
     glm.D93 <- glm(counts ~ outcome + treatment, family=poisson())
     print(xtable(glm.D93,align="r|llrc"))
     print(xtable(anova(glm.D93)),hline.after=c(1),size="small")

     if(require(stats,quietly=TRUE)) {
       ## Demonstrate prcomp
       ## Taken from help(prcomp) in mva package of R 1.1.1
       data(USArrests)
       pr1 <- prcomp(USArrests)
       print(xtable(pr1))
       print(xtable(summary(pr1)))

     #  ## Demonstrate princomp
     #  ## Taken from help(princomp) in mva package of R 1.1.1
     #  pr2 <- princomp(USArrests)
     #  print(xtable(pr2))
     }

      

