Your SlideShare is downloading. ×
0
Mix source code and documentation together                                 A                 Write R code in LTEX using kn...
GoalTo have a single document which includes source code for easy update.                                        A    Use ...
First things    We will use the knitr package which allows you to embed R code and figures       A    in LTEX documents (it...
Write a first document    Open a new ”R Sweave” document in RStudio    You can check that the toolbar now includes Format a...
What to put in code chunksAny code that you want to evaluate / not to evaluate, or show / hide: you caneither show the cod...
Number of CRAN Packages                                            100                                                    ...
Number of R packages: now the coderv <- seq(1.3, 2.9, .1)pckg.num <- c(110,129,162,219,273,357,406,548,647,739,911,1000,13...
To show graphs     Use that kind of code chunk<<echo=FALSE,out.width=’.7textwidth’,fig=TRUE,include=TRUE>>=library(ggplot2...
To show graphs: result                                      100                               dist                        ...
To show data tables     Use that kind of code chunk<<echo=FALSE,results=asis>>=load(file="data.Rdata")row.names(data) = c(...
Upcoming SlideShare
Loading in...5
×

R in latex

20,641

Published on

Transcript of "R in latex"

  1. 1. Mix source code and documentation together A Write R code in LTEX using knitr, xtable and RStudio Julyan Arbel CREST-INSEE, Universit´ Paris-Dauphine e February 28, 2013Julyan Arbel (CREST-INSEE) R code in L EX AT February 28, 2013 1 / 10
  2. 2. GoalTo have a single document which includes source code for easy update. A Use a single software: R interfaces LTEX, as it does with C++, JAGS, (Word, Excel?), etc. Julyan Arbel (CREST-INSEE) R code in L EX AT February 28, 2013 2 / 10
  3. 3. First things We will use the knitr package which allows you to embed R code and figures A in LTEX documents (it is an evolution of Sweave). See the package homepage http://yihui.name/knitr/ A You need a valid LTEX distribution We will use knitr in RStudio, because it’s well integrated in itinstall.packages("knitr")library("knitr") Julyan Arbel (CREST-INSEE) R code in L EX AT February 28, 2013 3 / 10
  4. 4. Write a first document Open a new ”R Sweave” document in RStudio You can check that the toolbar now includes Format and Compile PDF buttonsdocumentclass{article}begin{document}end{document} Write your text, and insert code chunks [Ctrl+Alt+I] for graphs or tables. A code chunk consists in R code inside the following lines (mind to write both on single lines, with no comment) <<>>= @ code values in the text with Compile [Ctrl+Shift+I] Julyan Arbel (CREST-INSEE) R code in L EX AT February 28, 2013 4 / 10
  5. 5. What to put in code chunksAny code that you want to evaluate / not to evaluate, or show / hide: you caneither show the code, or its result, or both. Functions Graphs Tables Global options Set working directory, etc. Julyan Arbel (CREST-INSEE) R code in L EX AT February 28, 2013 5 / 10
  6. 6. Number of CRAN Packages 100 200 300 400 500 600 800 1200 1500 2000 2001−06−21 1.3 Julyan Arbel (CREST-INSEE) 2001−12−17 1.4 2002−06−12 1.5 2003−05−27 1.7 2003−11−16 1.8 2004−06−05 1.9 2004−10−12 2 Number of R packages (lien) 2005−06−18 2.1 ATR code in L EX 2005−12−16 2.2 R Version 2006−05−31 2.3 2006−12−12 2.4 2007−04−12 2.5 2007−11−16 2.6 2008−03−18 2.7 2008−10−18 2.8 2009−09−17 2.9 110 129 162 219 273 357 406 548 647 739 911 1000 1300 1427 1614 1952 February 28, 2013 6 / 10
  7. 7. Number of R packages: now the coderv <- seq(1.3, 2.9, .1)pckg.num <- c(110,129,162,219,273,357,406,548,647,739,911,1000,1300,rv.dates <- c("2001-6-21", "2001-12-17","2002-06-12","2003-05-27", "2003-11-16","2004-06-05","2004-10-12","2005-06-18","2 "2006-12-12","2007-04-12","2007-11-16","2008-03-18","2pckg.fit <- lm(pckg.num~rv)par(mar=c(7, 5, 5, 3), las=2)plot(as.POSIXct(rv.dates), pckg.num, xlab="",ylab="",col="red", log=axis.POSIXct(1, 1:16, rv.dates, format="%Y-%m-%d")axis(2, at=c(100,200,300,400,500,600,800,100,1200,1500,2000))mtext("Number of CRAN Packages", side=2, line=3, las=3)axis.POSIXct(3, rv.dates, rv.dates, labels=as.character(rv))mtext("R Version", side=3, line=3, las=1)axis(4, pckg.num)abline(v=as.POSIXct(rv.dates), col="lightgray", lty="dashed")abline(h=pckg.num, col="lightgray", lty="dashed")abline(lm(log10(pckg.num)~as.POSIXct(rv.dates)), col="red") Julyan Arbel (CREST-INSEE) R code in L EX AT February 28, 2013 7 / 10
  8. 8. To show graphs Use that kind of code chunk<<echo=FALSE,out.width=’.7textwidth’,fig=TRUE,include=TRUE>>=library(ggplot2)qplot(speed, dist, data=cars)+geom_smooth()@ Julyan Arbel (CREST-INSEE) R code in L EX AT February 28, 2013 8 / 10
  9. 9. To show graphs: result 100 dist 50 0 5 10 15 20 25 speed Julyan Arbel (CREST-INSEE) R code in L EX AT February 28, 2013 9 / 10
  10. 10. To show data tables Use that kind of code chunk<<echo=FALSE,results=asis>>=load(file="data.Rdata")row.names(data) = c(...)library(xtable)tab=xtable(data)digits(tab)=1print(tab,floating=FALSE,include.rownames=TRUE,type="latex")@ Julyan Arbel (CREST-INSEE) R code in L EX AT February 28, 2013 10 / 10
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×