我有这个示例数据框
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个因子级别,当我这样做时我的机器崩溃了。还有其他解决方案吗?
答案 0 :(得分:1)
这是一个快速的dplyr
答案:
df %>% group_by(v1) %>%
distinct(v2)
如果您想对其进行排序,请添加:
%>% arrange(v1,v2)
此外,如果您的真实数据与此示例一样简单(没有其他列),您只需调用:
distinct(df)