得到不明确的对

get pairs that are not explicit

我有这个示例数据框

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 个因子水平,当我这样做时我的机器崩溃了。还有其他解决方案吗?

这是一个快速 dplyr 答案:

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

如果您希望它排序,请添加:

%>% arrange(v1,v2)

此外,如果您的真实数据像本示例一样简单(没有其他列),您可以调用:

distinct(df)