我需要生成具有2个预测变量和3个类别的数据,其中每个类别的分布遵循正态分布,并具有自己的均值向量和所有类别的共同协方差矩阵。
我生成了数据。现在我不确定如何在R中分配3个不同的类。 我将不胜感激任何帮助。谢谢。
x1 = mvrnorm(50, mu = c(0, 0), Sigma = matrix(c(1, 0, 0, 3), 2))
x2 = mvrnorm(50, mu = c(3, 3), Sigma = matrix(c(4, 0, 0, 1), 2))
答案 0 :(得分:1)
您的代码看起来像一个起点,只是您生成的两组点具有不同协方差矩阵,尽管您的话说它们应该相同。这些词还说产生三个类。 x1中的点将位于1类中,x2中的点将位于2类中,依此类推。因此,您可以使用类似的东西。
library(MASS)
set.seed(123)
x1 = mvrnorm(50, mu = c(0, 0), Sigma = matrix(c(1, 0, 0, 3), 2))
x2 = mvrnorm(50, mu = c(3, 3), Sigma = matrix(c(1, 0, 0, 3), 2))
x3 = mvrnorm(50, mu = c(1, 6), Sigma = matrix(c(1, 0, 0, 3), 2))
DAT = rbind(x1,x2,x3)
Class = col=rep(2:4, each=50)
plot(DAT, pch=20, col=Class)