0
$\begingroup$

I want to create two random variables $X \sim N(0,1)$ and $Y \sim N(0,1)$ that satisfy $E(X,Y)=0.5 $

That is I want to create $Z=(X,Y)^\top $ with a joint bivariate normal distribution

$ Z \sim N\left( \left(\begin{array}{c} 0\\ 0 \end{array}\right) , \left(\begin{array}{cc} 1 & 0.5\\ 0.5 & 1 \end{array}\right) \right) $.

How do I code this in R?

Thanks.

$\endgroup$

marked as duplicate by John, Andy, Glen_b, Nick Cox, chl May 11 '14 at 10:37

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • $\begingroup$ This question appears to be off-topic give that it is mostly about R code. $\endgroup$ – Andy May 11 '14 at 7:47
  • $\begingroup$ What does $E(X,Y)$ mean? Did you mean $E(X \cdot Y)$? $\endgroup$ – QuantIbex May 11 '14 at 9:02
  • 1
    $\begingroup$ This answer describes how this can be done using a Cholesky decomposition of the covariance matrix. Of course, you could use mvrnorm from MASS but it is less fun. $\endgroup$ – QuantIbex May 11 '14 at 9:08
  • $\begingroup$ Duplicate. See here or here $\endgroup$ – Glen_b May 11 '14 at 9:25
1
$\begingroup$

I suppose you are looking for the mvtnorm package:

> library(mvtnorm)
> sigma <- matrix(c(1, 0.5, 0.5, 1), nrow = 2)
> x <- rmvnorm(5000, mean = c(0,0), sigma = sigma, method = "chol")
> colMeans(x)
[1] 0.02096549 0.03626787
> var(x)
          [,1]      [,2]
[1,] 1.0061570 0.4920715
[2,] 0.4920715 1.0087832
$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.