User Tools

Site Tools


r:generating_a_random_data_set_with_certain_correlations

Generating a random data set with certain correlations

n.d <- 60
r12 <- .82
mu <- c(4, 2)
n.var <- length(mu)
stddev <- c(1, 1)

corMat <- matrix(c(1, r12,
                   r12, 1),
                   ncol = n.var)
corMat
covMat <- stddev %*% t(stddev) * corMat
covMat
set.seed(10)
library(MASS)
d1 <- mvrnorm(n = n.d, mu = mu, Sigma = covMat, empirical = TRUE)
d1 <- data.frame(d1)
colnames(d1) <- c("x", "y")
colMeans(d1)
cor(d1)
pairs(d1)
d1
plot(d1, main="covariance and correlation between x and y", xlab="mean=4", ylab="mean=2")
abline(v=mean(d1$x), h=mean(d1$y), lm(d1$y ~ d1$x), col=c("red", "blue", "blue"), lty=2, lwd=1)

\begin{eqnarray*} \text{corr}(x,y) & = & \dfrac{\text{cov}(x, y)}{\sigma_{x} \sigma_{y}} \\ \text{cov}(x, y)} & = & \text{corr}(x,y) * \sigma_{x} \sigma_{y} \\ \end{eqnarray*}

n.d <- 6
r12 <- .2
r13 <- .6
r23 <- .8
mu <- c(4, 10, 2)
n.var <- length(mu)
stddev <- c(1, 1, 1)

corMat <- matrix(c(1, r12, r13,
                   r12, 1, r23,
                   r13, r23, 1),
                 ncol = n.var)
corMat
covMat <- stddev %*% t(stddev) * corMat
covMat
set.seed(1)
library(MASS)
d1 <- mvrnorm(n = n.d, mu = mu, Sigma = covMat, empirical = TRUE)
d1 <- data.frame(d1)
colnames(d1) <- c("x", "y", "z")
colMeans(d1)
cor(d1)
pairs(d1)
d1
plot(d1)
abline(v=mean(d1$x), h=mean(d1$y), col="red", lty=2, lwd=1)

Explaining r square value

n.d <- 7
r12 <- 0.94
mu <- c(25, 25)
n.var <- length(mu)
stddev <- c(2, 2)

corMat <- matrix(c(1, r12,
                   r12, 1),
                 ncol = n.var)
corMat
covMat <- stddev %*% t(stddev) * corMat
covMat
set.seed(1024)
library(MASS)
d1 <- mvrnorm(n = n.d, mu = mu, Sigma = covMat, empirical = TRUE)
d1 <- data.frame(d1)
colnames(d1) <- c("x", "y")
colMeans(d1)
cor(d1)
pairs(d1)
d1
plot(d1, main="covariance and correlation between x and y", 
     xlab="mean=4", ylab="mean=2", 
     cex.main=1.5, cex.lab=1.5, cex.axis=1.3)
abline(v=mean(d1$x), h=mean(d1$y), lm(d1$y ~ d1$x), 
     col=c("red", "blue", "blue"), 
     lty=2, lwd=1)
r/generating_a_random_data_set_with_certain_correlations.txt · Last modified: 2020/05/05 16:46 by hkimscil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki