gpt4 book ai didi

r - 删除重复的组合(与顺序无关)

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

我有一个整数数据帧,它是所有n个子集的全部,选择1 ... n的3个组合。
例如,对于n = 5,它类似于:

      [,1] [,2] [,3]
[1,] 1 2 3
[2,] 1 2 4
[3,] 1 2 5
[4,] 1 3 4
[5,] 1 3 5
[6,] 1 4 5
[7,] 2 1 3
[8,] 2 1 4
[9,] 2 1 5
[10,] 2 3 4
[11,] 2 3 5
[12,] 2 4 5
[13,] 3 1 2
[14,] 3 1 4
[15,] 3 1 5
[16,] 3 2 4
[17,] 3 2 5
[18,] 3 4 5
[19,] 4 1 2
[20,] 4 1 3
[21,] 4 1 5
[22,] 4 2 3
[23,] 4 2 5
[24,] 4 3 5
[25,] 5 1 2
[26,] 5 1 3
[27,] 5 1 4
[28,] 5 2 3
[29,] 5 2 4
[30,] 5 3 4


我想做的是删除具有重复组合的所有行,而不考虑顺序。例如, [1,] 1 2 3[1,] 2 1 3相同,与 [1,] 3 1 2相同。

uniqueduplicated和&c。似乎没有考虑到这一点。另外,我正在处理大量数据(n为〜750),因此它应该是一个相当快的操作。是否有任何基本功能或软件包可以做到这一点?

最佳答案

只需先在行中排序。就像是:

> dat = matrix(scan('data.txt'), ncol=3, byrow=T)
Read 90 items
> dat.sort = t(apply(dat, 1, sort))
> dat[!duplicated(dat.sort),]
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 1 2 4
[3,] 1 2 5
[4,] 1 3 4
[5,] 1 3 5
[6,] 1 4 5
[7,] 2 3 4
[8,] 2 3 5
[9,] 2 4 5
[10,] 3 4 5

关于r - 删除重复的组合(与顺序无关),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9028369/

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