1

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

编辑:我必须对矩阵进行 1000 次置换,然后进行层次聚类,这样我就有了 1000 次随机化后的最终树。

非常感谢。

4

1 回答 1

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参数指定我们是否要使用替换(如果 size > x 则需要)。

于 2012-04-16T15:20:55.817 回答