[R] Create correlated data with skew
bbolker
bolker at ufl.edu
Tue Sep 18 20:08:32 CEST 2007
Mike Lawrence wrote:
>
> Hi all,
>
> I understand that it is simple to create data with a specific
> correlation (say, .5) using mvrnorm from the MASS library:
>
> > library(MASS)
> > set.seed(1)
> >
> > a=mvrnorm(
> + n=10
> + ,mu=rep(0,2)
> + ,Sigma=matrix(c(1,.5,.5,1),2,2)
> + ,empirical=T
> + )
> > a
> [,1] [,2]
> [1,] -1.0008380 -1.233467875
> [2,] -0.1588633 -0.003410001
> [3,] 1.2054727 -0.620558768
> [4,] 1.9580971 2.389495155
> [5,] -0.9447473 -0.141852055
> [6,] 0.6236799 -0.826952659
> [7,] 0.1421782 0.452217611
> [8,] -0.9050954 0.330991444
> [9,] -0.7261632 0.217740460
> [10,] -0.1937206 -0.564203311
> > cor(a)
> [,1] [,2]
> [1,] 1.0 0.5
> [2,] 0.5 1.0
>
>
> But I'm looking to create data where the variables are non-normally
> distributed (i.e. somewhat skewed). Any suggestions?
>
> Mike
>
> --
> Mike Lawrence
> Graduate Student, Department of Psychology, Dalhousie University
>
> Website: http://memetic.ca
>
> Public calendar: http://icalx.com/public/informavore/Public
>
> "The road to wisdom? Well, it's plain and simple to express:
> Err and err and err again, but less and less and less."
> - Piet Hein
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
>
The simplest (?) solution is probably to exponentiate your MVN data,
leading to a bivariate log-normal distribution. The hard part is
specifying the parameters of the lognormal in terms of the desired
variance-covariance matrix. Variances are not too bad, but correlation
may not be solvable. (Of course, if you don't care much about the
precise characteristics of the simulated data and/or are willing to
use some trial and error to get the desired variance/correlation you
don't have to deal with this.)
See e.g.
http://www.stuart.iit.edu/faculty/workingpapers/thomopoulos/SomeMeasuresontheStandardBivariateLognormalDistribution.doc
for some of the relevant formulas.
good luck
Ben Bolker
--
View this message in context: http://www.nabble.com/Create-correlated-data-with-skew-tf4468269.html#a12762799
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list