R: Presenting outputs

Dr N Green
14th June 2016

Scatter plot: add points of different colours and symbols

x <- rnorm(10, sd=5, mean=20)
y <- 2.5*x - 1.0 + rnorm(10, sd=9, mean=0)
plot(x,y,xlab="Independent", ylab="Dependent", main="Random Stuff")

x1 <- runif(8,15,25)
y1 <- 2.5*x1 - 1.0 + runif(8,-6,6)

x2 <- runif(8,15,25)
y2 <- 2.5*x2 - 1.0 + runif(8,-6,6)

plot of chunk unnamed-chunk-2

Scatter plot: add points of different colours and symbols

x <- rnorm(10,sd=5,mean=20)
y <- 2.5*x - 1.0 + rnorm(10,sd=9,mean=0)
plot(x,y,xlab="Independent", ylab="Dependent", main="Random Stuff")
x1 <- runif(8,15,25)
y1 <- 2.5*x1 - 1.0 + runif(8,-6,6)
points(x1,y1,col=2)

x2 <- runif(8,15,25)
y2 <- 2.5*x2 - 1.0 + runif(8,-6,6)
points(x2,y2,col=3,pch=2)

plot of chunk unnamed-chunk-3

Scatter plot: legend

plot(x,y,xlab="Independent",ylab="Dependent",main="Random Stuff")
points(x1,y1,col=2,pch=3)
points(x2,y2,col=4,pch=5)

plot of chunk unnamed-chunk-5

Scatter plot: legend

plot(x,y,xlab="Independent",ylab="Dependent",main="Random Stuff")
points(x1,y1,col=2,pch=3)
points(x2,y2,col=4,pch=5)
legend(11,50,c("Original","one","two"),col=c(1,2,4),pch=c(1,3,5))

plot of chunk unnamed-chunk-6

Simple fitted lines

x <- rnorm(10,sd=5,mean=20)
y <- 2.5*x - 1.0 + rnorm(10,sd=9,mean=0)
x2 <- runif(8,15,25)
y2 <- 2.5*x2 - 1.0 + runif(8,-6,6)

plot(x,y,xlab="Independent",ylab="Dependent",main="Random Stuff")
points(x1,y1,col=2,pch=3)
points(x2,y2,col=4,pch=5)
legend(25,80,c("Original","one","two"),col=c(1,2,4),pch=c(1,3,5))

plot of chunk unnamed-chunk-8

Simple fitted lines

x <- rnorm(10,sd=5,mean=20)
y <- 2.5*x - 1.0 + rnorm(10,sd=9,mean=0)
x2 <- runif(8,15,25)
y2 <- 2.5*x2 - 1.0 + runif(8,-6,6)

plot(x,y,xlab="Independent",ylab="Dependent",main="Random Stuff")
points(x1,y1,col=2,pch=3)
points(x2,y2,col=4,pch=5)
legend(25,80,c("Original","one","two"),col=c(1,2,4),pch=c(1,3,5))

abline(lm(y~x), col="red")
lines(lowess(x,y), col="blue")

plot of chunk unnamed-chunk-9

With error lines

plot(x,y,xlab="Independent",ylab="Dependent",main="Random Stuff")
xHigh <- x
yHigh <- y + abs(rnorm(10,sd=3.5))
xLow <- x
yLow <- y - abs(rnorm(10,sd=3.1))

plot of chunk unnamed-chunk-11

With error lines

plot(x,y,xlab="Independent",ylab="Dependent",main="Random Stuff")
xHigh <- x
yHigh <- y + abs(rnorm(10,sd=3.5))
xLow <- x
yLow <- y - abs(rnorm(10,sd=3.1))
arrows(xHigh,yHigh,xLow,yLow,col=2,angle=90,length=0.1,code=3)

plot of chunk unnamed-chunk-12

Adding jitter

numberWhite <-
numberChipped <-

par(mfrow=c(1,2))
plot(numberWhite,numberChipped,xlab="Number White Marbles Drawn",
ylab="Number Chipped Marbles Drawn",main="Pulling Marbles")
plot(jitter(numberWhite),jitter(numberChipped),xlab="Number White Marbles Drawn",
ylab="Number Chipped Marbles Drawn",main="Pulling Marbles With Jitter")

plot of chunk unnamed-chunk-14

Adding jitter

numberWhite <- rhyper(400,4,5,3)
numberChipped <- rhyper(400,2,7,3)
par(mfrow=c(1,2))
plot(numberWhite,numberChipped,xlab="Number White Marbles Drawn",
ylab="Number Chipped Marbles Drawn",main="Pulling Marbles")
plot(jitter(numberWhite),jitter(numberChipped),xlab="Number White Marbles Drawn",
ylab="Number Chipped Marbles Drawn",main="Pulling Marbles With Jitter")

plot of chunk unnamed-chunk-15

Mosaic plots

mosaicplot(,main="sixth plot")

plot of chunk unnamed-chunk-17

Mosaic plots

mosaicplot(table(numberWhite,numberChipped),main="sixth plot")

plot of chunk unnamed-chunk-18

Pair-wise scatter plots

uData <- rnorm(20)
vData <- rnorm(20,mean=5)
wData <- uData + 2*vData + rnorm(20,sd=0.5)
xData <- -2*uData+rnorm(20,sd=0.1)
yData <- 3*vData+rnorm(20,sd=2.5)

pairs(?)

plot of chunk unnamed-chunk-20

Pair-wise scatter plots

uData <- rnorm(20)
vData <- rnorm(20,mean=5)
wData <- uData + 2*vData + rnorm(20,sd=0.5)
xData <- -2*uData+rnorm(20,sd=0.1)
yData <- 3*vData+rnorm(20,sd=2.5)
d <- data.frame(u=uData,v=vData,w=wData,x=xData,y=yData)
pairs(d)

plot of chunk unnamed-chunk-21

Shaded areas

