假设我们有两个类(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来完成这个任务吗?
我可以想象生成原始索引向量的所有排列,对每个置换对样例类执行splits,然后检查这个样本类的组合是否已经存在,如果没有更新排列列表,然后再进行下一个置换等等。我只是想看看是否有办法使用permute包或R中的另一个包函数来完成这个任务。
发布于 2012-10-01 14:38:15
找到答案了。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)https://stackoverflow.com/questions/12675163
复制相似问题