Будет ли работать следующее для вас?
set.seed(100)
x1 <- rnorm(1000)
y1 <- rnorm(1000) - .6 * x1
x2 = pnorm(x1)
y2 = pnorm(y1)
cor(cbind(x2, y2))
# x2 y2
# x2 1.0000000 -0.4995593
# y2 -0.4995593 1.0000000
Var_a <- tbl_df(qlnorm(x2, meanlog = 0.0326, sdlog = 0.0288))
var_b <- tbl_df(qlnorm(y2, meanlog = 0.0452, sdlog = 0.0364))
cor(Var_a, var_b)
# value
# value -0.5239145
update: все еще не понимаете, что вы делаете, но если вы просто хотите применить то, что я сделал, к 15 переменным, возможно, сделайте что-то подобное?
library(MASS)
sigma <- matrix(.5, nrow = 15, ncol = 15) + diag(15)*.5 #your correlation matrix
sigma
vars <- mvrnorm(1000, mu = rep(0, 15), Sigma = sigma)
vars
cor(vars)
vars2 <- pnorm(vars)
cor(vars2)
#use each of these as variable in qlnorm
vars2 <- data.frame(vars2)
names(vars2)
vars2
vars2[paste("log_", 1:15)] <- lapply(vars2[, 1:15], function(x) {qlnorm(x, meanlog = 0.0326, sdlog = 0.0288)})
names(vars2)
vars2 <- vars2[, -c(1:15)]
cor(vars2)