Я выполняю симуляцию mvnorm с тремя переменными.Я хочу, чтобы mu_3v
было умножено на [1:62]
и stdv_3
на sqrt
из [1:62]
.
. Для каждого симуляции я хочу, чтобы R убрал [,1]
, [,2]
и [,3]
столбец и добавление его в отдельный фрейм данных.Дает мне конечный результат из 3 фреймов данных с 1:10000
смоделированными строками и 1:62
столбцами.
Любая идея, как я могу кодировать это, вместо того, чтобы делать это вручную?
Текущий код:
mu_3v = c(mu1_1, mu2_1, mu_H)
stdv_3 = c(s1_1, s2_1, s_H)
corMat = matrix(c(1, rho_1, rho_HvsF,
rho_1, 1, rho_HvsV,
rho_HvsF, rho_HvsV, 1), ncol = 3)
covMat = stdv_3 %*% t(stdv_3) * corMat
set.seed(10000)
sim3v <- mvrnorm(10000, mu = mu_3v, Sigma = covMat, empirical = TRUE)
Пример с 3 столбцами и 6 строками нужного вывода:
x1 x2 x3
1 -0.007123555 -0.009929272 -0.012024598
2 -0.021314259 -0.029997958 -0.036603619
3 -0.010374873 -0.014527330 -0.017656045
4 0.033366925 0.047332914 0.058106970
5 -0.004235795 -0.005845363 -0.007022851
6 -0.017374481 -0.024426270 -0.029779722
y1 y2 y3
1 0.0013867871 0.0020744484 0.0026470862
2 0.0032006879 0.0046396915 0.0057888546
3 0.0005585690 0.0009031711 0.0012125704
4 -0.0004444398 -0.0005152975 -0.0005246917
5 0.0031730968 0.0046006719 0.0057410655
6 -0.0050500802 -0.0070286566 -0.0085018949
z1 z2 z3
1 0.000532362 0.0008996895 0.001239865
2 -0.004274135 -0.0058977242 -0.007085233
3 -0.010928377 -0.0153082426 -0.018610717
4 0.046217388 0.0655080731 0.080368651
5 0.008414940 0.0120473379 0.014892890
6 -0.006425554 -0.0089402897 -0.010811599