library(tidyverse)
library(MASS)
library(magrittr)
set.seed(41)
d <- 200
n <- 6

dists <-
  map_df(seq(1000), function(i) {
    a <- mvrnorm(n = n, rnorm(d), diag(rnorm(d) ** 2))
    b <- mvrnorm(n = n, rnorm(d) + d*rnorm(1), diag(rnorm(d) ** 2))
    
    diff <- as.matrix(colMeans(a) - colMeans(b))
    
    dist_bw_means <- norm(diff, "2")
    
    mean_of_dists <-
      mean(as.vector(as.matrix(dist(rbind(
        a, b
      )))[(n + 1):(2 * n), 1:n]))
    
    cor_bw_means <- cor(colMeans(a), colMeans(b))

    cm <- cor(t(a), t(b))

    mean_of_cors <- mean(cm[upper.tri(cm)])
    
    data.frame(dist_bw_means, mean_of_dists, cor_bw_means, mean_of_cors)
    
  })
ggplot(dists, 
       aes(dist_bw_means, mean_of_dists)) + 
  geom_point(alpha = 0.1) + 
  coord_equal() + 
  geom_abline(slope = 1, color = "red")

ggplot(dists, 
       aes(cor_bw_means, mean_of_cors)) + 
  geom_point(alpha = 0.1) + 
  geom_abline(slope = 1, color = "red")

LS0tCnRpdGxlOiAiUGFpcndpc2UiCm91dHB1dDogCiAgaHRtbF9ub3RlYm9vazoKICAgIHRvYzogdHJ1ZQogICAgdG9jX2Zsb2F0OiB0cnVlCiAgICB0b2NfZGVwdGg6IDMKICAgIG51bWJlcl9zZWN0aW9uczogdHJ1ZQogICAgdGhlbWU6IGx1bWVuCi0tLQoKYGBge3IgbWVzc2FnZT1GQUxTRX0KbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkoTUFTUykKbGlicmFyeShtYWdyaXR0cikKYGBgCgoKYGBge3J9CnNldC5zZWVkKDQxKQpgYGAKCgpgYGB7cn0KZCA8LSAyMDAKbiA8LSA2CgpkaXN0cyA8LQogIG1hcF9kZihzZXEoMTAwMCksIGZ1bmN0aW9uKGkpIHsKICAgIGEgPC0gbXZybm9ybShuID0gbiwgcm5vcm0oZCksIGRpYWcocm5vcm0oZCkgKiogMikpCiAgICBiIDwtIG12cm5vcm0obiA9IG4sIHJub3JtKGQpICsgZCpybm9ybSgxKSwgZGlhZyhybm9ybShkKSAqKiAyKSkKICAgIAogICAgZGlmZiA8LSBhcy5tYXRyaXgoY29sTWVhbnMoYSkgLSBjb2xNZWFucyhiKSkKICAgIAogICAgZGlzdF9id19tZWFucyA8LSBub3JtKGRpZmYsICIyIikKICAgIAogICAgbWVhbl9vZl9kaXN0cyA8LQogICAgICBtZWFuKGFzLnZlY3Rvcihhcy5tYXRyaXgoZGlzdChyYmluZCgKICAgICAgICBhLCBiCiAgICAgICkpKVsobiArIDEpOigyICogbiksIDE6bl0pKQogICAgCiAgICBjb3JfYndfbWVhbnMgPC0gY29yKGNvbE1lYW5zKGEpLCBjb2xNZWFucyhiKSkKCiAgICBjbSA8LSBjb3IodChhKSwgdChiKSkKCiAgICBtZWFuX29mX2NvcnMgPC0gbWVhbihjbVt1cHBlci50cmkoY20pXSkKICAgIAogICAgZGF0YS5mcmFtZShkaXN0X2J3X21lYW5zLCBtZWFuX29mX2Rpc3RzLCBjb3JfYndfbWVhbnMsIG1lYW5fb2ZfY29ycykKICAgIAogIH0pCmBgYAoKYGBge3J9CmdncGxvdChkaXN0cywgCiAgICAgICBhZXMoZGlzdF9id19tZWFucywgbWVhbl9vZl9kaXN0cykpICsgCiAgZ2VvbV9wb2ludChhbHBoYSA9IDAuMSkgKyAKICBjb29yZF9lcXVhbCgpICsgCiAgZ2VvbV9hYmxpbmUoc2xvcGUgPSAxLCBjb2xvciA9ICJyZWQiKQpgYGAKCgpgYGB7cn0KZ2dwbG90KGRpc3RzLCAKICAgICAgIGFlcyhjb3JfYndfbWVhbnMsIG1lYW5fb2ZfY29ycykpICsgCiAgZ2VvbV9wb2ludChhbHBoYSA9IDAuMSkgKyAKICBnZW9tX2FibGluZShzbG9wZSA9IDEsIGNvbG9yID0gInJlZCIpCmBgYAoK