# User:Timothee Flutre/Notebook/Postdoc/2011/11/07

(Difference between revisions)
 Revision as of 00:41, 5 December 2013 (view source) (→About R: add links helping in package dev)← Previous diff Revision as of 13:08, 6 February 2014 (view source) (→About R: add swirl)Next diff → Line 12: Line 12: * '''Documentation''': * '''Documentation''': ** try it [https://www.codeschool.com/courses/try-r online] ** try it [https://www.codeschool.com/courses/try-r online] + ** learn how to use it with [http://swirlstats.com/ swirl] ** official introductory [http://cran.r-project.org/doc/manuals/R-intro.html manual] ** official introductory [http://cran.r-project.org/doc/manuals/R-intro.html manual] ** well-organized [http://www.statmethods.net/ how-to] ** well-organized [http://www.statmethods.net/ how-to]

## Revision as of 13:08, 6 February 2014

Project name Main project page
Previous entry      Next entry

• Motivation: when analyzing data for any research project, it's essential to be able to quickly clean the raw data, transform them, plot intermediary results, calculate summary statistics, try various more-or-less sophisticated models, etc. This must be easily doable with small as well as large data sets, interactively or not. Several tools exist to fill exactly this need, and R is only one of them, but I especially recommend it because it is build by statisticians (this means that the implemented models are numerous and state-of-the-art). Moreover, it's open-source (and even free software), platform-independent, full of packages, with well-documented resources, etc, so give it a try!

• customize the built-in heatmap in R (inspired from this):
```S <- 3  # nb of subgroups
V <- 7  # nb of observations
z <- matrix(c(0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,1,1,1,0,0), nrow=V, ncol=S, byrow=TRUE)

myheatmap <- function(z, out.file="") {
par(mar=c(4,5,3,2), font=2, font.axis=2, font.lab=2, cex=1.5, lwd=2)
if (out.file != "")
pdf(out.file)
layout(mat=cbind(1, 2), width=c(7,1))  # plot +  legend
mycol <- rev(heat.colors(4))
image(x=1:NCOL(z), y=1:NROW(z), z=t(z),
xlim=0.5+c(0,NCOL(z)), ylim=0.5+c(0,NROW(z)),
xlab="", ylab="Observations sorted by cluster", main="Custom heatmap",
axes=FALSE, col=mycol)
axis(1, 1:NCOL(z), labels=paste("subgroup", 1:NCOL(z)), tick=0)
par(mar=c(0,0,0,0))
plot.new()
legend("center", legend=sprintf("%.2f", seq(from=min(z), to=max(z), length.out=5)[-1]),
fill=mycol, border=mycol, bty="n")
if (out.file != "")
dev.off()
par(def.par)
}

myheatmap(mydata.sort)
```