不同类别之间的排列唯一性

3

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

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来实现这一点?
我可以想象生成原始索引向量的所有排列,对每个排列中的样本类别进行拆分,然后检查该样本类别组合是否已经存在,如果不存在,则更新排列列表并继续下一个排列,以此类推。我只是想确认是否有一种使用permute包或R中的另一个包函数来实现这一点的方法。
1个回答

2

找到答案了。 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)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接