stdDev <- 0.75; x <- seq(-5,5,by=0.01); y <- dnorm(x,sd=stdDev)
right <- qnorm(0.95,sd=stdDev)
plot(x,y,type="l",xaxt="n",ylab="p",xlab=expression(paste('Assumed Distribution of',bar(x))),axes=FALSE,ylim=c(0,max(y)*1.05),xlim=c(min(x),max(x)),frame.plot=FALSE)
axis(1,at=c(-5,right,0,5), pos = c(0,0),labels=c(expression(' '),expression(bar(x)[cr]),expression(mu[0]),expression(' ')))
axis(2)
xReject <- seq(right,5,by=0.01);  yReject <- dnorm(xReject,sd=stdDev)
polygon(?, col='red')

Shaded areas

plot of chunk unnamed-chunk-23

Shaded areas

stdDev <- 0.75;
x <- seq(-5,5,by=0.01)
y <- dnorm(x,sd=stdDev)
right <- qnorm(0.95,sd=stdDev)
plot(x,y,type="l",xaxt="n",ylab="p",xlab=expression(paste('Assumed Distribution of ',bar(x))),  axes=FALSE,ylim=c(0,max(y)*1.05),xlim=c(min(x),max(x)),frame.plot=FALSE)
axis(1,at=c(-5,right,0,5),       pos = c(0,0),   labels=c(expression(' '),expression(bar(x)[cr]),expression(mu[0]),expression(' ')))
axis(2)
xReject <- seq(right,5,by=0.01);  yReject <- dnorm(xReject,sd=stdDev)
polygon(c(xReject,xReject[length(xReject)],xReject[1]),  c(yReject,0, 0), col='red')

plot of chunk unnamed-chunk-24

Different types of lines

x <- c(1:5); y <- x
par(pch=22, col="red")
par(mfrow=c(2,4))
opts = ?
for(i in 1:length(opts)){
heading = paste("type=",opts[i])
plot(x, y, type="n", main=heading)
lines(x, y, type=opts[i])
}

plot of chunk unnamed-chunk-26

Different types of lines

x <- c(1:5); y <- x
par(pch=22, col="red")
par(mfrow=c(2,4))
opts = c("p","l","o","b","c","s","S","h")
for(i in 1:length(opts)){
heading = paste("type=",opts[i])
plot(x, y, type="n", main=heading)
lines(x, y, type=opts[i])
}

plot of chunk unnamed-chunk-27

Barplot

numberWhite <- rhyper(30,4,5,3)
numberWhite <- as.factor(numberWhite)

barplot(?,main="Number Draws",ylab="Frequency",xlab="Draws")

plot of chunk unnamed-chunk-29

numberWhite
 0  1  2  3 
 3 16  9  2 

plot of chunk unnamed-chunk-29

Barplot

numberWhite <- rhyper(30,4,5,3)
numberWhite <- as.factor(numberWhite)
plot(numberWhite)

plot of chunk unnamed-chunk-30

totals <- table(numberWhite)
totals
numberWhite
 0  1  2  3 
 2 15 12  1 
barplot(totals,main="Number Draws",ylab="Frequency",xlab="Draws")

plot of chunk unnamed-chunk-30

plotly

ggplot2: structure

ggplot(data = , aes(x = , y = , … ), … ) +

   geom_<geom type>(aes(size = <size variable for this geom>,
                  ... <other aesthetic mappings>),
              data = <data for this point geom>,
              stat = <statistic string or function>,
              position = <position string or function>,
              color = <"fixed color specification">,
              <other arguments, possibly passed to the _stat_ function) +

scale(name = <“scale label”>, breaks = , labels = , … ) +

theme(plot.background = element_rect(fill = “gray”), … )

qplot: overlapping densities

library(ggplot2)
mtcars$gear <- factor(mtcars$gear,levels=c(3,4,5), labels=c("3gears","4gears","5gears"))
mtcars$am <- factor(mtcars$am,levels=c(0,1), labels=c("Automatic","Manual"))
mtcars$cyl <- factor(mtcars$cyl,levels=c(4,6,8), labels=c("4cyl","6cyl","8cyl"))

qplot(mpg, data=, geom="", fill=, alpha=, main="Distribution of Gas Milage", xlab="Miles Per Gallon", ylab="Density")

plot of chunk unnamed-chunk-32

qplot: overlapping densities

library(ggplot2)
data("mtcars")
mtcars$gear <- factor(mtcars$gear,levels=c(3,4,5), labels=c("3gears","4gears","5gears"))
mtcars$am <- factor(mtcars$am,levels=c(0,1), labels=c("Automatic","Manual"))
mtcars$cyl <- factor(mtcars$cyl,levels=c(4,6,8), labels=c("4cyl","6cyl","8cyl"))
qplot(mpg, data=mtcars, geom="density", fill=gear, alpha=I(.5), main="Distribution of Gas Milage", xlab="Miles Per Gallon", ylab="Density")

plot of chunk unnamed-chunk-33

qplot: facets and points

library(ggplot2)
data("mtcars")
mtcars$gear <- factor(mtcars$gear,levels=c(3,4,5), labels=c("3gears","4gears","5gears"))
mtcars$am <- factor(mtcars$am,levels=c(0,1), labels=c("Automatic","Manual"))
mtcars$cyl <- factor(mtcars$cyl,levels=c(4,6,8), labels=c("4cyl","6cyl","8cyl"))

qplot(, , data=mtcars, shape=, color=, facets=gear~cyl, size=I(3), xlab="Horsepower", ylab="Miles per Gallon")

plot of chunk unnamed-chunk-35

qplot: facets and points

library(ggplot2)
data("mtcars")
mtcars$gear <- factor(mtcars$gear,levels=c(3,4,5), labels=c("3gears","4gears","5gears"))
mtcars$am <- factor(mtcars$am,levels=c(0,1), labels=c("Automatic","Manual"))
mtcars$cyl <- factor(mtcars$cyl,levels=c(4,6,8), labels=c("4cyl","6cyl","8cyl"))

qplot(hp, mpg, data=mtcars, shape=am, color=am, facets=gear~cyl, size=I(3), xlab="Horsepower", ylab="Miles per Gallon")

