(This article was first published on

**mpastell.com » R**, and kindly contributed to R-bloggers)Recently I wanted to plot an impulse response function with R and missed the MATLAB style stem plot for doing it. I couldn’t find an R function for it with a quick Google search so I made my own. So here is the function and a small example :

#The function stem <- function(x,y,pch=16,linecol=1,clinecol=1,...){ if (missing(y)){ y = x x = 1:length(x) } plot(x,y,pch=pch,...) for (i in 1:length(x)){ lines(c(x[i],x[i]), c(0,y[i]),col=linecol) } lines(c(x[1]-2,x[length(x)]+2), c(0,0),col=clinecol) } #An example x <- seq(0, 2*pi, by = 0.2) par(mfrow=c(2,1)) stem(x,sin(x), main = 'Default style') stem(x,sin(x),main='With MATLAB colors', col=4,linecol=4,clinecol=2)

To

**leave a comment**for the author, please follow the link and comment on his blog:**mpastell.com » R**.R-bloggers.com offers

**daily e-mail updates**about R news and tutorials on topics such as: visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...