====== 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*}
{{:r:pasted:20200505-154546.png}}
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 ======
{{:r:pasted:20200505-160059.png}}
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)