gpt4 book ai didi

r - 如何用R计算组标签的排列?

转载 作者:行者123 更新时间:2023-12-03 23:07:40 24 4
gpt4 key购买 nike

给定一个向量,例如:

labels <- c(1,2,3,3,3)

如何获得所有可能的重新标记?对于这个例子:

1,2,3,3,3
1,3,2,2,2
2,1,3,3,3
2,3,1,1,1
3,1,2,2,2
3,2,1,1,1

我一直在查看 permute 包,但我不知道如何将其应用到这种情况。

最佳答案

这个解决方案怎么样

labels <- c(1,2,3,3,3)
library(data.table)
a <- do.call(cbind, combinat::permn(unique(labels)))
data.table(a)[,lapply(.SD, function(x)x[labels]),]
# V1 V2 V3 V4 V5 V6
#1: 1 1 3 3 2 2
#2: 2 3 1 2 3 1
#3: 3 2 2 1 1 3
#4: 3 2 2 1 1 3
#5: 3 2 2 1 1 3

或者,只是

apply(a, 2, function(x) x[labels])
# [,1] [,2] [,3] [,4] [,5] [,6]
#[1,] 1 1 3 3 2 2
#[2,] 2 3 1 2 3 1
#[3,] 3 2 2 1 1 3
#[4,] 3 2 2 1 1 3
#[5,] 3 2 2 1 1 3

关于r - 如何用R计算组标签的排列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29653503/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com