将功能向右移动不起作用
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')
我做了高斯混合模型,效果很好,但是函数没有右移。在图中它显示好像函数没有移动任何东西。我为 mu
:
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')