我有一个data.frame
,其中包含两个变量id.x
和id.y
,它们的组合唯一标识每一行但在数据集中重复多次。
我想dplyr
使用group_by
id.x
,以便每个id.x
与不同的id.y
匹配。
修改已修改的示例以突出显示unique
id.x.
和id.y
一个例子:
id.x id.y
a o
a p
a q
c o
c p
c q
会回来:
id.x id.y
a o
c q
输入例如:
structure(list(id.x = structure(c(1L, 1L, 1L, 2L, 2L, 2L), .Label = c("a",
"c"), class = "factor"), id.y = structure(c(1L, 2L, 3L, 1L, 2L,
3L), .Label = c("o", "p", "q"), class = "factor")), .Names = c("id.x",
"id.y"), row.names = c(NA, -6L), class = "data.frame")
编辑如果我可以在不使用group_by
或distinct
的情况下完成我想要的结果,那也很好!我也使用data.table
,data.table
解决方案就可以了。
答案 0 :(得分:1)
使用dplyr
df %>% filter(dense_rank(id.x)==dense_rank(id.y))
返回
id.x id.y
1 a o
2 c p