我拥有的数据是这样的:
RES1 <- c("A","B","A","A","B")
RES2 <- c("B","A","A","B","A")
VAL1 <-c(3,5,3,6,8)
VAL2 <- c(5,3,7,2,7)
dff <- data.frame(RES1,VAL1,RES2,VAL2)
dff
RES1 VAL1 RES2 VAL2
1 A 3 B 5
2 B 5 A 3
3 A 3 A 7
4 A 6 B 2
5 B 8 A 7
我想删除我已经拥有相同 res1-res2 对的行。例如:A 3 与 B 5 交互。这就是我想要的信息。我不在乎哪一对是第一个。B 5 和 A 3 或 A 3 和 B 5。我想要得到的是以下数据框:
output
RES1 VAL1 RES2 VAL2
1 A 3 B 5
2 A 3 A 7
3 A 6 B 2
4 B 8 A 7
然后我想对另一个数据框做同样的事情,例如:
RES3 <- c("B","B","B","A","B")
RES4 <- c("A","A","A","A","B")
VAL4 <- c(3,7,5,3,8)
VAL3 <- c(5,8,3,7,3)
df2 <- data.frame(RES3,VAL3,RES4,VAL4)
df2
RES3 VAL3 RES4 VAL4
1 B 5 A 3
2 B 8 A 7
3 B 3 A 5
4 A 7 A 3
5 B 3 B 8
最后,我只想保持相互对(在我的定义中,两对是相同的,保持一对是必不可少的:“A 5”-“B 3”与“B 3”-“A 5”相同。在换句话说,顺序无关紧要。
我希望的最终输出应该具有以下对,它们是唯一的并且存在于两个数据帧中:
mutualpairs
RESA VALA RESB VALB
A 3 B 5
A 3 A 7
B 8 A 7