plot of chunk unnamed-chunk-36

hist vs geom_histogram

Rgraphics tutorial here

par(mfrow=c(2,1))
hist(diamonds$carat)
hist(diamonds$carat, breaks = 500)

plot of chunk unnamed-chunk-37

hist vs geom_histogram

ggplot(diamonds, aes(x = carat)) + geom_histogram(bins = 500)

plot of chunk unnamed-chunk-38

ggplot2: Box plot and points with legend

plot(carat ~ clarity,
     data=subset(diamonds, cut == "Good"))
points(carat ~ clarity, col="red",
       data=subset(diamonds, cut == "Ideal"))
legend(0,3,
       c("Good", "Ideal"), title="cut",
       col=c("black", "red"),
       pch=c(1, 1))

plot of chunk unnamed-chunk-39

ggplot2

ggplot(subset(diamonds, cut %in% c("Good", "Ideal")),
       aes(x=clarity,
           y=carat,
           color=cut))+
  geom_point()

plot of chunk unnamed-chunk-40

Symbols

## A look at all 25 symbols
df2 <- data.frame(x = 1:5 , y = 1:25, z = 1:25)
s <- ggplot(df2, aes(x = x, y = y))
s + geom_point(aes(shape = z), size = 4) + scale_shape_identity()

plot of chunk unnamed-chunk-41

## While all symbols have a foreground colour, symbols 19-25 also take a
## background colour (fill)
s + geom_point(aes(shape = z), size = 4, colour = "Red") +
  scale_shape_identity()

plot of chunk unnamed-chunk-41

s + geom_point(aes(shape = z), size = 4, colour = "Red", fill = "Black") +
  scale_shape_identity()

plot of chunk unnamed-chunk-41

ColorBrewer2

Manipulate

Kable

library(knitr)
kable(head(iris), format = "latex")

\begin{tabular}{r|r|r|r|l} \hline Sepal.Length & Sepal.Width & Petal.Length & Petal.Width & Species\ \hline 5.1 & 3.5 & 1.4 & 0.2 & setosa\ \hline 4.9 & 3.0 & 1.4 & 0.2 & setosa\ \hline 4.7 & 3.2 & 1.3 & 0.2 & setosa\ \hline 4.6 & 3.1 & 1.5 & 0.2 & setosa\ \hline 5.0 & 3.6 & 1.4 & 0.2 & setosa\ \hline 5.4 & 3.9 & 1.7 & 0.4 & setosa\ \hline \end{tabular}

kable(head(iris), format = "html")
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa

Tables

library(xtable)

options(xtable.floating = FALSE)
options(xtable.timestamp = "")

data(tli)

xtable(tli[1:10, ])
% latex table generated in R 3.3.0 by xtable 1.8-2 package
% 
\begin{tabular}{rrlllr}
  \hline
 & grade & sex & disadvg & ethnicty & tlimth \\ 
  \hline
1 &   6 & M & YES & HISPANIC &  43 \\ 
  2 &   7 & M & NO & BLACK &  88 \\ 
  3 &   5 & F & YES & HISPANIC &  34 \\ 
  4 &   3 & M & YES & HISPANIC &  65 \\ 
  5 &   8 & M & YES & WHITE &  75 \\ 
  6 &   5 & M & NO & BLACK &  74 \\ 
  7 &   8 & F & YES & HISPANIC &  72 \\ 
  8 &   4 & M & YES & BLACK &  79 \\ 
  9 &   6 & M & NO & WHITE &  88 \\ 
  10 &   7 & M & YES & HISPANIC &  87 \\ 
   \hline
\end{tabular}

GLMs

fm3 <- glm(disadvg ~ ethnicty*grade, data = tli, family = binomial)
xtable(fm3)
% latex table generated in R 3.3.0 by xtable 1.8-2 package
% 
\begin{tabular}{rrrrr}
  \hline
 & Estimate & Std. Error & z value & Pr($>$$|$z$|$) \\ 
  \hline
(Intercept) & 3.1888 & 1.5966 & 2.00 & 0.0458 \\ 
  ethnictyHISPANIC & -0.2848 & 2.4808 & -0.11 & 0.9086 \\ 
  ethnictyOTHER & 212.1701 & 22122.7093 & 0.01 & 0.9923 \\ 
  ethnictyWHITE & -8.8150 & 3.3355 & -2.64 & 0.0082 \\ 
  grade & -0.5308 & 0.2892 & -1.84 & 0.0665 \\ 
  ethnictyHISPANIC:grade & 0.2448 & 0.4357 & 0.56 & 0.5742 \\ 
  ethnictyOTHER:grade & -32.6014 & 3393.4687 & -0.01 & 0.9923 \\ 
  ethnictyWHITE:grade & 1.0171 & 0.5185 & 1.96 & 0.0498 \\ 
   \hline
\end{tabular}

Flat tables

data(mtcars)
mtcars$cyl <- factor(mtcars$cyl, levels = c("4","6","8"),
labels = c("four","six","eight"))
tbl <- ftable(?, row.vars = c(2, 4), dnn = c("Cylinders", "V/S", "Transmission", "Gears"))
tbl
xftbl <- xtableFtable(tbl)
print.xtableFtable(xftbl)
          Cylinders    four    six    eight   
          Transmission    0  1   0  1     0  1
V/S Gears                                     
0   3                     0  0   0  0    12  0
    4                     0  0   0  2     0  0
    5                     0  1   0  1     0  2
1   3                     1  0   2  0     0  0
    4                     2  6   2  0     0  0
    5                     0  1   0  0     0  0
