如何将每个观察值随机分配给两个标签之一

时间:2015-05-14 10:08:51

标签: r sample

我在R中有一个数据矩阵如下:

     [,1] [,2]
[1,]    1    4
[2,]    1    3
[3,]    0    4
[4,]    5    1
[5,]    6    2
[6,]    4    0

现在我想将每个观察值随机分配给1或0个簇。基本上我正在尝试做Kmeans,在此之前我想将每个观察初始化为某个集群。

我想在R中使用样本函数。但我不确定样本会如何给出这个。样本函数是从集合中获取样本。

有人可以指导吗?

1 个答案:

答案 0 :(得分:2)

您可以按以下方式使用样本生成0或1的随机序列:

sample(c(0,1), size = nrow(data), replace = TRUE)

要将此添加到您的矩阵,您可以使用cbind(),所以这样的事情可能会做你想做的事情:

data = matrix(data = 1:6, ncol = 2, nrow = 6)
newData = cbind(data, sample(c(0,1), size = nrow(data), replace = TRUE))