R:在一列中提取唯一值,该列按另一列中的值分组

时间:2017-07-04 16:42:23

标签: r data.table

我以为我可以用data.table解决这个问题,但看起来有点困难。我的数据框看起来像这样:

data

输出应该如下所示:

userID1   A
userID1   A
userID1   B
userID2   A
userID2   A

基本上为每个唯一用户和项目出现创建一行。大多数示例都是关于计算唯一元素,而不是实际提取这些元素。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

这是一个应该得到这些结果的dplyr解决方案

library(dplyr)

df <- data.frame(user = c(rep("userID1",3), rep("userID2",2)), 
                 group = c("A","A","B","A","A"), 
                 stringsAsFactors = FALSE)


df <- df %>% 
      group_by(user, group) %>% 
      filter(row_number() == 1)