# Posts from the ‘R’ Category

## Highlights of the useR! 2012 – Review of the reviews

It’s gutted that I could not attend useR! 2012 after having a great time at useR!2011 at Warwick.

However, a great active online community of useRs allows me to get lots of goods stuffs from the conference even though I did not attend physically.

By keep following the #useR2012 and #rstats in Twitter and reading some great posts from R-bloggerRs on the useR! 2012, the the highlights I got are an emerging of the reproducible research with knitr package and its integration in R Studio as well as a good collection of pre-conference short course by Bill Venables.

## My Highlights

1. knitr
As expected, many of #useR2012 tweets were about knitr and its creator Yihui Xie. Even though an existence of Sweave which allow one to build a reproducible report by  integrating text and R code into one document, its learning curve is quite steep. For my experience, it took me quite a while to set up emac and ESS and actually produce the first Sweave document. However it seems worth while to learn for the long term benefits of my teaching and research.Moreover, an integration between knitr and R Studio (IDE for R)has taken reproducible report and research to another level as well as expand the wider useRs. With the use of R Studio and knir, one can be able to make a reproducible report and research in minutes as I did. Here is my previous post on reproducible report & research with knitr in R Studio.Back to useR! 2012. It’s very glad to read the presentation by Yihui Xie (knitr) and JJ Allaire (R Studio) on ‘New Tools for Reproducible Research with R’ (slides).
2. R short course
As Frank Harrell mentioned in useR! 2011 that there will be a pre-conference short course, and it was constructed by well-known useR and statistician Bill Venables. I found that one may learn a lot just by reading slides and follow the codes provided in this link.

## Reproducible reports & research with knitr in R Studio

Arguably, knitr (CRAN link) is the most outstanding R package of this year and its creator, Yihui Xie is the star of the useR! conference 2012. This is because the ease of use comparing to Sweave for making reproducible report. Integration of knitR and R Studio has made reproducible research much more convenience, intuitive and easier to use.

R Studio: A user friendly and cross platform IDE for R

Screenshot of R Studio (Windows PC)

This post is an example, based on the demo by Yihui Xie himself, I will show how to create a reproducible report consisting the R code in a LaTeX style in the Cardiff R User Group session at the Cardiff Business School (CARBS) Research Fair tomorrow (19 June 2012).

knitr option for sweave document in R Studio

## In the code

• Lines 001-043 are just normal preamble syntax of the LaTeX code I took from the Template of useR! conference abstract.
• Lines 044-96 are the R codes and descriptions.

A chuck of R code is wrapped in the following code:

<<chunk1, echo=TRUE, results='hide'>>=
@


chunk1 is the name of the chuck

echo = TRUE to show your R code in the chuck, = FALSE if you do not want to show the code.

result = ‘markup’ to show the result unless = ‘hide’

## The code of the whole document is as follow:

\documentclass[11pt, a4paper]{article}
\usepackage{amsfonts, amsmath, hanging, hyperref, natbib, parskip, times}
\hypersetup{
urlcolor=blue
}
\setlength{\topmargin}{-15mm}
\setlength{\oddsidemargin}{-2mm}
\setlength{\textwidth}{165mm}
\setlength{\textheight}{250mm}

