Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

R chunk code stay inside the Beamer frame

Tags:

r

knitr

beamer

Here is my MWE code.

\documentclass{beamer}
\begin{document}

<<setup, include=FALSE>>=
# smaller font size for chunks
opts_chunk$set(size = 'footnotesize')
options(width=60)
@


\begin{frame}[fragile]
\frametitle{Test1}

<<boring-random>>=
y <- c(5, 7, 15, 17, 17, 19)
Trt <- gl(n = 3, k = 2, length = 3 * 2, labels = paste("Trt",
1:3, sep = ""), ordered = FALSE)
Data <- data.frame(Trt, y)
Fit1 <- aov(formula = y ~ Trt, data = Data, contrasts = list(Trt = "contr.sum"))
ANOVA1 <- anova(Fit1)
Coeffs1 <- coefficients(Fit1)
@
\end{frame}

\end{document}

enter image description here

I'm struggling to keep the R chunk code within the Beamer frame. I wonder what is the efficient way to manage the R chunk codes such that they stay inside the Beamer frame. Thanks

like image 201
MYaseen208 Avatar asked Nov 17 '12 05:11

MYaseen208


1 Answers

The best approach is to turn off the tidy option by tidy=FALSE, and manually break your lines.

<<boring-random, tidy=FALSE>>=
y <- c(5, 7, 15, 17, 17, 19)
Trt <- gl(n = 3, k = 2, length = 3 * 2, labels = paste("Trt",
  1:3, sep = ""), ordered = FALSE)
Data <- data.frame(Trt, y)
Fit1 <- aov(formula = y ~ Trt, data = Data,
  contrasts = list(Trt = "contr.sum"))
ANOVA1 <- anova(Fit1)
Coeffs1 <- coefficients(Fit1)
@

This will always work. The other way is to set smaller width in options() (knitr FAQ 8), and you probably need to try a few times for an ideal width. In your case, 60 is apparently too big.

like image 111
Yihui Xie Avatar answered Nov 12 '22 06:11

Yihui Xie