在类排列之间是唯一的

时间:2012-10-01 14:23:47

标签: r permutation

假设我们有2个类(A和B),每个类有2个样本,如下所示:

A A B B
1 2 3 4

我希望生成所有可能的唯一排列,其中新类组是旧类的混合,以计算新统计信息。在这种情况下,我们会得到:

A A B B
1 3 2 4
1 4 2 3

任何其他排列,当在A类和B类之间进行t检验(或ANOVA等)时,将得到与原始排序相同的结果,我不想要它。有没有一种简单的方法可以使用R

来完成此操作

我可以想象生成原始索引向量的所有排列,在每个排列的样本类上执行split,然后检查样本类的组合是否已经存在,如果没有更新排列列表,并进入下一个排列,依此类推等等。我只是想使用permute包或R中的其他包函数来检查是否有某种方法可以执行此操作。

1 个答案:

答案 0 :(得分:1)

找到答案。 partitions包有一些很棒的工具可用于处理这些类型的集合或分区

对于上面的示例,我们在两个分区中有两个项目,其中一个只是:

library(partitions)
listParts(c(2,2))

返回

listParts(c(2,2))
[[1]]
[1] (1,4)(2,3)

[[2]]
[1] (1,2)(3,4)

[[3]]
[1] (1,3)(2,4)