在下面的数据框中,如果行有重复对(1 4 和 4 1 被认为是同一对),我只想保留一次Var1
and Var2
。我想到了排序Var1
and Var2
行内,然后根据两者删除重复行Var1
and Var2
。但是,我没有达到我想要的结果。
这是我的数据的样子:
Var1 <- c(1,2,3,4,5,5)
Var2 <- c(4,3,2,1,5,5)
f <- c("blue","green","yellow","red","orange2","grey")
g <- c("blue","green","yellow","red","orange1","grey")
testdata <- data.frame(Var1,Var2,f,g)
我可以在行内排序,但是 f 和 g 列的值应保持不变,我该如何执行此操作?
testdata <- t(apply(testdata, 1, function(x) x[order(x)]))
testdata <- as.data.table(testdata)
然后,我想根据删除重复行Var1
and Var2
我想得到这样的结果:
Var1 Var2 f g
1 4 blue blue
2 3 green green
5 5 orange2 orange1
感谢您的帮助!