得到不明确的对

时间:2015-06-26 13:12:20

标签: r dataframe dplyr

我有这个示例数据框

df <- data.frame(v1= factor(sample(x = c("y", "n"), size = 100, replace = T)), 
                 v2= factor(sample(x = c("a", "b", "c"), size = 100, replace = T)))

我现在想要唯一对(v1,v2)来查看v1中的值在v2中可以采用的级别。 我这个简单的解决方案就是

unique(expand.grid(df))   #maybe add sort

但是我的data.frame很庞大并且有超过1000个因子级别,当我这样做时我的机器崩溃了。还有其他解决方案吗?

1 个答案:

答案 0 :(得分:1)

这是一个快速的dplyr答案:

df %>% group_by(v1) %>%
       distinct(v2)

如果您想对其进行排序,请添加:

%>% arrange(v1,v2)

此外,如果您的真实数据与此示例一样简单(没有其他列),您只需调用:

distinct(df)