我正在尝试从一个数据框中删除包含任意两列组合的行。例如,下面的代码:
vct <- c("A", "B", "C")
a <- b <- vct
combo <- expand.grid(a,b) #generate all posible combinations
combo <- combo[!combo[,1] == combo[,2],] #removes rows with matching column
生成此数据帧:
Var1 Var2
2 B A
3 C A
4 A B
6 C B
7 A C
8 B C
我该如何删除任意两列的重复行,例如在已经存在#2 B A的情况下,将删除#4 A B?最终得到的数据框应该是这样的:
Var1 Var2
2 B A
3 C A
4 C B
combo %>% filter(!duplicated(str_c(pmin(Var1, Var2), pmax(Var1, Var2) )))
- akrunmin
,max
的返回值基于字母数字顺序。 - akrun