用替换和聚类来置换矩阵的列

时间:2012-04-16 15:11:33

标签: r hierarchical-clustering

如何用R中的替换来置换矩阵的列?我发现了一个名为rmperm {sna}的函数,但它会置换列和行,而我只想置换列。

编辑: 我必须对矩阵进行1000次置换,然后进行层次聚类,以便在1000次随机化后得到最终的树。

非常感谢。

1 个答案:

答案 0 :(得分:1)

尝试sample()功能。

> m <- matrix(as.integer(runif(9,0,9)),ncol=3)
> m
     [,1] [,2] [,3]
[1,]    5    0    5
[2,]    6    0    0
[3,]    2    1    3
> permuted <- m[,sample(ncol(m), 10, replace=TRUE)]
> permuted
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]    5    0    5    5    5    5    0    5    5     5
[2,]    0    0    0    0    6    0    0    0    6     0
[3,]    3    1    3    3    2    3    1    3    2     3

sample()的第一个参数指定样本的范围(1:x),第二个参数指定要选择的项目数(size)和replace }参数指定我们是否要使用替换(如果大小&gt; x则需要)。