Category Archives: R

Bayesian ANOVA: Powerful inference with within-group sample size of 1

By | March 9, 2017

1 Objective 2 The data 3 Fixed-effects ANOVA in JAGS 4 Relaxing the assumption of constant variance 5 Conclusion This post is inspired by a question by Dylan Craven that he raised during my Bayesian stats course. 1 Objective My aim here is to demonstrate that, in Bayesian setting, one can make powerful inference about… Read More »

Reproducible art with R

By | July 27, 2016

This is my tribute to the fantastic R package spatstat. All the artwork was 100% done in R, the source code is here. Click the images for hi-res (6000 x 4000) versions. License: This is a public domain work. Feel free to do absolutely whatever you want with the code or the images, there are… Read More »

Survival analysis: basic terms, the exponential model, censoring, examples in R and JAGS

By | May 13, 2015

I have put together some basic material on survival analysis. It is available as: .html document with highlighted syntax here. Printer-ready .pdf document here. GitHub repository with all the source files here. Main motivation was that I wanted to learn the basics myself; also, it's tricky to find simple examples of survival models fitted in… Read More »

Simple template for scientific manuscripts in R markdown

By | March 12, 2015

I've made a really simple template for the classical manuscript format for R markdown and knitr. Here are the resulting .pdf and .html. The template contains the four usual components of any scientific manuscript: equations (using LaTeX syntax) table with caption (done by kable package, but you can also use xtable) figure with caption citations… Read More »

Bayesian PCA

By | January 5, 2015

Authors: Jan Smycka, Petr Keil This post introduces experimental R package bPCA which we developed with Jan Smycka, who actually came with the idea. We do not guarantee the very idea to be correct and there certainly are bugs – we invite anyone to show us wrong, or to contribute. Rationale of bPCA Here is… Read More »

Spatial autocorrelation of errors in JAGS

By | February 10, 2014

In the core of kriging, Generalized-Least Squares (GLS) and geostatistics lies the multivariate normal (MVN) distribution – a generalization of normal distribution to two or more dimensions, with the option of having non-independent variances (i.e. autocorrelation). In this post I will show: (i) how to use exponential decay and the multivariate normal distribution to simulate… Read More »

Poisson regression fitted by glm(), maximum likelihood, and MCMC

By | October 30, 2013

The goal of this post is to demonstrate how a simple statistical model (Poisson log-linear regression) can be fitted using three different approaches. I want to demonstrate that both frequentists and Bayesians use the same models, and that it is the fitting procedure and the inference that differs. This is also for those who understand… Read More »

The joy and martyrdom of trying to be a Bayesian

By | August 30, 2013

Some of my fellow scientists have it easy. They use predefined methods like linear regression and ANOVA to test simple hypotheses; they live in the innocent world of bivariate plots and lm(). Sometimes they notice that the data have odd histograms and they use glm(). The more educated ones use generalized linear mixed effect models.… Read More »

Spatial correlograms in R: a mini overview

By | May 21, 2013

Spatial correlograms are great to examine patterns of spatial autocorrelation in your data or model residuals. They show how correlated are pairs of spatial observations when you increase the distance (lag) between them - they are plots of some index of autocorrelation (Moran's I or Geary's c) against distance. Although correlograms are not as fundamental… Read More »

Beware: 2 is not always 2 in R

By | May 14, 2013

This post is minimalistic. Consider this: Now let's have look at what's inside x: But is it really true? Here you go. A colleague of mine was once ruined by this for an entire day before we realized what was going on. So, how to find out what REALLY is the value of x? Try:

Category: R

AIC & BIC vs. Crossvalidation

By | May 5, 2013

Model selection is a process of seeking the model in a set of candidate models that gives the best balance between model fit and complexity (Burnham & Anderson 2002). I have always used AIC for that. But you can also do that by crossvalidation. Specifically, Stone (1977) showed that the AIC and leave-one out crossvalidation… Read More »

Not all proportion data are binomial outcomes

By | March 24, 2013

It really is trivial. Not every proportion is frequency. There are things that have values  bounded between 0 and 1 and yet they are neither probabilities, nor frequencies. Why do I even bother to write this? Because some kinds of proportions should be treated as unbounded continuous variables, and should be analyzed using appropriate statistical… Read More »

Predictors, responses and residuals: What really needs to be normally distributed?

By | February 18, 2013

Introduction Many scientists are concerned about normality or non-normality of variables in statistical analyses. The following and similar sentiments are often expressed, published or taught: "If you want to do statistics, then everything needs to be normally distributed." "We normalized our data in order to meet the assumption of normality." "We log-transformed our data as… Read More »

Data-driven science is a failure of imagination

By | January 2, 2013

Professor Hans Rosling certainly is a remarkable figure. I recommend watching his performances. Especially the BBC's "Joy of Stats" is exemplary. Rosling sells passion for data, visual clarity and great deal of comedy. He represents the data-driven paradigm in science. What is it? And is it as exciting and promising as the documentary suggests? Data-driven scientists… Read More »

Fast Conway's game of life in R

By | November 26, 2012

Here I demonstrate a simple way to code Conway's game of life (GoL) in R and to produce the animation above. Cellular automata in R are usually painfully slow if you iterate through all grid cells in an array. A couple of years ago my friend Martin Weiser came with an idea to avoid the… Read More »

Linear regression in OpenBUGS

By | August 19, 2012

I always wondered why is it so difficult to find an OpenBUGS example of simple linear regression on the Web. Curiously, such example is even missing in the OpenBUGS help. The only nice example so far is in the book by Marc Kéry. I have simplified the code. You need to have OpenBUGS (or WinBUGS)… Read More »