将功能向右移动不起作用

Moving the function to the right does not work

我做了高斯混合模型,效果很好,但是函数没有右移。在图中它显示好像函数没有移动任何东西。我为 mu:

添加了一个 for 循环
for(i in 1:n){
  for (j in 1:5){
    mu1 = c(1+j,2)
    mu2 = c(6+j,7) 
    .
    .
    .
     }
     }

但它不起作用。我尝试获取图像中显示的图形:它在保存前一个东西的同时移动,覆盖越来越多 space

library(MASS)


n = 1000
Sigma = matrix(c(1, 0.5, 0.5, 1), 2, 2)
rho = 0.5

# Gaussian mixture model
# X=(X1,X2) ~ rho * N(mu1, Sigma) + (1-rho) * N(mu2, Sigma)
X = cbind(rep(0, n), rep(0, n))
for(i in 1:n){
  for (j in 1:5){
    mu1 = c(1+j,2)
    mu2 = c(6+j,7)
    u = runif(1, min = 0, max = 1)
    if(u < rho){
      X[i,] = mvrnorm(1, mu = mu1, Sigma = Sigma)
    }else{
      X[i,] = mvrnorm(1, mu = mu2, Sigma = Sigma)
    }
  }
}

plot(X[,1], X[,2], xlab = 'X1', ylab = 'X2')

我已调整您的代码以保存所有 5000 行:

n = 1000  
m = 5
Sigma = matrix(c(1, 0.5, 0.5, 1), 2, 2)
rho = 0.5

library(MASS)
# Gaussian mixture model
# X=(X1,X2) ~ rho * N(mu1, Sigma) + (1-rho) * N(mu2, Sigma)
X = cbind(rep(0, n * m), rep(0, n * m))
for(i in 1:n){
  for (j in 1:m){
    mu1 = c(1+j,2)
    mu2 = c(6+j,7)
    u = runif(1, min = 0, max = 1)
    if(u < rho){
      X[(i - 1) * m + j,] = mvrnorm(1, mu = mu1, Sigma = Sigma)
    }else{
      X[(i - 1) * m + j,] = mvrnorm(1, mu = mu2, Sigma = Sigma)
    }
  }
}

plot(X[,1], X[,2], xlab = 'X1', ylab = 'X2')