如何从R中的数据帧中获取唯一对?
我有这个数据框:如何从R中的数据帧中获取唯一对?,r,R,我有这个数据框: [,1] [,2] [1,] "CHC.AU.Equity" "SGP.AU.Equity" [2,] "CMA.AU.Equity" "SGP.AU.Equity" [3,] "AJA.AU.Equity" "AOG.AU.Equity" [4,] "AJA.AU.Equity" "GOZ.AU.Equity" [5,] "AJA.AU.Equity" "SCG.AU.Equity" [6,] "ABP.AU
[,1] [,2]
[1,] "CHC.AU.Equity" "SGP.AU.Equity"
[2,] "CMA.AU.Equity" "SGP.AU.Equity"
[3,] "AJA.AU.Equity" "AOG.AU.Equity"
[4,] "AJA.AU.Equity" "GOZ.AU.Equity"
[5,] "AJA.AU.Equity" "SCG.AU.Equity"
[6,] "ABP.AU.Equity" "AOG.AU.Equity"
[7,] "AOG.AU.Equity" "FET.AU.Equity"
[8,] "SGP.AU.Equity" "CHC.AU.Equity"
如何仅对唯一的对进行筛选?例如,在上述df中,第8行将与第1行“匹配”,并被排除在外。我正在尝试使用setequal(),但似乎无法使其正常工作。是否有“setunique”类型函数?我们可以尝试使用
apply
来循环行,对元素进行排序
,转置输出,应用duplicated
,对其求反以返回逻辑索引TRUE/FALSE(唯一和重复),并使用该索引对行进行子集划分
m1[!duplicated(t(apply(m1, 1, sort))),]
# [,1] [,2]
#[1,] "CHC.AU.Equity" "SGP.AU.Equity"
#[2,] "CMA.AU.Equity" "SGP.AU.Equity"
#[3,] "AJA.AU.Equity" "AOG.AU.Equity"
#[4,] "AJA.AU.Equity" "GOZ.AU.Equity"
#[5,] "AJA.AU.Equity" "SCG.AU.Equity"
#[6,] "ABP.AU.Equity" "AOG.AU.Equity"
#[7,] "AOG.AU.Equity" "FET.AU.Equity"
啊。太容易了。谢谢您是否尝试了
unique(dataFrame)
?据我所知,unique没有看到无序对之间的相等。似乎不排除“匹配”。事实上,它似乎对有序配对也不起作用“复制”似乎起到了作用。