Thin: Thin


This function reduces the number of posterior samples by retaining every kth sample.


Thin(x, By=1)



This is a vector or matrix of posterior samples to be thinned.


This argument specifies that every kth posterior sample will be retained, and By defaults to 1, meaning that thinning will not occur, because every sample will be retained.


A thinned matrix of posterior samples is a matrix in which only every kth posterior sample (or row) in the original matrix is retained. The act of thinning posterior samples has been criticized as throwing away information, which is correct. However, it is common practice to thin posterior samples, usually associated with MCMC such as LaplacesDemon, for two reasons. First, Each chain (column vector) in a matrix of posterior samples probably has higher autocorrelation than desired, which reduces the effective sample size (see ESS for more information). Therefore, a thinned matrix usually contains posterior samples that are closer to independent than an un-thinned matrix. The other reason for the popularity of thinning is that it a user may not have the random-access memory (RAM) to store large, un-thinned matrices of posterior samples.

LaplacesDemon and PMC automatically thin posterior samples, deviance samples, and samples of monitored variables, according to its own user-specified argument. The Thin function is made available here, should it be necessary to thin posterior samples outside of objects of class demonoid or pmc.


The Thin argument returns a thinned matrix. When x is a vector, the returned object is a matrix with 1 column.


Statisticat, LLC.

See Also

ESS, LaplacesDemon, and PMC.


x <- matrix(runif(100), 10, 10)
Thin(x, By=2)

Questions? Problems? Suggestions? or email at

All documentation is copyright its authors; we didn't write any of that.