如何用 R 中的替换置换矩阵的列?我找到了一个名为 rmperm {sna} 的函数,但它同时置换了列和行,而我只想置换我的列。
编辑:我必须对矩阵进行 1000 次置换,然后进行层次聚类,这样我就有了 1000 次随机化后的最终树。
非常感谢。
如何用 R 中的替换置换矩阵的列?我找到了一个名为 rmperm {sna} 的函数,但它同时置换了列和行,而我只想置换我的列。
编辑:我必须对矩阵进行 1000 次置换,然后进行层次聚类,这样我就有了 1000 次随机化后的最终树。
非常感谢。
试试这个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 则需要)。