分配课程

时间:2019-02-04 20:50:50

标签: r classification lda

我需要生成具有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))

1 个答案:

答案 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)

Three classes