library(R3port)
library(reshape2)
options(show=FALSE)
data(tips)
tips$day <- factor(tips$day,levels=c("Thur","Fri","Sat","Sun" ),ordered = TRUE)
tbl1 <- means(tips,variable="total_bill",by=c("sex","day","time"),total="sex")
head(tbl1,20)
tbl2 <- freq(tips,vars=c("sex","day","time"),total=c("sex","day"),spacechar = "~")
head(tbl2)
ltx_doc("This is just some \\emph{text}")
html_doc("This is just some <em>text</em>")
# output 1
library(xtable)
xtbl <- means(tips,variable="total_bill",by=c("day"))
xtbl_ltx <- print(xtable(xtbl),print.results=FALSE)
ltx_doc(xtbl_ltx,out="out1.tex")
xtbl_html <- print(xtable(xtbl),print.results=FALSE,type="html", html.table.attributes = "class=table")
html_doc(xtbl_html,out="out1.html",
css="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css")
# output 2
lst1 <- means(tips,variable="tip",by=c("sex","day"),pack=2)
lst2 <- means(tips,variable="total_bill",by=c("sex","day"),pack=2)
lst <- merge(lst1,lst2,by=c("sex","day","statistic"))
names(lst)[4:5] <- c("tip","Total Bill")
ltx_list(lst,vargroup=c("","","","income","income"),group = 2, title="a listing",
fill="-",footnote="a footnote",mancol="p{3cm}llll",out="out2.tex")
html_list(lst,vargroup=c("","","","income","income"),group = 2,title="a listing",
fill="-",footnote="a footnote",out="out2.html")
# output 3
ltx_table(tbl1,x=c("sex","statistic"),y=c("day","time"),var="value",
title="total bill statistics",xabove=TRUE,out="out3.tex")
html_table(tbl1,x=c("sex","statistic"),y=c("day","time"),var="value",
title="total bill statistics",xabove=TRUE,out="out3.html")
# output 4
attr(tbl2$sex,"label") <- "Gender"
attr(tbl2$day,"label") <- "Day of the week"
ltx_table(tbl2,x=c("sex","day"),y=c("time"),var="FreqPerc",yhead = TRUE,size="\\normalsize",
title="customer frequency",xabove=TRUE,out="out4.tex",group=1,mancol="lllll",
template=paste0(system.file(package = "R3port"), "/listing.tex"))
# output 5
library(plyr)
tbl3 <- freq(tips,c("sex","day","time"),total=c("day","time"),spacechar = "~")
tbl3$statistic <- factor("N (perc)")
tbl3$value <- tbl3$FreqPerc
tbl3 <- rbind.fill(tbl1,tbl3)
ltx_table(tbl3,x=c("sex","day"),y=c("time","statistic"),var="value",convchar = TRUE,
title="total bill statistics",xabove=TRUE,out="out5.tex",
mancol=paste(rep("l",16),collapse=""),
template=paste0(system.file(package = "R3port"), "/listing.tex"))
# output 6-8
library(ggplot2)
pl <- ggplot(tips,aes(x=day,y=total_bill)) + geom_boxplot()
ltx_plot(pl,out="out6.tex",titlepr = "plot A",title="example for basic plotting",lwidth="0.9\\linewidth")
html_plot(pl,out="out6.html",titlepr = "plot A",title="example for basic plotting")
# you can output a list of plots e.g:
pl <- lapply(unique(tips$sex),function(x){
ggplot(tips[tips$sex==x,],aes(time,total_bill)) + geom_boxplot() +
facet_wrap(~day) + ggtitle(x)
})
ltx_plot(pl,out="out7.tex",titlepr = "plot B",title="example for plotting lists",lwidth="0.9\\linewidth")
html_plot(pl,out="out7.html",titlepr = "plot B",title="example for plotting lists")
# base plots can be used but placed in function:
bpl <- function() plot(tips$day,tips$total_bill)
ltx_plot(bpl(),out="out8.tex",titlepr = "plot C",title="example for base plot",lwidth="0.9\\linewidth")
html_plot(bpl(),out="out8.html",titlepr = "plot C",title="example for base plot")
# Combined report 1
ltx_combine(out="comb1.tex",template=paste0(system.file(package="R3port"),"/default.tex"))
html_combine(out="comb1.html",toctheme=TRUE,
template=paste0(system.file(package="R3port"),"/bootstrap.html"))
# Template reports
tmpl <- list.files(system.file(package="R3port"),pattern="\\.tex$",full.names=TRUE)
lapply(1:length(tmpl),function(x){
ppt <- ifelse(grepl("beamer.tex",tmpl[x]),TRUE,FALSE)
ltx_combine(out=paste0("combt",x,".tex"),template=tmpl[x],presentation=ppt)
})
# Clean files to only keep pdf and html extensions
unlink(list.files(pattern="\\.tex|\\.rawtex|\\.rawhtml"))
file.copy("R3port-vignette.html","index.html")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.