\let\section=\subsubsection
\newcommand{\pkg}[1]{{\normalfont\fontseries{b}\selectfont #1}}
\let\proglang=\textit
\let\code=\texttt
\renewcommand{\title}[1]{\begin{center}{\bf \LARGE #1}\end{center}}
\newcommand{\affiliations}{\footnotesize}
\newcommand{\keywords}{\paragraph{Keywords:}}

\begin{document}
\pagestyle{empty}

\title{Using knitR (R + \LaTeX) in R Studio: A Demo}

\begin{center}
{\bf Pairach Piboonrungroj$^{1,2,^\star}$}
\end{center}

\begin{affiliations}
1. Logistics Systems Dynamics Group, Cardiff Business School, Cardiff University, United Kingdom \\[-2pt]
2. Chiang Mai School of Economics, Chiang Mai University, Thailand \\[-2pt]
%3. Second affiliation of author B \\[-2pt]
$^\star$Email: \href{mailto:me@pairach.com}{me@pairach.com}
\end{affiliations}
\vskip -0.5cm
%%%%%%%%%%%%%%%%%%
\begin{center}
\linethickness{1mm}
\line(1,0){480}
\end{center}
%%%%%%%%%%%%%%%%%%
1. Show only R source code
<<chunk1, echo=TRUE, results='hide'>>=
1 + 1
@

2. Show only output
<<chunk2, ref.label='chunk1', echo=FALSE, results='markup'>>=
@

3. Show both source code and output
<<chunk3, echo=TRUE, results='markup'>>=
1 + 1
@

4. Show source code in grey shade but the output
<<chunk4, echo=TRUE, results='asis'>>=
1 + 1
@

5. Now, testing a linear model
<<chunk5, echo=TRUE, results='markup'>>=
# generating value for x variable from 1 to 100
x <- c(1:100)
# creat error term
e <- rnorm(100, mean = 5, sd = 10000)
# computing y equal to 3 plus five times x plus random number
y = 10 + 100*x + e
@

Set the format of all object called pdf()
<<custom-dev2>>=
my_pdf = function(file, width, height) {pdf(file, width = 5, height = 5, pointsize = 10)}
@

6. See the scatter plot
<<chunk6, echo=TRUE, results='markup', dev='my_pdf', fig.ext='pdf'>>=
plot(x, y)
@

7. Let's build a linear model by regressing y on x
<<chunk7, echo=TRUE, results='markup'>>=
# creating a linear model by regressing y on x as 'lm1' object
lm1 <- lm(y ~ x)
# calling a summary of linear model result
summary(lm1)
@

8. Now we can create a post-hoc plots to check assumptions of regression
<<chunk8, echo=TRUE, results='markup', dev='my_pdf', fig.ext='pdf'>>=
# Creating post-hoc plot for lm1
par(mfrow=c(2,2))
plot(lm1)
@
\end{document}


## And this is the Output



View this document on Scribd

## List of Free Online R Tutorials

According to the post on FREE online R tutorials from universities, I have received many email suggesting more and more tutorials. However some tutorials are not hosted in an academic institutes, so I decided to create this post to list such tutorials. If you know other tutorials, please kindly suggest me by email to me@pairach.com or post the link in the comment section.

## A list of R tutorials, which are hosted in the webpages of academic institutes can be foundhere.

The tutorials are listed  in no particular order but categorised by subjects and/or topics.

## General guides

1. R Wiki Documentation about R contributed by the R community
2. by Rob Kabacoff
3. R Programming by Wikibooks
4. How to use R by Wikiuniversity
5. R4stats – R for SAS and SPSS Users – R for Stata Users by Bob Muenchen
6. by  Vincent Zoonekynd
7. R programming for those coming from other languages by John D. Cook
8. Cookbook for R by Winston Chang (Not related to Paul Teetor’s R Cookbook!)
9. A short introduction to the R programming language by Leibniz-Rechenzentrum
10. The Guerilla Guide to R by Nikhil Gopal

## Online Tutorial

1. Introduction to R by Data Camp
2. Introduction to statistical programming in R by Leada

## VDO/Audio tutorials

1. More than 90 Two minute tutorials on several topics  by Anthony Damico
2. The R-Podcast by Eric Nantz
3. R language for Statistical Computing by  Sentiment Mining Research Center
4. A list of Videos on Data Analysis with R: Introductory, Intermediate, and Advanced Resources by Jeromy Anglim

## Economics & Econometrics

1. Forecasting: principles and practice (Online Book) by Rob J Hyndman and George Athanasopoulos
2. Econometrics in R (CRAN) by Grant V. Farnsworth

## Ecology

1. R in Ecology and Evolution
2. Ecology and Epidemiology in R by Various authors

## Psychology

1. Using R for Personality Research – Introduction to R [slide] – R: Statistics for all of us [slide] by  William Revelle
2. Learning R for Researchers in Psychology by Jeromy Anglim

## Using R in/for Governments

Recently British government (by Office  of National Statistics: ONS) just published their version of R manual for analysis of the government survey. The links to PDF and MS word versions of the manual including the R syntax are as below.

Note: The R syntax link is not working now. I am contacting the ONS, hope they will fix it soon.

 The R Guide to ESDS Large-Scale Government Surveys PDF, Word

For the US governemnt, there is an emerging awareness and recognition of the power of R in their Big Data Initiative. David Smith (Revolution Analytics) has summarised the application of R in the US governemnt in his post here.

## How to post R code on WordPress blogs

Most WordPress BloggeRs are using this text highlight syntax, some are not.
I hope that this post would be a reference source for new WordPress BloggeRs for posting their R code on their blog posts.

According to an official guide by WordPress.com on “Posting Source Code“, To post R code in the WordPress.com, just wrap R code as follows (without “#” in both wrappers):

######################################################

[#sourcecode language="r"]
x <- rnorm(100)
y <- x + 10
[#/sourcecode]


######################################################

• From above, before your R code put the command in line 1, or [#sourcecode language=”r”]but without #
• Then, place your R code (line 2-4).
• End the code box by put the command line as in line  5, but without # or “[/sourcecode]

Then the code will appear as following.

Your R code and comments
x <- rnorm(100)
y <- x + 10


Moreover, more options can be configured to better describe the code efficiently.

• autolinks (true/false)
TRUE: Makes all URLs in your posted code clickable.
Defaults: TRUE
• collapse (true/false)
TRUE: The code box will be collapsed when the page loads, requiring the visitor to click to expand it.
Comment: Good for large code posts.
Defaults: False.
• firstline (number)
Comments: Use this to change what number the line numbering starts at
Defaults =  1
• gutter (true/false)
TRUE:  Show the line numbering on the left hand side.
FALSE: The line numbering on the left side will be hidden.
Defaults = TRUE
• highlight (comma-seperated list of numbers)
You can list the line numbers you want to be highlighted.
Example = “4,7,19″.
• htmlscript (true/false)
TRUE: Any HTML/XML in your code will be highlighted.
Comment: This is useful when you are mixing code into HTML, such as PHP inside of HTML.
Defaults = FALSE (only work with certain code languages)
• light (true/false)
TRUE: The gutter (line numbering) and toolbar (see below) will be hidden.
Comment: This is helpful when posting only one or two lines of code.
Defaults = FALSE
• padlinenumbers (true/false/integer)
FALSE: No padding, and entering a number will force a specific amount of padding.
Comment: Allows you to control the line number padding.
• toolbar (true/false)
FALSE: The toolbar containing the helpful buttons that appears when you hover over the code will not be shown.
Defaults = TRUE
• wraplines (true/false)
FALSE: Line wrapping will be disabled. This will cause a horizontal scrollbar to appear for long lines of code.

If you are using WordPress.org, here is a plugin.

Update: I just found a nice post by William K. Morris on How to update your WordPress.com blog from R