r - 结合group_by和distinct

标签 r dplyr

我有一个 data.frame ,其中包含两个变量 id.xid.y,它们的组合唯一标识每一行,但重复多次数据集中的时间。

我想使用dplyrgroup_byid.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

dput 例如:

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_bydistinct的情况下实现,那也很好!我还使用 data.table,并且 data.table 解决方案就可以了。

最佳答案

使用dplyr

df %>% filter(dense_rank(id.x)==dense_rank(id.y))

返回

  id.x id.y
1    a    o
2    c    p

关于r - 结合group_by和distinct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30787035/

相关文章:

r - 在 R dplyr 中按计数展开列

r - R 中地理引用变量的累积和

r - 使用 ggplot 在 MDS 上绘制向量

r - 总结已知分组中的行和列

r - 如何在 R 中构建一次汇总多个值的表

r - 根据另一个数据集的值和标题创建一个新列

r - 如何在R中仅打印4位数字而不是科学计数法的p值?

r - sub 和 gsub 函数?

r - 如何根据多种条件对数据表进行子集化

r - 递归函数在 R 中的 dplyr 上下文中的应用