# Articles by Lindons Log » R

### Generate Random Inverse Gaussian in R

September 20, 2014 |

Needed to generate draws from an inverse Gaussian today, so I wrote the following Rcpp code: It seems to be faster than existing implementations such as rig from mgcv and rinvgauss from statmod packages. rename rrinvgauss as desired. The post Generate Random Inverse Gaussian in R appeared first on Lindons ... [Read more...]

### Generalized Double Pareto Priors for Regression

September 10, 2014 |

This post is a review of the “GENERALIZED DOUBLE PARETO SHRINKAGE” Statistica Sinica (2012) paper by Armagan, Dunson and Lee. Consider the regression model (Y=Xbeta+varepsilon) where we put a generalized double pareto distribution as the prior on the regression coefficients (beta). The GDP distribution has density \$\$begin{equation} f(... [Read more...]

### EM Algorithm for Bayesian Lasso R Cpp Code

September 5, 2014 |

Bayesian Lasso \$\$begin{align*} p(Y_{o}|beta,phi)&=N(Y_{o}|1alpha+X_{o}beta,phi^{-1} I_{n{o}})\ pi(beta_{i}|phi,tau_{i}^{2})&=N(beta_{i}|0, phi^{-1}tau_{i}^{2})\ pi(tau_{i}^{2})&=Exp left( frac{lambda}{2} right)\ pi(phi)&propto phi^{-1}\ pi(alpha)&propto 1\ ... [Read more...]

### Compile R and OpenBLAS from Source Guide

July 16, 2014 |

This guide is intended to aid any R and Linux user who desires a threaded version of BLAS. In particular I hope this will allow other grad students, who like me do not have many user privileges on their office computer, to follow suit and exploit multiple cores to speed ... [Read more...]

### C++11 versus R Standalone Random Number Generation Performance Comparison

March 1, 2014 |

If you are writing some C++ code with the intent of calling it from R or even developing it into a package you might wonder whether it is better to use the pseudo random number library native to C++11 or the R standalone library. On the one hand users of ... [Read more...]

### Stochastic Optimization in R by Parallel Tempering

October 12, 2013 |

I’ve written a few posts now about using parallel tempering to sample from complicated multi-modal target distributions but there are also other benefits and uses to this algorithm. There is a nice post on Darren Wilkinson’s blog about using tempered posteriors for marginal likelihood calculations. There is also ... [Read more...]

### Parallel Tempering in R with Rmpi

October 6, 2013 |

My office computer recently got a really nice upgrade and now I have 8 cores on my desktop to play with. I also at the same time received some code for a Gibbs sampler written in R from my adviser. I wanted to try a metropolis-coupled markov chain monte carlo, , algorithm ... [Read more...]

### Easy 3-Minute Guide to Making apply() Parallel over Distributed Grids and Clusters in R

September 1, 2013 |

Last week I attended a workshop on how to run highly parallel distributed jobs on the Open Science Grid (osg). There I met Derek Weitzel who has made an excellent contribution to advancing R as a high performance computing language by developing BoscoR. BoscoR greatly facilitates the use of the ... [Read more...]

### Model Scale Parameterization for MCMC Efficiency

August 1, 2013 |

I recently came across a very interesting paper by Y. Yu and X. Meng[1] who present an interweaving strategy between different model parameterizations to improve mixing. It is well known that different model parameterizations can perform better than others under certain conditions. Papaspiliopoulos, Roberts and Sköld [2] present a general ... [Read more...]

### Parallel Random Number Generation using TRNG

July 10, 2013 |

To my surprise and disappointment, popular scientific libraries like Boost or GSL provide no native support for parallel random number generation. Recently I came across TRNG, an excellent random number generation library for C++ built specifically with parallel architectures in mind. Over the last few days I’ve been trawling ... [Read more...]

### R snippets for vim-SnipMate

June 26, 2013 |

Vim is my editor of choice, reasonable so, whether it be for coding C++, LaTeX or even R. I’ve used RStudio, which even has a Vim-Mode, but I still prefer to use Vim. Vim has it’s own R plugin, namely Vim-R-plugin, but this post is about snippets. SnipMate ... [Read more...]

### Calling C++ from R using Rcpp

June 22, 2013 |

Why call C/C++ from R? I really like programming in R. The fact that it is open source immediately wins my favour over Matlab. It can, however, be quite slow especially if you “speak” R with a strong C/C++ accent. This sluggishness, especially when writing unavoidable for loops, ... [Read more...]

### Model Selection in Bayesian Linear Regression

June 17, 2013 |

Previously I wrote about performing polynomial regression and also about calculating marginal likelihoods. The data in the former and the calculations of the latter will be used here to exemplify model selection. Consider data generated by and suppose we wish to fit a polynomial of degree 3 to the data. There ... [Read more...]