% latex table generated in R 3.3.0 by xtable 1.8-2 package
% 
\begin{tabular}{lll |rrrrrr}
  \hline
     &       & Cylinders    & \multicolumn{1}{l}{ four} & \multicolumn{1}{l}{   } & \multicolumn{1}{l}{ six} & \multicolumn{1}{l}{   } & \multicolumn{1}{l}{ eight} & \multicolumn{1}{l}{   } \\ 
      &       & Transmission & \multicolumn{1}{l}{    0} & \multicolumn{1}{l}{  1} & \multicolumn{1}{l}{   0} & \multicolumn{1}{l}{  1} & \multicolumn{1}{l}{     0} & \multicolumn{1}{l}{  1} \\ 
  V/S & Gears &              & \multicolumn{1}{l}{     } & \multicolumn{1}{l}{   } & \multicolumn{1}{l}{    } & \multicolumn{1}{l}{   } & \multicolumn{1}{l}{      } & \multicolumn{1}{l}{   } \\ 
   \hline
0   & 3     &              &    0 &  0 &   0 &  0 &    12 &  0 \\ 
      & 4     &              &    0 &  0 &   0 &  2 &     0 &  0 \\ 
      & 5     &              &    0 &  1 &   0 &  1 &     0 &  2 \\ 
  1   & 3     &              &    1 &  0 &   2 &  0 &     0 &  0 \\ 
      & 4     &              &    2 &  6 &   2 &  0 &     0 &  0 \\ 
      & 5     &              &    0 &  1 &   0 &  0 &     0 &  0 \\ 
   \hline
\end{tabular}

Flat tables

data(mtcars)
mtcars$cyl <- factor(mtcars$cyl, levels = c("4","6","8"),
labels = c("four","six","eight"))
tbl <- ftable(mtcars$cyl, mtcars$vs, mtcars$am, mtcars$gear, row.vars = c(2, 4), dnn = c("Cylinders", "V/S", "Transmission", "Gears"))
tbl
          Cylinders    four    six    eight   
          Transmission    0  1   0  1     0  1
V/S Gears                                     
0   3                     0  0   0  0    12  0
    4                     0  0   0  2     0  0
    5                     0  1   0  1     0  2
1   3                     1  0   2  0     0  0
    4                     2  6   2  0     0  0
    5                     0  1   0  0     0  0
xftbl <- xtableFtable(tbl)
print.xtableFtable(xftbl)
% latex table generated in R 3.3.0 by xtable 1.8-2 package
% 
\begin{tabular}{lll |rrrrrr}
  \hline
     &       & Cylinders    & \multicolumn{1}{l}{ four} & \multicolumn{1}{l}{   } & \multicolumn{1}{l}{ six} & \multicolumn{1}{l}{   } & \multicolumn{1}{l}{ eight} & \multicolumn{1}{l}{   } \\ 
      &       & Transmission & \multicolumn{1}{l}{    0} & \multicolumn{1}{l}{  1} & \multicolumn{1}{l}{   0} & \multicolumn{1}{l}{  1} & \multicolumn{1}{l}{     0} & \multicolumn{1}{l}{  1} \\ 
  V/S & Gears &              & \multicolumn{1}{l}{     } & \multicolumn{1}{l}{   } & \multicolumn{1}{l}{    } & \multicolumn{1}{l}{   } & \multicolumn{1}{l}{      } & \multicolumn{1}{l}{   } \\ 
   \hline
0   & 3     &              &    0 &  0 &   0 &  0 &    12 &  0 \\ 
      & 4     &              &    0 &  0 &   0 &  2 &     0 &  0 \\ 
      & 5     &              &    0 &  1 &   0 &  1 &     0 &  2 \\ 
  1   & 3     &              &    1 &  0 &   2 &  0 &     0 &  0 \\ 
      & 4     &              &    2 &  6 &   2 &  0 &     0 &  0 \\ 
      & 5     &              &    0 &  1 &   0 &  0 &     0 &  0 \\ 
   \hline
\end{tabular}

Markdown tables

library(pander)
pandoc.table(tli)

-------------------------------------------
 grade   sex   disadvg   ethnicty   tlimth 
------- ----- --------- ---------- --------
   6      M      YES     HISPANIC     43   

   7      M      NO       BLACK       88   

   5      F      YES     HISPANIC     34   

   3      M      YES     HISPANIC     65   

   8      M      YES      WHITE       75   

   5      M      NO       BLACK       74   

   8      F      YES     HISPANIC     72   

   4      M      YES      BLACK       79   

   6      M      NO       WHITE       88   

   7      M      YES     HISPANIC     87   

   3      M      NO       WHITE       79   

   6      F      NO       WHITE       84   

   8      M      NO       WHITE       90   

   5      M      NO       WHITE       73   

   8      F      NO       WHITE       72   

   6      F      NO       BLACK       82   

   4      M      NO       WHITE       69   

   3      F      YES     HISPANIC     17   

   3      M      NO      HISPANIC     37   

   5      M      NO       WHITE       70   

   6      M      NO       WHITE       90   

   6      F      NO       WHITE       91   

   5      F      NO       WHITE       50   

   7      M      NO       WHITE       83   

   4      F      YES      BLACK       58   

   4      M      YES     HISPANIC     85   

   7      F      NO       WHITE       52   

   5      M      NO       WHITE       86   

   4      F      YES      BLACK       79   

   8      M      NO       WHITE       48   

   4      F      NO       BLACK       63   

   8      F      YES      WHITE       88   

   3      F      YES     HISPANIC     76   

   7      M      NO       WHITE       79   

   8      M      NO       WHITE       87   

   6      F      NO      HISPANIC     80   

   7      F      NO       WHITE       66   

   4      F      NO       WHITE       68   

   6      M      NO       WHITE       92   

   7      F      NO       WHITE       57   

   8      F      NO       WHITE       57   

   4      F      NO       WHITE       66   

   7      F      NO       BLACK       88   

   8      F      NO       BLACK       59   

   6      F      NO       WHITE       87   

   4      M      YES      BLACK       59   

   7      M      NO       WHITE       88   

   6      M      NO      HISPANIC     75   

   5      M      YES     HISPANIC     93   

   7      M      YES      BLACK       77   

   3      M      NO       WHITE       85   

   3      F      NO       WHITE       84   

   6      M      NO       WHITE       91   

   6      M      NO       WHITE       80   

   3      M      YES      BLACK       80   

   7      F      NO       WHITE       90   

   7      F      NO       BLACK       85   

   5      F      YES     HISPANIC     63   

   4      F      NO       WHITE       91   

   6      M      NO       BLACK       59   

   6      M      YES      WHITE       85   

   7      F      NO       OTHER       92   

   8      M      NO      HISPANIC     51   

   6      F      YES      OTHER       87   

   6      M      NO       WHITE       92   

   8      F      NO       WHITE       85   

   8      M      YES      BLACK       47   

   4      F      NO       WHITE       78   

   8      M      YES     HISPANIC     86   

   7      M      NO       WHITE       86   

   3      F      NO       BLACK       67   

   3      M      YES      BLACK       64   

   5      M      YES     HISPANIC     86   

   5      F      NO       WHITE       80   

   4      M      YES      BLACK       81   

   3      M      NO       WHITE       70   

   8      F      NO       WHITE       82   

   5      F      NO       WHITE       69   

   7      F      NO       WHITE       79   

   3      F      YES      BLACK       67   

   6      F      NO       WHITE       91   

   3      F      YES     HISPANIC     91   

   4      F      YES     HISPANIC     78   

   5      F      NO       WHITE       86   

   4      F      NO       WHITE       87   

   7      F      NO       WHITE       83   

   5      F      NO       WHITE       93   

   3      M      YES      BLACK       70   

   4      M      YES      BLACK       86   

   6      F      YES      BLACK       87   

   6      F      NO       WHITE       83   

   6      F      YES      BLACK       75   

   6      M      NO       WHITE       88   

   5      M      NO       WHITE       91   

   3      M      YES     HISPANIC     89   

   7      F      NO       WHITE       91   

   5      F      YES      WHITE       79   

   7      M      NO       WHITE       83   

   6      M      YES     HISPANIC     78   

   6      F      NO       WHITE       84   
