【发布时间】:2015-09-13 19:38:51
【问题描述】:
我有两个向量,一个用于协方差,一个用于方差。我希望对这两个向量进行排列测试,但我想复制两个向量的随机化。所以说我的协方差向量Cov 由
Cov <- c(1, 2, 3, 4, 5, 6, 7, 8)
我的方差向量 Var 由
Var <- c(20, 25, 30, 35, 40, 45, 50, 55)
我可以使用以下方法为 Cov 做 1000 次排列:
P1000C <-c()
for (i in 1:1000){
perm <- sample(Cov, replace=F)
P1000C <- rbind(P1000C, perm)
}
rownames(P1000C) <- paste("Perm", 1:1000, sep = " ")
这将为我提供矩阵P1000,具有 1000 个随机排列,如下所示:
Perm 1 7 1 6 4 8 2 5 3
Perm 2 8 6 3 7 4 2 5 1
Perm 3 8 6 4 7 3 5 2 1
...
Perm 1000 5 7 2 6 4 1 8 3
现在我的问题是我想为Var 创建一个排列矩阵,它以与P1000C 完全相同的顺序给出 1000 个排列。我将把这个矩阵称为P1000V,我希望它看起来像这样:
Perm 1 50 20 45 35 55 25 40 30
Perm 2 55 45 30 50 35 25 40 20
Perm 3 55 45 35 50 30 40 25 20
...
Perm 1000 40 50 25 45 35 20 55 30
所以P1000V 中的所有排列将与P1000C.中的排列顺序相同。有没有办法“模仿”R 中的排列?
【问题讨论】:
-
您不会通过明确并存储使用的置换矩阵而不是调用对您隐藏它的示例函数来实现吗?一些[文档](stat.ethz.ch/R-manual/R-devel/library/Matrix/html/…关于我的想法....
标签: r permutation