【发布时间】:2023-03-07 03:32:02
【问题描述】:
在以下数据框中,如果行具有重复的 Var1 和 Var2 对(1 4 和 4 1 被视为同一对),我只想保留一次。我想在行内对Var1 和Var2 进行排序,然后根据Var1 和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 和Var2 的重复行
我想得到这个结果:
Var1 Var2 f g
1 4 blue blue
2 3 green green
5 5 orange2 orange1
感谢您的帮助!
【问题讨论】:
标签: r