-------------------------------------------
pandoc.table(tli, style="rmarkdown")


|  grade  |  sex  |  disadvg  |  ethnicty  |  tlimth  |
|:-------:|:-----:|:---------:|:----------:|:--------:|
|    6    |   M   |    YES    |  HISPANIC  |    43    |
|    7    |   M   |    NO     |   BLACK    |    88    |
|    5    |   F   |    YES    |  HISPANIC  |    34    |
|    3    |   M   |    YES    |  HISPANIC  |    65    |
|    8    |   M   |    YES    |   WHITE    |    75    |
|    5    |   M   |    NO     |   BLACK    |    74    |
|    8    |   F   |    YES    |  HISPANIC  |    72    |
|    4    |   M   |    YES    |   BLACK    |    79    |
|    6    |   M   |    NO     |   WHITE    |    88    |
|    7    |   M   |    YES    |  HISPANIC  |    87    |
|    3    |   M   |    NO     |   WHITE    |    79    |
|    6    |   F   |    NO     |   WHITE    |    84    |
|    8    |   M   |    NO     |   WHITE    |    90    |
|    5    |   M   |    NO     |   WHITE    |    73    |
|    8    |   F   |    NO     |   WHITE    |    72    |
|    6    |   F   |    NO     |   BLACK    |    82    |
|    4    |   M   |    NO     |   WHITE    |    69    |
|    3    |   F   |    YES    |  HISPANIC  |    17    |
|    3    |   M   |    NO     |  HISPANIC  |    37    |
|    5    |   M   |    NO     |   WHITE    |    70    |
|    6    |   M   |    NO     |   WHITE    |    90    |
|    6    |   F   |    NO     |   WHITE    |    91    |
|    5    |   F   |    NO     |   WHITE    |    50    |
|    7    |   M   |    NO     |   WHITE    |    83    |
|    4    |   F   |    YES    |   BLACK    |    58    |
|    4    |   M   |    YES    |  HISPANIC  |    85    |
|    7    |   F   |    NO     |   WHITE    |    52    |
|    5    |   M   |    NO     |   WHITE    |    86    |
|    4    |   F   |    YES    |   BLACK    |    79    |
|    8    |   M   |    NO     |   WHITE    |    48    |
|    4    |   F   |    NO     |   BLACK    |    63    |
|    8    |   F   |    YES    |   WHITE    |    88    |
|    3    |   F   |    YES    |  HISPANIC  |    76    |
|    7    |   M   |    NO     |   WHITE    |    79    |
|    8    |   M   |    NO     |   WHITE    |    87    |
|    6    |   F   |    NO     |  HISPANIC  |    80    |
|    7    |   F   |    NO     |   WHITE    |    66    |
|    4    |   F   |    NO     |   WHITE    |    68    |
|    6    |   M   |    NO     |   WHITE    |    92    |
|    7    |   F   |    NO     |   WHITE    |    57    |
|    8    |   F   |    NO     |   WHITE    |    57    |
|    4    |   F   |    NO     |   WHITE    |    66    |
|    7    |   F   |    NO     |   BLACK    |    88    |
|    8    |   F   |    NO     |   BLACK    |    59    |
|    6    |   F   |    NO     |   WHITE    |    87    |
|    4    |   M   |    YES    |   BLACK    |    59    |
|    7    |   M   |    NO     |   WHITE    |    88    |
|    6    |   M   |    NO     |  HISPANIC  |    75    |
|    5    |   M   |    YES    |  HISPANIC  |    93    |
|    7    |   M   |    YES    |   BLACK    |    77    |
|    3    |   M   |    NO     |   WHITE    |    85    |
|    3    |   F   |    NO     |   WHITE    |    84    |
|    6    |   M   |    NO     |   WHITE    |    91    |
|    6    |   M   |    NO     |   WHITE    |    80    |
|    3    |   M   |    YES    |   BLACK    |    80    |
|    7    |   F   |    NO     |   WHITE    |    90    |
|    7    |   F   |    NO     |   BLACK    |    85    |
|    5    |   F   |    YES    |  HISPANIC  |    63    |
|    4    |   F   |    NO     |   WHITE    |    91    |
|    6    |   M   |    NO     |   BLACK    |    59    |
|    6    |   M   |    YES    |   WHITE    |    85    |
|    7    |   F   |    NO     |   OTHER    |    92    |
|    8    |   M   |    NO     |  HISPANIC  |    51    |
|    6    |   F   |    YES    |   OTHER    |    87    |
|    6    |   M   |    NO     |   WHITE    |    92    |
|    8    |   F   |    NO     |   WHITE    |    85    |
|    8    |   M   |    YES    |   BLACK    |    47    |
|    4    |   F   |    NO     |   WHITE    |    78    |
|    8    |   M   |    YES    |  HISPANIC  |    86    |
|    7    |   M   |    NO     |   WHITE    |    86    |
|    3    |   F   |    NO     |   BLACK    |    67    |
|    3    |   M   |    YES    |   BLACK    |    64    |
|    5    |   M   |    YES    |  HISPANIC  |    86    |
|    5    |   F   |    NO     |   WHITE    |    80    |
|    4    |   M   |    YES    |   BLACK    |    81    |
|    3    |   M   |    NO     |   WHITE    |    70    |
|    8    |   F   |    NO     |   WHITE    |    82    |
|    5    |   F   |    NO     |   WHITE    |    69    |
|    7    |   F   |    NO     |   WHITE    |    79    |
|    3    |   F   |    YES    |   BLACK    |    67    |
|    6    |   F   |    NO     |   WHITE    |    91    |
|    3    |   F   |    YES    |  HISPANIC  |    91    |
|    4    |   F   |    YES    |  HISPANIC  |    78    |
|    5    |   F   |    NO     |   WHITE    |    86    |
|    4    |   F   |    NO     |   WHITE    |    87    |
|    7    |   F   |    NO     |   WHITE    |    83    |
|    5    |   F   |    NO     |   WHITE    |    93    |
|    3    |   M   |    YES    |   BLACK    |    70    |
|    4    |   M   |    YES    |   BLACK    |    86    |
|    6    |   F   |    YES    |   BLACK    |    87    |
|    6    |   F   |    NO     |   WHITE    |    83    |
|    6    |   F   |    YES    |   BLACK    |    75    |
|    6    |   M   |    NO     |   WHITE    |    88    |
|    5    |   M   |    NO     |   WHITE    |    91    |
|    3    |   M   |    YES    |  HISPANIC  |    89    |
|    7    |   F   |    NO     |   WHITE    |    91    |
|    5    |   F   |    YES    |   WHITE    |    79    |
|    7    |   M   |    NO     |   WHITE    |    83    |
|    6    |   M   |    YES    |  HISPANIC  |    78    |
|    6    |   F   |    NO     |   WHITE    |    84    |

Other HTML table

library("htmlTable")
htmlTable(tli)
grade sex disadvg ethnicty tlimth
1 6 M YES HISPANIC 43
2 7 M NO BLACK 88
3 5 F YES HISPANIC 34
4 3 M YES HISPANIC 65
5 8 M YES WHITE 75
6 5 M NO BLACK 74
7 8 F YES HISPANIC 72
8 4 M YES BLACK 79
9 6 M NO WHITE 88
10 7 M YES HISPANIC 87
11 3 M NO WHITE 79
12 6 F NO WHITE 84
13 8 M NO WHITE 90
14 5 M NO WHITE 73
15 8 F NO WHITE 72
16 6 F NO BLACK 82
17 4 M NO WHITE 69
18 3 F YES HISPANIC 17
19 3 M NO HISPANIC 37
20 5 M NO WHITE 70
21 6 M NO WHITE 90
22 6 F NO WHITE 91
23 5 F NO WHITE 50
24 7 M NO WHITE 83
25 4 F YES BLACK 58
26 4 M YES HISPANIC 85
27 7 F NO WHITE 52
28 5 M NO WHITE 86
29 4 F YES BLACK 79
30 8 M NO WHITE 48
31 4 F NO BLACK 63
32 8 F YES WHITE 88
33 3 F YES HISPANIC 76
34 7 M NO WHITE 79
35 8 M NO WHITE 87
36 6 F NO HISPANIC 80
37 7 F NO WHITE 66
38 4 F NO WHITE 68
39 6 M NO WHITE 92
40 7 F NO WHITE 57
41 8 F NO WHITE 57
42 4 F NO WHITE 66
43 7 F NO BLACK 88
44 8 F NO BLACK 59
45 6 F NO WHITE 87
46 4 M YES BLACK 59
47 7 M NO WHITE 88
48 6 M NO HISPANIC 75
49 5 M YES HISPANIC 93
50 7 M YES BLACK 77
51 3 M NO WHITE 85
52 3 F NO WHITE 84
53 6 M NO WHITE 91
54 6 M NO WHITE 80
55 3 M YES BLACK 80
56 7 F NO WHITE 90
57 7 F NO BLACK 85
58 5 F YES HISPANIC 63
59 4 F NO WHITE 91
60 6 M NO BLACK 59
61 6 M YES WHITE 85
62 7 F NO OTHER 92
63 8 M NO HISPANIC 51
64 6 F YES OTHER 87
65 6 M NO WHITE 92
66 8 F NO WHITE 85
67 8 M YES BLACK 47
68 4 F NO WHITE 78
69 8 M YES HISPANIC 86
70 7 M NO WHITE 86
71 3 F NO BLACK 67
72 3 M YES BLACK 64
73 5 M YES HISPANIC 86
74 5 F NO WHITE 80
75 4 M YES BLACK 81
76 3 M NO WHITE 70
77 8 F NO WHITE 82
78 5 F NO WHITE 69
79 7 F NO WHITE 79
80 3 F YES BLACK 67
81 6 F NO WHITE 91
82 3 F YES HISPANIC 91
83 4 F YES HISPANIC 78
84 5 F NO WHITE 86
85 4 F NO WHITE 87
86 7 F NO WHITE 83
87 5 F NO WHITE 93
88 3 M YES BLACK 70
89 4 M YES BLACK 86
90 6 F YES BLACK 87
91 6 F NO WHITE 83
92 6 F YES BLACK 75
93 6 M NO WHITE 88
94 5 M NO WHITE 91
95 3 M YES HISPANIC 89
96 7 F NO WHITE 91
97 5 F YES WHITE 79
98 7 M NO WHITE 83
99 6 M YES HISPANIC 78
100 6 F NO WHITE 84
library(hwriter)
hwrite(tli, border=0)
[1] "<table border=\"0\">\n<tr>\n<td>grade</td><td>sex</td><td>disadvg</td><td>ethnicty</td><td>tlimth</td></tr>\n<tr>\n<td>6</td><td>M</td><td>YES</td><td>HISPANIC</td><td>43</td></tr>\n<tr>\n<td>7</td><td>M</td><td>NO</td><td>BLACK</td><td>88</td></tr>\n<tr>\n<td>5</td><td>F</td><td>YES</td><td>HISPANIC</td><td>34</td></tr>\n<tr>\n<td>3</td><td>M</td><td>YES</td><td>HISPANIC</td><td>65</td></tr>\n<tr>\n<td>8</td><td>M</td><td>YES</td><td>WHITE</td><td>75</td></tr>\n<tr>\n<td>5</td><td>M</td><td>NO</td><td>BLACK</td><td>74</td></tr>\n<tr>\n<td>8</td><td>F</td><td>YES</td><td>HISPANIC</td><td>72</td></tr>\n<tr>\n<td>4</td><td>M</td><td>YES</td><td>BLACK</td><td>79</td></tr>\n<tr>\n<td>6</td><td>M</td><td>NO</td><td>WHITE</td><td>88</td></tr>\n<tr>\n<td>7</td><td>M</td><td>YES</td><td>HISPANIC</td><td>87</td></tr>\n<tr>\n<td>3</td><td>M</td><td>NO</td><td>WHITE</td><td>79</td></tr>\n<tr>\n<td>6</td><td>F</td><td>NO</td><td>WHITE</td><td>84</td></tr>\n<tr>\n<td>8</td><td>M</td><td>NO</td><td>WHITE</td><td>90</td></tr>\n<tr>\n<td>5</td><td>M</td><td>NO</td><td>WHITE</td><td>73</td></tr>\n<tr>\n<td>8</td><td>F</td><td>NO</td><td>WHITE</td><td>72</td></tr>\n<tr>\n<td>6</td><td>F</td><td>NO</td><td>BLACK</td><td>82</td></tr>\n<tr>\n<td>4</td><td>M</td><td>NO</td><td>WHITE</td><td>69</td></tr>\n<tr>\n<td>3</td><td>F</td><td>YES</td><td>HISPANIC</td><td>17</td></tr>\n<tr>\n<td>3</td><td>M</td><td>NO</td><td>HISPANIC</td><td>37</td></tr>\n<tr>\n<td>5</td><td>M</td><td>NO</td><td>WHITE</td><td>70</td></tr>\n<tr>\n<td>6</td><td>M</td><td>NO</td><td>WHITE</td><td>90</td></tr>\n<tr>\n<td>6</td><td>F</td><td>NO</td><td>WHITE</td><td>91</td></tr>\n<tr>\n<td>5</td><td>F</td><td>NO</td><td>WHITE</td><td>50</td></tr>\n<tr>\n<td>7</td><td>M</td><td>NO</td><td>WHITE</td><td>83</td></tr>\n<tr>\n<td>4</td><td>F</td><td>YES</td><td>BLACK</td><td>58</td></tr>\n<tr>\n<td>4</td><td>M</td><td>YES</td><td>HISPANIC</td><td>85</td></tr>\n<tr>\n<td>7</td><td>F</td><td>NO</td><td>WHITE</td><td>52</td></tr>\n<tr>\n<td>5</td><td>M</td><td>NO</td><td>WHITE</td><td>86</td></tr>\n<tr>\n<td>4</td><td>F</td><td>YES</td><td>BLACK</td><td>79</td></tr>\n<tr>\n<td>8</td><td>M</td><td>NO</td><td>WHITE</td><td>48</td></tr>\n<tr>\n<td>4</td><td>F</td><td>NO</td><td>BLACK</td><td>63</td></tr>\n<tr>\n<td>8</td><td>F</td><td>YES</td><td>WHITE</td><td>88</td></tr>\n<tr>\n<td>3</td><td>F</td><td>YES</td><td>HISPANIC</td><td>76</td></tr>\n<tr>\n<td>7</td><td>M</td><td>NO</td><td>WHITE</td><td>79</td></tr>\n<tr>\n<td>8</td><td>M</td><td>NO</td><td>WHITE</td><td>87</td></tr>\n<tr>\n<td>6</td><td>F</td><td>NO</td><td>HISPANIC</td><td>80</td></tr>\n<tr>\n<td>7</td><td>F</td><td>NO</td><td>WHITE</td><td>66</td></tr>\n<tr>\n<td>4</td><td>F</td><td>NO</td><td>WHITE</td><td>68</td></tr>\n<tr>\n<td>6</td><td>M</td><td>NO</td><td>WHITE</td><td>92</td></tr>\n<tr>\n<td>7</td><td>F</td><td>NO</td><td>WHITE</td><td>57</td></tr>\n<tr>\n<td>8</td><td>F</td><td>NO</td><td>WHITE</td><td>57</td></tr>\n<tr>\n<td>4</td><td>F</td><td>NO</td><td>WHITE</td><td>66</td></tr>\n<tr>\n<td>7</td><td>F</td><td>NO</td><td>BLACK</td><td>88</td></tr>\n<tr>\n<td>8</td><td>F</td><td>NO</td><td>BLACK</td><td>59</td></tr>\n<tr>\n<td>6</td><td>F</td><td>NO</td><td>WHITE</td><td>87</td></tr>\n<tr>\n<td>4</td><td>M</td><td>YES</td><td>BLACK</td><td>59</td></tr>\n<tr>\n<td>7</td><td>M</td><td>NO</td><td>WHITE</td><td>88</td></tr>\n<tr>\n<td>6</td><td>M</td><td>NO</td><td>HISPANIC</td><td>75</td></tr>\n<tr>\n<td>5</td><td>M</td><td>YES</td><td>HISPANIC</td><td>93</td></tr>\n<tr>\n<td>7</td><td>M</td><td>YES</td><td>BLACK</td><td>77</td></tr>\n<tr>\n<td>3</td><td>M</td><td>NO</td><td>WHITE</td><td>85</td></tr>\n<tr>\n<td>3</td><td>F</td><td>NO</td><td>WHITE</td><td>84</td></tr>\n<tr>\n<td>6</td><td>M</td><td>NO</td><td>WHITE</td><td>91</td></tr>\n<tr>\n<td>6</td><td>M</td><td>NO</td><td>WHITE</td><td>80</td></tr>\n<tr>\n<td>3</td><td>M</td><td>YES</td><td>BLACK</td><td>80</td></tr>\n<tr>\n<td>7</td><td>F</td><td>NO</td><td>WHITE</td><td>90</td></tr>\n<tr>\n<td>7</td><td>F</td><td>NO</td><td>BLACK</td><td>85</td></tr>\n<tr>\n<td>5</td><td>F</td><td>YES</td><td>HISPANIC</td><td>63</td></tr>\n<tr>\n<td>4</td><td>F</td><td>NO</td><td>WHITE</td><td>91</td></tr>\n<tr>\n<td>6</td><td>M</td><td>NO</td><td>BLACK</td><td>59</td></tr>\n<tr>\n<td>6</td><td>M</td><td>YES</td><td>WHITE</td><td>85</td></tr>\n<tr>\n<td>7</td><td>F</td><td>NO</td><td>OTHER</td><td>92</td></tr>\n<tr>\n<td>8</td><td>M</td><td>NO</td><td>HISPANIC</td><td>51</td></tr>\n<tr>\n<td>6</td><td>F</td><td>YES</td><td>OTHER</td><td>87</td></tr>\n<tr>\n<td>6</td><td>M</td><td>NO</td><td>WHITE</td><td>92</td></tr>\n<tr>\n<td>8</td><td>F</td><td>NO</td><td>WHITE</td><td>85</td></tr>\n<tr>\n<td>8</td><td>M</td><td>YES</td><td>BLACK</td><td>47</td></tr>\n<tr>\n<td>4</td><td>F</td><td>NO</td><td>WHITE</td><td>78</td></tr>\n<tr>\n<td>8</td><td>M</td><td>YES</td><td>HISPANIC</td><td>86</td></tr>\n<tr>\n<td>7</td><td>M</td><td>NO</td><td>WHITE</td><td>86</td></tr>\n<tr>\n<td>3</td><td>F</td><td>NO</td><td>BLACK</td><td>67</td></tr>\n<tr>\n<td>3</td><td>M</td><td>YES</td><td>BLACK</td><td>64</td></tr>\n<tr>\n<td>5</td><td>M</td><td>YES</td><td>HISPANIC</td><td>86</td></tr>\n<tr>\n<td>5</td><td>F</td><td>NO</td><td>WHITE</td><td>80</td></tr>\n<tr>\n<td>4</td><td>M</td><td>YES</td><td>BLACK</td><td>81</td></tr>\n<tr>\n<td>3</td><td>M</td><td>NO</td><td>WHITE</td><td>70</td></tr>\n<tr>\n<td>8</td><td>F</td><td>NO</td><td>WHITE</td><td>82</td></tr>\n<tr>\n<td>5</td><td>F</td><td>NO</td><td>WHITE</td><td>69</td></tr>\n<tr>\n<td>7</td><td>F</td><td>NO</td><td>WHITE</td><td>79</td></tr>\n<tr>\n<td>3</td><td>F</td><td>YES</td><td>BLACK</td><td>67</td></tr>\n<tr>\n<td>6</td><td>F</td><td>NO</td><td>WHITE</td><td>91</td></tr>\n<tr>\n<td>3</td><td>F</td><td>YES</td><td>HISPANIC</td><td>91</td></tr>\n<tr>\n<td>4</td><td>F</td><td>YES</td><td>HISPANIC</td><td>78</td></tr>\n<tr>\n<td>5</td><td>F</td><td>NO</td><td>WHITE</td><td>86</td></tr>\n<tr>\n<td>4</td><td>F</td><td>NO</td><td>WHITE</td><td>87</td></tr>\n<tr>\n<td>7</td><td>F</td><td>NO</td><td>WHITE</td><td>83</td></tr>\n<tr>\n<td>5</td><td>F</td><td>NO</td><td>WHITE</td><td>93</td></tr>\n<tr>\n<td>3</td><td>M</td><td>YES</td><td>BLACK</td><td>70</td></tr>\n<tr>\n<td>4</td><td>M</td><td>YES</td><td>BLACK</td><td>86</td></tr>\n<tr>\n<td>6</td><td>F</td><td>YES</td><td>BLACK</td><td>87</td></tr>\n<tr>\n<td>6</td><td>F</td><td>NO</td><td>WHITE</td><td>83</td></tr>\n<tr>\n<td>6</td><td>F</td><td>YES</td><td>BLACK</td><td>75</td></tr>\n<tr>\n<td>6</td><td>M</td><td>NO</td><td>WHITE</td><td>88</td></tr>\n<tr>\n<td>5</td><td>M</td><td>NO</td><td>WHITE</td><td>91</td></tr>\n<tr>\n<td>3</td><td>M</td><td>YES</td><td>HISPANIC</td><td>89</td></tr>\n<tr>\n<td>7</td><td>F</td><td>NO</td><td>WHITE</td><td>91</td></tr>\n<tr>\n<td>5</td><td>F</td><td>YES</td><td>WHITE</td><td>79</td></tr>\n<tr>\n<td>7</td><td>M</td><td>NO</td><td>WHITE</td><td>83</td></tr>\n<tr>\n<td>6</td><td>M</td><td>YES</td><td>HISPANIC</td><td>78</td></tr>\n<tr>\n<td>6</td><td>F</td><td>NO</td><td>WHITE</td><td>84</td></tr>\n</table>\n"